All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::parsePkgHeader
      Src: /src/pldm_package_parser_fuzzer.cc:31,1
    - Dst: auto::parse
      Src: /src/pldm_package_parser_fuzzer.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 44
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/pldm_package_parser_fuzzer.cc
    functionUses: 0
    functionsReached:
    - auto::parse
    - pldm::fw_update::parsePkgHeader
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: lg2::error
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: lg2::info
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void info(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: lg2::warning
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warning(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: lg2::debug
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: lg2::error
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: lg2::info
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void info(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: lg2::warning
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void warning(const char*, Args&&...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: lg2::debug
    functionSourceFile: /src/pldm_shims/phosphor-logging/lg2.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug(const char*, Args&&...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm_shims/common/utils.hpp:46,1
    - Dst: std::replace_if
      Src: /src/pldm_shims/common/utils.hpp:55,1
    - Dst: std::string::begin
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::string::end
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::isprint
      Src: /src/pldm_shims/common/utils.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm_shims/common/utils.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - std::isprint
    - std::replace_if
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm_shims/common/utils.hpp:46,1
    - Dst: std::replace_if
      Src: /src/pldm_shims/common/utils.hpp:55,1
    - Dst: std::string::begin
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::string::end
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::isprint
      Src: /src/pldm_shims/common/utils.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm_shims/common/utils.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - std::isprint
    - std::replace_if
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm_shims/common/utils.hpp:46,1
    - Dst: std::replace_if
      Src: /src/pldm_shims/common/utils.hpp:55,1
    - Dst: std::string::begin
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::string::end
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::isprint
      Src: /src/pldm_shims/common/utils.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm_shims/common/utils.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - std::isprint
    - std::replace_if
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm_shims/common/utils.hpp:46,1
    - Dst: std::replace_if
      Src: /src/pldm_shims/common/utils.hpp:55,1
    - Dst: std::string::begin
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::string::end
      Src: /src/pldm_shims/common/utils.hpp:56,1
    - Dst: std::isprint
      Src: /src/pldm_shims/common/utils.hpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm_shims/common/utils.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - std::isprint
    - std::replace_if
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
    functionSourceFile: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const OemAMPERE&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(const OemAMPERE&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(OemAMPERE&&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<oem_ampere::OemEventManager>
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:54,1
    - Dst: pldm::oem_ampere::OemAMPERE::createOemEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    - Dst: get
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' instanceIdDb'
    - ' event'
    - platformHandler
    - platformManager
    - reqHandler
    argTypes:
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::platform::Handler*
    - platform_mc::Manager*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<oem_ampere::OemEventManager>
    - pldm::oem_ampere::OemAMPERE::createOemEventHandler
    - get
    linkageType: ''
    returnType: void
    signature: "void OemAMPERE(\n        pldm::InstanceIdDb& instanceIdDb, sdeventplus::Event&
      event,\n        responder::platform::Handler* platformHandler,\n        platform_mc::Manager*
      platformManager,\n        pldm::requester::Handler<pldm::requester::Request>*
      reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:69,1
    - Dst: oem_ampere::OemEventManager*::handleSensorEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:74,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:80,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:84,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:87,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:91,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:99,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:104,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:109,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:113,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:118,1
    - Dst: oem_ampere::OemEventManager*::handlepldmMessagePollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:123,1
    - Dst: platform_mc::Manager*::registerOEMPollMethod
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:129,1
    - Dst: oem_ampere::OemEventManager*::oemPollForPlatformEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - oemEventManager
    - platformManager
    argTypes:
    - oem_ampere::OemEventManager*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 133
    functionName: pldm::oem_ampere::OemAMPERE::createOemEventHandler
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 1
    functionsReached:
    - oem_ampere::OemEventManager*::handlepldmMessagePollEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - platform_mc::Manager*::registerOEMPollMethod
    - oem_ampere::OemEventManager*::handleSensorEvent
    - platform_mc::Manager*::handlePolledCperEvent
    - oem_ampere::OemEventManager*::oemPollForPlatformEvent
    - oem_ampere::OemEventManager*::processOemMsgPollEvent
    - registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(oem_ampere::OemEventManager* oemEventManager,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const OemAMPERE&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(const OemAMPERE&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(OemAMPERE&&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<oem_ampere::OemEventManager>
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:54,1
    - Dst: pldm::oem_ampere::OemAMPERE::createOemEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    - Dst: get
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' instanceIdDb'
    - ' event'
    - platformHandler
    - platformManager
    - reqHandler
    argTypes:
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::platform::Handler*
    - platform_mc::Manager*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<oem_ampere::OemEventManager>
    - pldm::oem_ampere::OemAMPERE::createOemEventHandler
    - get
    linkageType: ''
    returnType: void
    signature: "void OemAMPERE(\n        pldm::InstanceIdDb& instanceIdDb, sdeventplus::Event&
      event,\n        responder::platform::Handler* platformHandler,\n        platform_mc::Manager*
      platformManager,\n        pldm::requester::Handler<pldm::requester::Request>*
      reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:69,1
    - Dst: oem_ampere::OemEventManager*::handleSensorEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:74,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:80,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:84,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:87,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:91,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:99,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:104,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:109,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:113,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:118,1
    - Dst: oem_ampere::OemEventManager*::handlepldmMessagePollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:123,1
    - Dst: platform_mc::Manager*::registerOEMPollMethod
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:129,1
    - Dst: oem_ampere::OemEventManager*::oemPollForPlatformEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - oemEventManager
    - platformManager
    argTypes:
    - oem_ampere::OemEventManager*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 133
    functionName: pldm::oem_ampere::OemAMPERE::createOemEventHandler
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 2
    functionsReached:
    - oem_ampere::OemEventManager*::handlepldmMessagePollEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - platform_mc::Manager*::registerOEMPollMethod
    - oem_ampere::OemEventManager*::handleSensorEvent
    - platform_mc::Manager*::handlePolledCperEvent
    - oem_ampere::OemEventManager*::oemPollForPlatformEvent
    - oem_ampere::OemEventManager*::processOemMsgPollEvent
    - registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(oem_ampere::OemEventManager* oemEventManager,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const OemAMPERE&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(const OemAMPERE&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(OemAMPERE&&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<oem_ampere::OemEventManager>
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:54,1
    - Dst: pldm::oem_ampere::OemAMPERE::createOemEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    - Dst: get
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' instanceIdDb'
    - ' event'
    - platformHandler
    - platformManager
    - reqHandler
    argTypes:
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::platform::Handler*
    - platform_mc::Manager*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<oem_ampere::OemEventManager>
    - pldm::oem_ampere::OemAMPERE::createOemEventHandler
    - get
    linkageType: ''
    returnType: void
    signature: "void OemAMPERE(\n        pldm::InstanceIdDb& instanceIdDb, sdeventplus::Event&
      event,\n        responder::platform::Handler* platformHandler,\n        platform_mc::Manager*
      platformManager,\n        pldm::requester::Handler<pldm::requester::Request>*
      reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:69,1
    - Dst: oem_ampere::OemEventManager*::handleSensorEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:74,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:80,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:84,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:87,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:91,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:99,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:104,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:109,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:113,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:118,1
    - Dst: oem_ampere::OemEventManager*::handlepldmMessagePollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:123,1
    - Dst: platform_mc::Manager*::registerOEMPollMethod
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:129,1
    - Dst: oem_ampere::OemEventManager*::oemPollForPlatformEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - oemEventManager
    - platformManager
    argTypes:
    - oem_ampere::OemEventManager*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 133
    functionName: pldm::oem_ampere::OemAMPERE::createOemEventHandler
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 3
    functionsReached:
    - oem_ampere::OemEventManager*::handlepldmMessagePollEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - platform_mc::Manager*::registerOEMPollMethod
    - oem_ampere::OemEventManager*::handleSensorEvent
    - platform_mc::Manager*::handlePolledCperEvent
    - oem_ampere::OemEventManager*::oemPollForPlatformEvent
    - oem_ampere::OemEventManager*::processOemMsgPollEvent
    - registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(oem_ampere::OemEventManager* oemEventManager,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const OemAMPERE&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(const OemAMPERE&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemAMPERE(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(OemAMPERE&&)'
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemAMPERE
    signature: OemAMPERE & operator=(OemAMPERE&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<oem_ampere::OemEventManager>
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:54,1
    - Dst: pldm::oem_ampere::OemAMPERE::createOemEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    - Dst: get
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' instanceIdDb'
    - ' event'
    - platformHandler
    - platformManager
    - reqHandler
    argTypes:
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::platform::Handler*
    - platform_mc::Manager*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::oem_ampere::OemAMPERE::OemAMPERE
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<oem_ampere::OemEventManager>
    - pldm::oem_ampere::OemAMPERE::createOemEventHandler
    - get
    linkageType: ''
    returnType: void
    signature: "void OemAMPERE(\n        pldm::InstanceIdDb& instanceIdDb, sdeventplus::Event&
      event,\n        responder::platform::Handler* platformHandler,\n        platform_mc::Manager*
      platformManager,\n        pldm::requester::Handler<pldm::requester::Request>*
      reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:69,1
    - Dst: oem_ampere::OemEventManager*::handleSensorEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:74,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:80,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:84,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:87,1
    - Dst: oem_ampere::OemEventManager*::processOemMsgPollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:91,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:99,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:104,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:109,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:113,1
    - Dst: registerEventHandlers
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:118,1
    - Dst: oem_ampere::OemEventManager*::handlepldmMessagePollEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:123,1
    - Dst: platform_mc::Manager*::registerOEMPollMethod
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:129,1
    - Dst: oem_ampere::OemEventManager*::oemPollForPlatformEvent
      Src: /src/pldm/oem/ampere/oem_ampere.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - oemEventManager
    - platformManager
    argTypes:
    - oem_ampere::OemEventManager*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 133
    functionName: pldm::oem_ampere::OemAMPERE::createOemEventHandler
    functionSourceFile: /src/pldm/oem/ampere/oem_ampere.hpp
    functionUses: 4
    functionsReached:
    - oem_ampere::OemEventManager*::handlepldmMessagePollEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - platform_mc::Manager*::registerOEMPollMethod
    - oem_ampere::OemEventManager*::handleSensorEvent
    - platform_mc::Manager*::handlePolledCperEvent
    - oem_ampere::OemEventManager*::oemPollForPlatformEvent
    - oem_ampere::OemEventManager*::processOemMsgPollEvent
    - registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(oem_ampere::OemEventManager* oemEventManager,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:214,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:216,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:223,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tid
    - sensorId
    argTypes:
    - pldm_tid_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - contains
    linkageType: ''
    returnType: std::string
    signature: "std::string OemEventManager::prefixMsgStrCreation(pldm_tid_t tid,\n
      \                                                 uint16_t sensorId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:239,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: ReportedEventSEL::ReportedSELInfo
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: ReportedErrorSEL::ReportedSELWarning
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: ReportedErrorSEL::ReportedSELCritical
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:259,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' source'
    - ' description'
    - ' logLevel'
    argTypes:
    - std::string
    - std::string
    - log_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 269
    functionName: pldm::oem_ampere::OemEventManager::sendJournalRedfish
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - ReportedEventSEL::ReportedSELInfo
    - ReportedErrorSEL::ReportedSELCritical
    - ReportedErrorSEL::ReportedSELWarning
    - pldm::responder::oem_meta::record::commit
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::sendJournalRedfish(const std::string& source,\n
      \                                        const std::string& description,\n                                         log_level&
      logLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:274,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:276,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimmIdxs
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pldm::oem_ampere::OemEventManager::dimmIdxsToString
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - std::to_string
    - std::views::iota
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmIdxsToString(uint32_t dimmIdxs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t OemEventManager::sensorIdToDIMMIdx(const uint16_t& sensorId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:312,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:320,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:341,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:347,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:373,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:375,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:376,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:379,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:382,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 389
    functionName: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::stringstream::str
    - std::setfill
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleBootOverallEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:399,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:404,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:411,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:413,1
    - Dst: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:420,1
    - Dst: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:423,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:426,1
    - Dst: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:437,1
    - Dst: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:440,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:447,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:448,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:450,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:451,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:452,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:453,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:454,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:455,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 460
    functionName: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::setfill
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    - std::setw
    - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    - static_cast<uint32_t>
    - decode_numeric_sensor_data
    - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    - lg2::error
    - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processNumericSensorEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_state_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:471,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:475,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:482,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:484,1
    - Dst: auto::size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:489,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:491,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:492,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:493,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:495,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:496,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:497,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:500,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:506,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:507,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:510,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:517,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:520,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:526,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:527,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:529,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:530,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:532,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 538
    functionName: pldm::oem_ampere::OemEventManager::processStateSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::get<0>
    - std::setfill
    - decode_state_sensor_data
    - contains
    - auto::contains
    - std::setw
    - std::get<1>
    - auto::size
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processStateSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             const uint8_t* sensorData,\n
      \                                            size_t sensorDataLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_sensor_op_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:547,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:551,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:561,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:562,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:564,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:565,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - decode_sensor_op_data
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processSensorOpStateEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:577,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:582,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:589,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:593,1
    - Dst: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:604,1
    - Dst: pldm::oem_ampere::OemEventManager::processStateSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:609,1
    - Dst: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:614,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:622,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:623,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:624,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:625,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:631,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 640
    functionName: pldm::oem_ampere::OemEventManager::handleSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    - reinterpret_cast<const uint8_t*>
    - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    - std::stringstream::str
    - std::views::iota
    - std::setfill
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::processStateSensorEvent
    - lg2::error
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - decode_sensor_event_data
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleSensorEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:655,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:658,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:660,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:661,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:667,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 671
    functionName: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handlePCIeHotPlugEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:678,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:682,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:685,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:688,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:702,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:703,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - failureInfo
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - contains
    - std::get<0>
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmTrainingFailureToMsg(uint32_t failureInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:730,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:733,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:739,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:741,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:753,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:758,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:797,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:803,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 804
    functionName: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    - size
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDIMMStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:815,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:818,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:831,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:836,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 841
    functionName: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDDRStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:851,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:879,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:880,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:881,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:882,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:883,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:884,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:885,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:887,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 891
    functionName: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleVRDStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:900,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 917
    functionName: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleNumericWatchdogEvent(\n    pldm_tid_t
      tid, uint16_t sensorId, uint32_t presentReading)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeCperRecord
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:925,1
    - Dst: addCperSELLog
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:927,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:932,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:937,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:939,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:942,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:944,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 953
    functionName: pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - addCperSELLog
    - decodeCperRecord
    - call_noreply
    - lg2::error
    - auto::append
    - new_method_call
    - lg2::info
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMsgPollEvent(pldm_tid_t tid, uint16_t
      eventId,\n                                            const uint8_t* eventData,\n
      \                                           size_t eventDataSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:960,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:966,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:970,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:974,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:981,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:988,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1000
    functionName: pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - contains
    - decode_pldm_message_poll_event_data
    - pldm::utils::DBusHandler
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handlepldmMessagePollEvent(\n    const pldm_msg*
      request, size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t
      tid, size_t eventDataOffset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1007,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1012,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: emplace
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1029
    functionName: pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - get
    - pollForPlatformEvent
    - sd_event_now
    - contains
    - std::make_pair
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> OemEventManager::oemPollForPlatformEvent(pldm_tid_t
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:214,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:216,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:223,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tid
    - sensorId
    argTypes:
    - pldm_tid_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 10
    functionsReached:
    - std::to_string
    - contains
    linkageType: ''
    returnType: std::string
    signature: "std::string OemEventManager::prefixMsgStrCreation(pldm_tid_t tid,\n
      \                                                 uint16_t sensorId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:239,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: ReportedEventSEL::ReportedSELInfo
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: ReportedErrorSEL::ReportedSELWarning
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: ReportedErrorSEL::ReportedSELCritical
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:259,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' source'
    - ' description'
    - ' logLevel'
    argTypes:
    - std::string
    - std::string
    - log_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 269
    functionName: pldm::oem_ampere::OemEventManager::sendJournalRedfish
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 7
    functionsReached:
    - empty
    - ReportedEventSEL::ReportedSELInfo
    - ReportedErrorSEL::ReportedSELCritical
    - ReportedErrorSEL::ReportedSELWarning
    - pldm::responder::oem_meta::record::commit
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::sendJournalRedfish(const std::string& source,\n
      \                                        const std::string& description,\n                                         log_level&
      logLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:274,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:276,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimmIdxs
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pldm::oem_ampere::OemEventManager::dimmIdxsToString
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    - std::to_string
    - std::views::iota
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmIdxsToString(uint32_t dimmIdxs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t OemEventManager::sensorIdToDIMMIdx(const uint16_t& sensorId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:312,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:320,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:341,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:347,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:373,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:375,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:376,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:379,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:382,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 389
    functionName: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::stringstream::str
    - std::setfill
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleBootOverallEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:399,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:404,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:411,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:413,1
    - Dst: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:420,1
    - Dst: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:423,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:426,1
    - Dst: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:437,1
    - Dst: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:440,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:447,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:448,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:450,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:451,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:452,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:453,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:454,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:455,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 460
    functionName: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::setfill
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    - std::setw
    - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    - static_cast<uint32_t>
    - decode_numeric_sensor_data
    - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    - lg2::error
    - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processNumericSensorEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_state_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:471,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:475,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:482,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:484,1
    - Dst: auto::size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:489,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:491,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:492,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:493,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:495,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:496,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:497,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:500,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:506,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:507,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:510,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:517,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:520,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:526,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:527,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:529,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:530,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:532,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 538
    functionName: pldm::oem_ampere::OemEventManager::processStateSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::get<0>
    - std::setfill
    - decode_state_sensor_data
    - contains
    - auto::contains
    - std::setw
    - std::get<1>
    - auto::size
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processStateSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             const uint8_t* sensorData,\n
      \                                            size_t sensorDataLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_sensor_op_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:547,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:551,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:561,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:562,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:564,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:565,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - decode_sensor_op_data
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processSensorOpStateEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:577,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:582,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:589,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:593,1
    - Dst: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:604,1
    - Dst: pldm::oem_ampere::OemEventManager::processStateSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:609,1
    - Dst: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:614,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:622,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:623,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:624,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:625,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:631,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 640
    functionName: pldm::oem_ampere::OemEventManager::handleSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    - reinterpret_cast<const uint8_t*>
    - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    - std::stringstream::str
    - std::views::iota
    - std::setfill
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::processStateSensorEvent
    - lg2::error
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - decode_sensor_event_data
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleSensorEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:655,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:658,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:660,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:661,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:667,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 671
    functionName: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handlePCIeHotPlugEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:678,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:682,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:685,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:688,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:702,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:703,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - failureInfo
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - contains
    - std::get<0>
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmTrainingFailureToMsg(uint32_t failureInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:730,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:733,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:739,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:741,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:753,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:758,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:797,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:803,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 804
    functionName: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    - size
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDIMMStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:815,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:818,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:831,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:836,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 841
    functionName: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDDRStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:851,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:879,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:880,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:881,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:882,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:883,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:884,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:885,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:887,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 891
    functionName: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleVRDStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:900,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 917
    functionName: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleNumericWatchdogEvent(\n    pldm_tid_t
      tid, uint16_t sensorId, uint32_t presentReading)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeCperRecord
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:925,1
    - Dst: addCperSELLog
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:927,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:932,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:937,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:939,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:942,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:944,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 953
    functionName: pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - addCperSELLog
    - decodeCperRecord
    - call_noreply
    - lg2::error
    - auto::append
    - new_method_call
    - lg2::info
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMsgPollEvent(pldm_tid_t tid, uint16_t
      eventId,\n                                            const uint8_t* eventData,\n
      \                                           size_t eventDataSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:960,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:966,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:970,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:974,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:981,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:988,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1000
    functionName: pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - contains
    - decode_pldm_message_poll_event_data
    - pldm::utils::DBusHandler
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handlepldmMessagePollEvent(\n    const pldm_msg*
      request, size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t
      tid, size_t eventDataOffset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1007,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1012,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: emplace
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1029
    functionName: pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - get
    - pollForPlatformEvent
    - sd_event_now
    - contains
    - std::make_pair
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> OemEventManager::oemPollForPlatformEvent(pldm_tid_t
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:214,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:216,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:223,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tid
    - sensorId
    argTypes:
    - pldm_tid_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 20
    functionsReached:
    - std::to_string
    - contains
    linkageType: ''
    returnType: std::string
    signature: "std::string OemEventManager::prefixMsgStrCreation(pldm_tid_t tid,\n
      \                                                 uint16_t sensorId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:239,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: ReportedEventSEL::ReportedSELInfo
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: ReportedErrorSEL::ReportedSELWarning
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: ReportedErrorSEL::ReportedSELCritical
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:259,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' source'
    - ' description'
    - ' logLevel'
    argTypes:
    - std::string
    - std::string
    - log_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 269
    functionName: pldm::oem_ampere::OemEventManager::sendJournalRedfish
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 14
    functionsReached:
    - empty
    - ReportedEventSEL::ReportedSELInfo
    - ReportedErrorSEL::ReportedSELCritical
    - ReportedErrorSEL::ReportedSELWarning
    - pldm::responder::oem_meta::record::commit
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::sendJournalRedfish(const std::string& source,\n
      \                                        const std::string& description,\n                                         log_level&
      logLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:274,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:276,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimmIdxs
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pldm::oem_ampere::OemEventManager::dimmIdxsToString
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint32_t>
    - std::to_string
    - std::views::iota
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmIdxsToString(uint32_t dimmIdxs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t OemEventManager::sensorIdToDIMMIdx(const uint16_t& sensorId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:312,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:320,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:341,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:347,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:373,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:375,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:376,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:379,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:382,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 389
    functionName: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::stringstream::str
    - std::setfill
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleBootOverallEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:399,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:404,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:411,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:413,1
    - Dst: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:420,1
    - Dst: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:423,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:426,1
    - Dst: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:437,1
    - Dst: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:440,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:447,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:448,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:450,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:451,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:452,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:453,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:454,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:455,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 460
    functionName: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::setfill
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    - std::setw
    - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    - static_cast<uint32_t>
    - decode_numeric_sensor_data
    - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    - lg2::error
    - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processNumericSensorEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_state_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:471,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:475,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:482,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:484,1
    - Dst: auto::size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:489,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:491,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:492,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:493,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:495,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:496,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:497,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:500,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:506,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:507,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:510,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:517,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:520,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:526,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:527,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:529,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:530,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:532,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 538
    functionName: pldm::oem_ampere::OemEventManager::processStateSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::get<0>
    - std::setfill
    - decode_state_sensor_data
    - contains
    - auto::contains
    - std::setw
    - std::get<1>
    - auto::size
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processStateSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             const uint8_t* sensorData,\n
      \                                            size_t sensorDataLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_sensor_op_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:547,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:551,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:561,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:562,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:564,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:565,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - decode_sensor_op_data
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processSensorOpStateEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:577,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:582,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:589,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:593,1
    - Dst: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:604,1
    - Dst: pldm::oem_ampere::OemEventManager::processStateSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:609,1
    - Dst: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:614,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:622,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:623,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:624,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:625,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:631,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 640
    functionName: pldm::oem_ampere::OemEventManager::handleSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    - reinterpret_cast<const uint8_t*>
    - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    - std::stringstream::str
    - std::views::iota
    - std::setfill
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::processStateSensorEvent
    - lg2::error
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - decode_sensor_event_data
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleSensorEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:655,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:658,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:660,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:661,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:667,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 671
    functionName: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handlePCIeHotPlugEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:678,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:682,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:685,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:688,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:702,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:703,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - failureInfo
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - contains
    - std::get<0>
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmTrainingFailureToMsg(uint32_t failureInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:730,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:733,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:739,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:741,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:753,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:758,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:797,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:803,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 804
    functionName: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    - size
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDIMMStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:815,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:818,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:831,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:836,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 841
    functionName: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDDRStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:851,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:879,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:880,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:881,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:882,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:883,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:884,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:885,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:887,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 891
    functionName: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleVRDStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:900,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 917
    functionName: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleNumericWatchdogEvent(\n    pldm_tid_t
      tid, uint16_t sensorId, uint32_t presentReading)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeCperRecord
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:925,1
    - Dst: addCperSELLog
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:927,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:932,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:937,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:939,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:942,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:944,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 953
    functionName: pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - addCperSELLog
    - decodeCperRecord
    - call_noreply
    - lg2::error
    - auto::append
    - new_method_call
    - lg2::info
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMsgPollEvent(pldm_tid_t tid, uint16_t
      eventId,\n                                            const uint8_t* eventData,\n
      \                                           size_t eventDataSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:960,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:966,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:970,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:974,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:981,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:988,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1000
    functionName: pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - contains
    - decode_pldm_message_poll_event_data
    - pldm::utils::DBusHandler
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handlepldmMessagePollEvent(\n    const pldm_msg*
      request, size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t
      tid, size_t eventDataOffset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1007,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1012,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: emplace
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1029
    functionName: pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - get
    - pollForPlatformEvent
    - sd_event_now
    - contains
    - std::make_pair
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> OemEventManager::oemPollForPlatformEvent(pldm_tid_t
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:214,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:216,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:223,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tid
    - sensorId
    argTypes:
    - pldm_tid_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 30
    functionsReached:
    - std::to_string
    - contains
    linkageType: ''
    returnType: std::string
    signature: "std::string OemEventManager::prefixMsgStrCreation(pldm_tid_t tid,\n
      \                                                 uint16_t sensorId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:239,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: ReportedEventSEL::ReportedSELInfo
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:247,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: ReportedErrorSEL::ReportedSELWarning
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:251,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: ReportedErrorSEL::ReportedSELCritical
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:255,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:259,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ' source'
    - ' description'
    - ' logLevel'
    argTypes:
    - std::string
    - std::string
    - log_level
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 269
    functionName: pldm::oem_ampere::OemEventManager::sendJournalRedfish
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 21
    functionsReached:
    - empty
    - ReportedEventSEL::ReportedSELInfo
    - ReportedErrorSEL::ReportedSELCritical
    - ReportedErrorSEL::ReportedSELWarning
    - pldm::responder::oem_meta::record::commit
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::sendJournalRedfish(const std::string& source,\n
      \                                        const std::string& description,\n                                         log_level&
      logLevel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:274,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:276,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dimmIdxs
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pldm::oem_ampere::OemEventManager::dimmIdxsToString
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint32_t>
    - std::to_string
    - std::views::iota
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmIdxsToString(uint32_t dimmIdxs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t OemEventManager::sensorIdToDIMMIdx(const uint16_t& sensorId)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:312,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:320,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:341,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:347,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:373,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:374,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:375,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:376,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:377,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:379,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:382,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 389
    functionName: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::stringstream::str
    - std::setfill
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleBootOverallEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:399,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:404,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:411,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:413,1
    - Dst: pldm::oem_ampere::OemEventManager::handleBootOverallEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:420,1
    - Dst: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:423,1
    - Dst: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:426,1
    - Dst: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:437,1
    - Dst: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:440,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:447,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:448,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:449,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:450,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:451,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:452,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:453,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:454,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:455,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 460
    functionName: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::setfill
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    - std::setw
    - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    - static_cast<uint32_t>
    - decode_numeric_sensor_data
    - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
    - lg2::error
    - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processNumericSensorEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_state_sensor_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:471,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:475,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:482,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:484,1
    - Dst: auto::size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:489,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:491,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:492,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:493,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:495,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:496,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:497,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:500,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:506,1
    - Dst: auto::contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:507,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:510,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:517,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:520,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:526,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:527,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:528,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:529,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:530,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:531,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:532,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 538
    functionName: pldm::oem_ampere::OemEventManager::processStateSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::get<0>
    - std::setfill
    - decode_state_sensor_data
    - contains
    - auto::contains
    - std::setw
    - std::get<1>
    - auto::size
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processStateSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             const uint8_t* sensorData,\n
      \                                            size_t sensorDataLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_sensor_op_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:547,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:551,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:561,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:562,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:563,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:564,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:565,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - decode_sensor_op_data
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processSensorOpStateEvent(\n    pldm_tid_t tid,
      uint16_t sensorId, const uint8_t* sensorData,\n    size_t sensorDataLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:577,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:582,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:589,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:593,1
    - Dst: pldm::oem_ampere::OemEventManager::processNumericSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:604,1
    - Dst: pldm::oem_ampere::OemEventManager::processStateSensorEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:609,1
    - Dst: pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:614,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:622,1
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:623,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:624,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:625,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:631,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 640
    functionName: pldm::oem_ampere::OemEventManager::handleSensorEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
    - reinterpret_cast<const uint8_t*>
    - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
    - std::stringstream::str
    - std::views::iota
    - std::setfill
    - contains
    - std::setw
    - pldm::oem_ampere::OemEventManager::processStateSensorEvent
    - lg2::error
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - decode_sensor_event_data
    - std::to_string
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleSensorEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:655,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:657,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:658,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:659,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:660,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:661,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:662,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:665,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:667,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 671
    functionName: pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handlePCIeHotPlugEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                             uint32_t presentReading)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:678,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:682,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:685,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:688,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:702,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:703,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - failureInfo
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::to_string
    - contains
    - std::get<0>
    - std::get<1>
    linkageType: ''
    returnType: std::string
    signature: std::string OemEventManager::dimmTrainingFailureToMsg(uint32_t failureInfo)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:730,1
    - Dst: pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:733,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:739,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:741,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:753,1
    - Dst: size
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:758,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:797,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:803,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 804
    functionName: pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
    - size
    - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDIMMStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:815,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:818,1
    - Dst: pldm::oem_ampere::OemEventManager::dimmIdxsToString
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:831,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:836,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 841
    functionName: pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - contains
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::dimmIdxsToString
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleDDRStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:851,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:879,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:880,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:881,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:882,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:883,1
    - Dst: std::setw
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:884,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:885,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:887,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 891
    functionName: pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    - static_cast<uint32_t>
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleVRDStatusEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                           uint32_t presentReading)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:900,1
    - Dst: pldm::oem_ampere::OemEventManager::sendJournalRedfish
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tid
    - sensorId
    - presentReading
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 917
    functionName: pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
    - pldm::oem_ampere::OemEventManager::sendJournalRedfish
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleNumericWatchdogEvent(\n    pldm_tid_t
      tid, uint16_t sensorId, uint32_t presentReading)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeCperRecord
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:925,1
    - Dst: addCperSELLog
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:927,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:932,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:937,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:939,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:942,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:944,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 953
    functionName: pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - addCperSELLog
    - decodeCperRecord
    - call_noreply
    - lg2::error
    - auto::append
    - new_method_call
    - lg2::info
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMsgPollEvent(pldm_tid_t tid, uint16_t
      eventId,\n                                            const uint8_t* eventData,\n
      \                                           size_t eventDataSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:960,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:966,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:970,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:974,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:981,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:988,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 1000
    functionName: pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - contains
    - decode_pldm_message_poll_event_data
    - pldm::utils::DBusHandler
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handlepldmMessagePollEvent(\n    const pldm_msg*
      request, size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t
      tid, size_t eventDataOffset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1007,1
    - Dst: contains
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1012,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1014,1
    - Dst: emplace
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1015,1
    - Dst: sd_event_now
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: get
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1019,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/oem/ampere/event/oem_event_manager.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1029
    functionName: pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - get
    - pollForPlatformEvent
    - sd_event_now
    - contains
    - std::make_pair
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> OemEventManager::oemPollForPlatformEvent(pldm_tid_t
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EFI_GUID*
    - EFI_GUID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: pldm::oem_ampere::guid_equal
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int guid_equal(EFI_GUID* a, EFI_GUID* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::oem_ampere::decodeSecAmpere
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecAmpere(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_ARM_ERROR_RECORD*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:53,1
    - Dst: reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:54,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:62,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:66,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:75,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: pldm::oem_ampere::decodeSecArm
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
    - reinterpret_cast<EFI_ARM_ERROR_RECORD*>
    - static_cast<int>
    - lg2::error
    - reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecArm(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: pldm::oem_ampere::decodeSecPlatformMemory
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: "void decodeSecPlatformMemory(void* section,\n                                    EFI_AMPERE_ERROR_DATA*
      ampSpecHdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PCIE_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: pldm::oem_ampere::decodeSecPcie
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EFI_PCIE_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: void decodeSecPcie(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/pldm/oem/ampere/event/cper.cpp:121,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:122,1
    - Dst: reinterpret_cast<EFI_GUID*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:124,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:125,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:127,1
    - Dst: pldm::oem_ampere::decodeSecAmpere
      Src: /src/pldm/oem/ampere/event/cper.cpp:128,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:130,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:132,1
    - Dst: pldm::oem_ampere::decodeSecArm
      Src: /src/pldm/oem/ampere/event/cper.cpp:133,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:135,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:137,1
    - Dst: pldm::oem_ampere::decodeSecPlatformMemory
      Src: /src/pldm/oem/ampere/event/cper.cpp:138,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:140,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:142,1
    - Dst: pldm::oem_ampere::decodeSecPcie
      Src: /src/pldm/oem/ampere/event/cper.cpp:143,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - data
    - basePos
    - ampSpecHdr
    - secDesc
    argTypes:
    - uint8_t*
    - long
    - EFI_AMPERE_ERROR_DATA*
    - EFI_ERROR_SECTION_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: pldm::oem_ampere::decodeCperSection
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<EFI_GUID*>
    - pldm::oem_ampere::decodeSecPlatformMemory
    - pldm::oem_ampere::decodeSecAmpere
    - pldm::oem_ampere::decodeSecArm
    - pldm::oem_ampere::decodeSecPcie
    - lg2::error
    - char::char
    - pldm::oem_ampere::guid_equal
    - std::memcpy
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void decodeCperSection(const uint8_t* data, long basePos,\n                              EFI_AMPERE_ERROR_DATA*
      ampSpecHdr,\n                              EFI_ERROR_SECTION_DESCRIPTOR* secDesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:160,1
    - Dst: EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
      Src: /src/pldm/oem/ampere/event/cper.cpp:165,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:169,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: pldm::oem_ampere::decodeCperSection
      Src: /src/pldm/oem/ampere/event/cper.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ampSpecHdr
    argTypes:
    - uint8_t*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: pldm::oem_ampere::decodeCperRecord
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
    - static_cast<int>
    - pldm::oem_ampere::decodeCperSection
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void decodeCperRecord(const uint8_t* data, size_t /* eventDataSize
      */,\n                      EFI_AMPERE_ERROR_DATA* ampSpecHdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:228,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:229,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:230,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:233,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:234,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:235,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:238,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/cper.cpp:239,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/cper.cpp:243,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/cper.cpp:244,1
    - Dst: call
      Src: /src/pldm/oem/ampere/event/cper.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - tid
    - eventID
    - p
    argTypes:
    - pldm_tid_t
    - uint16_t
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: pldm::oem_ampere::addCperSELLog
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - call
    - std::vector::push_back
    - lg2::error
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void addCperSELLog(pldm_tid_t tid, uint16_t eventID, EFI_AMPERE_ERROR_DATA*
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EFI_GUID*
    - EFI_GUID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: pldm::oem_ampere::guid_equal
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int guid_equal(EFI_GUID* a, EFI_GUID* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::oem_ampere::decodeSecAmpere
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecAmpere(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_ARM_ERROR_RECORD*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:53,1
    - Dst: reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:54,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:62,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:66,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:75,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: pldm::oem_ampere::decodeSecArm
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached:
    - std::views::iota
    - reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
    - reinterpret_cast<EFI_ARM_ERROR_RECORD*>
    - static_cast<int>
    - lg2::error
    - reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecArm(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: pldm::oem_ampere::decodeSecPlatformMemory
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: "void decodeSecPlatformMemory(void* section,\n                                    EFI_AMPERE_ERROR_DATA*
      ampSpecHdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PCIE_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: pldm::oem_ampere::decodeSecPcie
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<EFI_PCIE_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: void decodeSecPcie(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/pldm/oem/ampere/event/cper.cpp:121,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:122,1
    - Dst: reinterpret_cast<EFI_GUID*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:124,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:125,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:127,1
    - Dst: pldm::oem_ampere::decodeSecAmpere
      Src: /src/pldm/oem/ampere/event/cper.cpp:128,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:130,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:132,1
    - Dst: pldm::oem_ampere::decodeSecArm
      Src: /src/pldm/oem/ampere/event/cper.cpp:133,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:135,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:137,1
    - Dst: pldm::oem_ampere::decodeSecPlatformMemory
      Src: /src/pldm/oem/ampere/event/cper.cpp:138,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:140,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:142,1
    - Dst: pldm::oem_ampere::decodeSecPcie
      Src: /src/pldm/oem/ampere/event/cper.cpp:143,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - data
    - basePos
    - ampSpecHdr
    - secDesc
    argTypes:
    - uint8_t*
    - long
    - EFI_AMPERE_ERROR_DATA*
    - EFI_ERROR_SECTION_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: pldm::oem_ampere::decodeCperSection
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<EFI_GUID*>
    - pldm::oem_ampere::decodeSecPlatformMemory
    - pldm::oem_ampere::decodeSecAmpere
    - pldm::oem_ampere::decodeSecArm
    - pldm::oem_ampere::decodeSecPcie
    - lg2::error
    - char::char
    - pldm::oem_ampere::guid_equal
    - std::memcpy
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void decodeCperSection(const uint8_t* data, long basePos,\n                              EFI_AMPERE_ERROR_DATA*
      ampSpecHdr,\n                              EFI_ERROR_SECTION_DESCRIPTOR* secDesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:160,1
    - Dst: EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
      Src: /src/pldm/oem/ampere/event/cper.cpp:165,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:169,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: pldm::oem_ampere::decodeCperSection
      Src: /src/pldm/oem/ampere/event/cper.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ampSpecHdr
    argTypes:
    - uint8_t*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: pldm::oem_ampere::decodeCperRecord
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
    - static_cast<int>
    - pldm::oem_ampere::decodeCperSection
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void decodeCperRecord(const uint8_t* data, size_t /* eventDataSize
      */,\n                      EFI_AMPERE_ERROR_DATA* ampSpecHdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:228,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:229,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:230,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:233,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:234,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:235,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:238,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/cper.cpp:239,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/cper.cpp:243,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/cper.cpp:244,1
    - Dst: call
      Src: /src/pldm/oem/ampere/event/cper.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - tid
    - eventID
    - p
    argTypes:
    - pldm_tid_t
    - uint16_t
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: pldm::oem_ampere::addCperSELLog
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - call
    - std::vector::push_back
    - lg2::error
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void addCperSELLog(pldm_tid_t tid, uint16_t eventID, EFI_AMPERE_ERROR_DATA*
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EFI_GUID*
    - EFI_GUID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: pldm::oem_ampere::guid_equal
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int guid_equal(EFI_GUID* a, EFI_GUID* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::oem_ampere::decodeSecAmpere
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecAmpere(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_ARM_ERROR_RECORD*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:53,1
    - Dst: reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:54,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:62,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:66,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:75,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: pldm::oem_ampere::decodeSecArm
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached:
    - std::views::iota
    - reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
    - reinterpret_cast<EFI_ARM_ERROR_RECORD*>
    - static_cast<int>
    - lg2::error
    - reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecArm(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: pldm::oem_ampere::decodeSecPlatformMemory
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: "void decodeSecPlatformMemory(void* section,\n                                    EFI_AMPERE_ERROR_DATA*
      ampSpecHdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PCIE_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: pldm::oem_ampere::decodeSecPcie
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<EFI_PCIE_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: void decodeSecPcie(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/pldm/oem/ampere/event/cper.cpp:121,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:122,1
    - Dst: reinterpret_cast<EFI_GUID*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:124,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:125,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:127,1
    - Dst: pldm::oem_ampere::decodeSecAmpere
      Src: /src/pldm/oem/ampere/event/cper.cpp:128,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:130,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:132,1
    - Dst: pldm::oem_ampere::decodeSecArm
      Src: /src/pldm/oem/ampere/event/cper.cpp:133,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:135,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:137,1
    - Dst: pldm::oem_ampere::decodeSecPlatformMemory
      Src: /src/pldm/oem/ampere/event/cper.cpp:138,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:140,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:142,1
    - Dst: pldm::oem_ampere::decodeSecPcie
      Src: /src/pldm/oem/ampere/event/cper.cpp:143,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - data
    - basePos
    - ampSpecHdr
    - secDesc
    argTypes:
    - uint8_t*
    - long
    - EFI_AMPERE_ERROR_DATA*
    - EFI_ERROR_SECTION_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: pldm::oem_ampere::decodeCperSection
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<EFI_GUID*>
    - pldm::oem_ampere::decodeSecPlatformMemory
    - pldm::oem_ampere::decodeSecAmpere
    - pldm::oem_ampere::decodeSecArm
    - pldm::oem_ampere::decodeSecPcie
    - lg2::error
    - char::char
    - pldm::oem_ampere::guid_equal
    - std::memcpy
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void decodeCperSection(const uint8_t* data, long basePos,\n                              EFI_AMPERE_ERROR_DATA*
      ampSpecHdr,\n                              EFI_ERROR_SECTION_DESCRIPTOR* secDesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:160,1
    - Dst: EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
      Src: /src/pldm/oem/ampere/event/cper.cpp:165,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:169,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: pldm::oem_ampere::decodeCperSection
      Src: /src/pldm/oem/ampere/event/cper.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ampSpecHdr
    argTypes:
    - uint8_t*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: pldm::oem_ampere::decodeCperRecord
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
    - static_cast<int>
    - pldm::oem_ampere::decodeCperSection
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void decodeCperRecord(const uint8_t* data, size_t /* eventDataSize
      */,\n                      EFI_AMPERE_ERROR_DATA* ampSpecHdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:228,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:229,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:230,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:233,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:234,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:235,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:238,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/cper.cpp:239,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/cper.cpp:243,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/cper.cpp:244,1
    - Dst: call
      Src: /src/pldm/oem/ampere/event/cper.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - tid
    - eventID
    - p
    argTypes:
    - pldm_tid_t
    - uint16_t
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: pldm::oem_ampere::addCperSELLog
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - call
    - std::vector::push_back
    - lg2::error
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void addCperSELLog(pldm_tid_t tid, uint16_t eventID, EFI_AMPERE_ERROR_DATA*
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EFI_GUID*
    - EFI_GUID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: pldm::oem_ampere::guid_equal
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int guid_equal(EFI_GUID* a, EFI_GUID* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::oem_ampere::decodeSecAmpere
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecAmpere(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_ARM_ERROR_RECORD*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:53,1
    - Dst: reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:54,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:61,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:62,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:66,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:70,1
    - Dst: reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:75,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: pldm::oem_ampere::decodeSecArm
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached:
    - std::views::iota
    - reinterpret_cast<EFI_ARM_CONTEXT_INFORMATION_HEADER*>
    - reinterpret_cast<EFI_ARM_ERROR_RECORD*>
    - static_cast<int>
    - lg2::error
    - reinterpret_cast<EFI_ARM_ERROR_INFORMATION_ENTRY*>
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void decodeSecArm(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: pldm::oem_ampere::decodeSecPlatformMemory
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<EFI_PLATFORM_MEMORY_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: "void decodeSecPlatformMemory(void* section,\n                                    EFI_AMPERE_ERROR_DATA*
      ampSpecHdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<EFI_PCIE_ERROR_DATA*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - section
    - ampSpecHdr
    argTypes:
    - void*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: pldm::oem_ampere::decodeSecPcie
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<EFI_PCIE_ERROR_DATA*>
    linkageType: ''
    returnType: void
    signature: void decodeSecPcie(void* section, EFI_AMPERE_ERROR_DATA* ampSpecHdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/pldm/oem/ampere/event/cper.cpp:121,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:122,1
    - Dst: reinterpret_cast<EFI_GUID*>
      Src: /src/pldm/oem/ampere/event/cper.cpp:124,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:125,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:127,1
    - Dst: pldm::oem_ampere::decodeSecAmpere
      Src: /src/pldm/oem/ampere/event/cper.cpp:128,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:130,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:132,1
    - Dst: pldm::oem_ampere::decodeSecArm
      Src: /src/pldm/oem/ampere/event/cper.cpp:133,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:135,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:137,1
    - Dst: pldm::oem_ampere::decodeSecPlatformMemory
      Src: /src/pldm/oem/ampere/event/cper.cpp:138,1
    - Dst: pldm::oem_ampere::guid_equal
      Src: /src/pldm/oem/ampere/event/cper.cpp:140,1
    - Dst: lg2::info
      Src: /src/pldm/oem/ampere/event/cper.cpp:142,1
    - Dst: pldm::oem_ampere::decodeSecPcie
      Src: /src/pldm/oem/ampere/event/cper.cpp:143,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - data
    - basePos
    - ampSpecHdr
    - secDesc
    argTypes:
    - uint8_t*
    - long
    - EFI_AMPERE_ERROR_DATA*
    - EFI_ERROR_SECTION_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: pldm::oem_ampere::decodeCperSection
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<EFI_GUID*>
    - pldm::oem_ampere::decodeSecPlatformMemory
    - pldm::oem_ampere::decodeSecAmpere
    - pldm::oem_ampere::decodeSecArm
    - pldm::oem_ampere::decodeSecPcie
    - lg2::error
    - char::char
    - pldm::oem_ampere::guid_equal
    - std::memcpy
    - lg2::info
    linkageType: ''
    returnType: void
    signature: "void decodeCperSection(const uint8_t* data, long basePos,\n                              EFI_AMPERE_ERROR_DATA*
      ampSpecHdr,\n                              EFI_ERROR_SECTION_DESCRIPTOR* secDesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:160,1
    - Dst: EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
      Src: /src/pldm/oem/ampere/event/cper.cpp:165,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:167,1
    - Dst: std::memcpy
      Src: /src/pldm/oem/ampere/event/cper.cpp:169,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ampere/event/cper.cpp:175,1
    - Dst: pldm::oem_ampere::decodeCperSection
      Src: /src/pldm/oem/ampere/event/cper.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - ampSpecHdr
    argTypes:
    - uint8_t*
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: pldm::oem_ampere::decodeCperRecord
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - EFI_ERROR_SECTION_DESCRIPTOR::EFI_ERROR_SECTION_DESCRIPTOR
    - static_cast<int>
    - pldm::oem_ampere::decodeCperSection
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void decodeCperRecord(const uint8_t* data, size_t /* eventDataSize
      */,\n                      EFI_AMPERE_ERROR_DATA* ampSpecHdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:228,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:229,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:230,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:231,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:232,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:233,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:234,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:235,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:236,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:237,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ampere/event/cper.cpp:238,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ampere/event/cper.cpp:239,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ampere/event/cper.cpp:243,1
    - Dst: auto::append
      Src: /src/pldm/oem/ampere/event/cper.cpp:244,1
    - Dst: call
      Src: /src/pldm/oem/ampere/event/cper.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/oem/ampere/event/cper.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - tid
    - eventID
    - p
    argTypes:
    - pldm_tid_t
    - uint16_t
    - EFI_AMPERE_ERROR_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 252
    functionName: pldm::oem_ampere::addCperSELLog
    functionSourceFile: /src/pldm/oem/ampere/event/cper.cpp
    functionUses: 0
    functionsReached:
    - call
    - std::vector::push_back
    - lg2::error
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void addCperSELLog(pldm_tid_t tid, uint16_t eventID, EFI_AMPERE_ERROR_DATA*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' event'
    - platformManager
    argTypes:
    - sdeventplus::Event
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OemEventManager(\n        sdeventplus::Event& event,\n        requester::Handler<requester::Request>*
      /* handler */,\n        pldm::InstanceIdDb& /* instanceIdDb */,\n        platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' event'
    - platformManager
    argTypes:
    - sdeventplus::Event
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OemEventManager(\n        sdeventplus::Event& event,\n        requester::Handler<requester::Request>*
      /* handler */,\n        pldm::InstanceIdDb& /* instanceIdDb */,\n        platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' event'
    - platformManager
    argTypes:
    - sdeventplus::Event
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OemEventManager(\n        sdeventplus::Event& event,\n        requester::Handler<requester::Request>*
      /* handler */,\n        pldm::InstanceIdDb& /* instanceIdDb */,\n        platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' event'
    - platformManager
    argTypes:
    - sdeventplus::Event
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pldm::oem_ampere::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OemEventManager(\n        sdeventplus::Event& event,\n        requester::Handler<requester::Request>*
      /* handler */,\n        pldm::InstanceIdDb& /* instanceIdDb */,\n        platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const OemNVIDIA&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(const OemNVIDIA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(OemNVIDIA&&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached:
    - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    linkageType: ''
    returnType: void
    signature: "void OemNVIDIA(responder::platform::Handler* platformHandler,\n                       platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:52,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:57,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:64,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 1
    functionsReached:
    - platform_mc::Manager*::handlePolledCperEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - responder::platform::Handler*::registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(responder::platform::Handler* platformHandler,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const OemNVIDIA&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(const OemNVIDIA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(OemNVIDIA&&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached:
    - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    linkageType: ''
    returnType: void
    signature: "void OemNVIDIA(responder::platform::Handler* platformHandler,\n                       platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:52,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:57,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:64,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 2
    functionsReached:
    - platform_mc::Manager*::handlePolledCperEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - responder::platform::Handler*::registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(responder::platform::Handler* platformHandler,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const OemNVIDIA&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(const OemNVIDIA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(OemNVIDIA&&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached:
    - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    linkageType: ''
    returnType: void
    signature: "void OemNVIDIA(responder::platform::Handler* platformHandler,\n                       platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:52,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:57,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:64,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 3
    functionsReached:
    - platform_mc::Manager*::handlePolledCperEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - responder::platform::Handler*::registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(responder::platform::Handler* platformHandler,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const OemNVIDIA&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(const OemNVIDIA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemNVIDIA(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(OemNVIDIA&&)'
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemNVIDIA
    signature: OemNVIDIA & operator=(OemNVIDIA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 0
    functionsReached:
    - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    linkageType: ''
    returnType: void
    signature: "void OemNVIDIA(responder::platform::Handler* platformHandler,\n                       platform_mc::Manager*
      platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:52,1
    - Dst: platform_mc::Manager*::handleCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:57,1
    - Dst: platform_mc::Manager*::registerPolledEventHandler
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:64,1
    - Dst: platform_mc::Manager*::handlePolledCperEvent
      Src: /src/pldm/oem/nvidia/oem_nvidia.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - platformHandler
    - platformManager
    argTypes:
    - responder::platform::Handler*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
    functionSourceFile: /src/pldm/oem/nvidia/oem_nvidia.hpp
    functionUses: 4
    functionsReached:
    - platform_mc::Manager*::handlePolledCperEvent
    - platform_mc::Manager*::registerPolledEventHandler
    - responder::platform::Handler*::registerEventHandlers
    - platform_mc::Manager*::handleCperEvent
    linkageType: ''
    returnType: void
    signature: "void createOemEventHandler(responder::platform::Handler* platformHandler,\n
      \                              platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:36,1
    - Dst: mkdtemp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:36,1
    - Dst: pldm_msgbuf_copy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:39,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:42,1
    - Dst: Json::object
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:43,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:44,1
    - Dst: auto::push_back
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:47,1
    - Dst: auto::clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:48,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:50,1
    - Dst: auto::push_back
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:52,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:55,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: TestFileTable::SetUp
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy
    - Json::object
    - mkdtemp
    - c_str
    - auto::push_back
    - std::setw
    - pldm_msgbuf_insert_array
    - auto::clear
    - fs::path
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: TestFileTable::TearDown
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:119,1
    - Dst: close
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:120,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:127,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:127,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:128,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:130,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:130,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:131,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:132,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:132,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:137,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:137,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:138,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:140,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:140,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:141,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:142,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:142,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:147,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:147,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:148,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:148,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:150,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:152,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:153,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:154,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:154,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:159,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:159,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:160,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:162,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:162,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:163,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:164,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:164,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:169,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:169,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:170,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:172,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:172,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:174,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 176
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - transferDataHost
    - memcmp
    - transferAll<MockDMA>
    - mkstemp
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - close
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(TransferDataHost, GoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:184,1
    - Dst: close
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:185,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:190,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:190,1
    - Dst: Return
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:190,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:191,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:193,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:193,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:194,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:199,1
    - Dst: transferDataHost
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:199,1
    - Dst: Return
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:199,1
    - Dst: transferAll<MockDMA>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:200,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:202,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - transferDataHost
    - mkstemp
    - transferAll<MockDMA>
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - close
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(TransferDataHost, BadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:217,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:217,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:218,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:219,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:220,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:222,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:228,1
    - Dst: oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:231,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::array::data
    - oem_ibm::Handler::readFileIntoMemory
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(ReadFileIntoMemory, BadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:247,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:247,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:248,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:249,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:250,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:251,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:253,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:259,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:262,1
    - Dst: oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:264,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:265,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:266,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 269
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - oem_ibm::Handler::readFileIntoMemory
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileInvalidFileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:283,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:283,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:284,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:285,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:286,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:287,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:289,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:294,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:294,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:297,1
    - Dst: oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:299,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:300,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:300,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:301,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 304
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - oem_ibm::Handler::readFileIntoMemory
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileInvalidOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:318,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:318,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:319,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:320,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:321,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:322,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:324,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:329,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:329,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:332,1
    - Dst: oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:334,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:335,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:335,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:336,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 339
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - oem_ibm::Handler::readFileIntoMemory
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileInvalidLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:356,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:356,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:357,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:358,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:359,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:360,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:362,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:367,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:367,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:370,1
    - Dst: oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:372,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:373,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:374,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 377
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - oem_ibm::Handler::readFileIntoMemory
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileInvalidEffectiveLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:390,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:390,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:391,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:392,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:393,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:394,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:396,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:402,1
    - Dst: oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:404,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:405,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:405,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:406,1
    - Dst: oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:409,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:410,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:410,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 412
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm::Handler::writeFileFromMemory
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(WriteFileFromMemory, BadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:426,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:426,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:427,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:428,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:429,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:430,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:432,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:438,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:438,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:441,1
    - Dst: oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:443,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:444,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:444,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:445,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 448
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - oem_ibm::Handler::writeFileFromMemory
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, WriteFileInvalidFileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:462,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:462,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:463,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:464,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:465,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:466,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:468,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:474,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:474,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:477,1
    - Dst: oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:479,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:480,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:480,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:481,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 484
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - oem_ibm::Handler::writeFileFromMemory
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, WriteFileInvalidOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:489,1
    - Dst: FileTable::isEmpty
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - FileTable::isEmpty
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileTable, ConfigNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:494,1
    - Dst: FileTable::at
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:497,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:498,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:499,1
    - Dst: strcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:499,1
    - Dst: auto::fsPath::c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:499,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:499,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:500,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:500,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:500,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:502,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:502,1
    - Dst: FileTable::at
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:506,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:507,1
    - Dst: strcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:507,1
    - Dst: auto::fsPath::c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:507,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:507,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:508,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:508,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:508,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:509,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:510,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:510,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:513,1
    - Dst: FileTable::at
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 514
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - auto::fsPath::c_str
    - strcmp
    - fs::file_size
    - c_str
    - ASSERT_EQ
    - ASSERT_THROW
    - fs::exists
    - FileTable::at
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ValidateFileEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:518,1
    - Dst: tableObj
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:521,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:522,1
    - Dst: std::equal
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:523,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:523,1
    - Dst: end
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:523,1
    - Dst: auto::begin
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - ASSERT_EQ
    - tableObj
    - auto::begin
    - std::equal
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ValidateFileTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:529,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:529,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:541,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:541,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:542,1
    - Dst: reinterpret_cast<pldm_get_file_table_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:543,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:544,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:550,1
    - Dst: oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:552,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:553,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:553,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:554,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:556,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:556,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:559,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:559,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:562,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:562,1
    - Dst: data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:562,1
    - Dst: size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:563,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 565
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    - data
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - memcmp
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::getFileTable
    - std::array::size
    - reinterpret_cast<pldm_get_file_table_req*>
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, GetFileTableCommand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:573,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:573,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:577,1
    - Dst: oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:579,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:580,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:580,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 582
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::getFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, GetFileTableCommandReqLengthMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:594,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:594,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:595,1
    - Dst: reinterpret_cast<pldm_get_file_table_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:596,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:597,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:603,1
    - Dst: oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:605,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:606,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:606,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 608
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::getFileTable
    - std::array::size
    - reinterpret_cast<pldm_get_file_table_req*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, GetFileTableCommandOEMAttrTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:620,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:620,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:621,1
    - Dst: reinterpret_cast<pldm_read_file_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:622,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:623,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:631,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:631,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:635,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:637,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:638,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:639,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:644,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:645,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:645,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:646,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:651,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:652,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:652,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:653,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 656
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - reinterpret_cast<pldm_read_file_req*>
    - c_str
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::readFile
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:668,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:668,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:669,1
    - Dst: reinterpret_cast<pldm_read_file_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:670,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:671,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:679,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:679,1
    - Dst: at
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:681,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:684,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:686,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:686,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:689,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:691,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:692,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:693,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:694,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:695,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:696,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:696,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:696,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:703,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:704,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:705,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:705,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:707,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:708,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:709,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:710,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:711,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:712,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:712,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:712,1
    - Dst: oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:718,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:719,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:720,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:721,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:722,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 725
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::ifstream::read
    - reinterpret_cast<pldm_read_file_req*>
    - reinterpret_cast<pldm_read_file_resp*>
    - c_str
    - at
    - std::array::data
    - std::vector::data
    - std::unique_ptr::get
    - auto::data
    - ASSERT_EQ
    - memcmp
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::readFile
    - std::vector::resize
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, ReadFileGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:737,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:737,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:738,1
    - Dst: reinterpret_cast<pldm_write_file_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:739,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:740,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:744,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:744,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:752,1
    - Dst: oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:754,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:755,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:756,1
    - Dst: oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:761,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:762,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:763,1
    - Dst: oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:768,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:769,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:769,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:770,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 773
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - clear
    - c_str
    - std::vector::data
    - std::unique_ptr::get
    - auto::data
    - oem_ibm::Handler::writeFile
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    - buildFileTable
    - reinterpret_cast<pldm_write_file_req*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, WriteFileBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:780,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:786,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:786,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:787,1
    - Dst: reinterpret_cast<pldm_write_file_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:788,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:789,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:793,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:793,1
    - Dst: at
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:795,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:800,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:800,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:800,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:803,1
    - Dst: oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:805,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:806,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:807,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:810,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:812,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:812,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:814,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:815,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:816,1
    - Dst: memcmp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:816,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:816,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:816,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 819
    functionName: TEST_F
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::array::data
    - oem_ibm::Handler::writeFile
    - std::vector::size
    - auto::data
    - std::ifstream::seekg
    - reinterpret_cast<pldm_write_file_req*>
    - clear
    - c_str
    - at
    - std::unique_ptr::get
    - memcmp
    - memcpy
    - reinterpret_cast<pldm_read_file_resp*>
    - std::ifstream::read
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    - buildFileTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestFileTable, WriteFileGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:829,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:829,1
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:830,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:832,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:841,1
    - Dst: oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:843,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:844,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:844,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:847,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:849,1
    - Dst: oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:851,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:852,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:852,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:854,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 857
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::writeFileByTypeFromMemory
    - reinterpret_cast<struct pldm_read_write_file_by_type_memory_req*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(writeFileByTypeFromMemory, testBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:862,1
    - Dst: dynamic_cast<PelHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:863,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:863,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:864,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:866,1
    - Dst: dynamic_cast<LidHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:867,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:867,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:868,1
    - Dst: dynamic_cast<PelHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:869,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:869,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:870,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:871,1
    - Dst: dynamic_cast<LidHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:872,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:872,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:873,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:875,1
    - Dst: dynamic_cast<DumpHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:876,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:876,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:877,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:879,1
    - Dst: dynamic_cast<DumpHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:880,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:880,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:881,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:883,1
    - Dst: dynamic_cast<DumpHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:884,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:884,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:885,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:887,1
    - Dst: dynamic_cast<CertHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:888,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:888,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:889,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:891,1
    - Dst: dynamic_cast<CertHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:892,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:892,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:893,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:895,1
    - Dst: dynamic_cast<PCIeInfoHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:896,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:896,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:897,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:899,1
    - Dst: dynamic_cast<PCIeInfoHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:900,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:900,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:901,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:903,1
    - Dst: dynamic_cast<CertHandler*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:904,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:904,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:905,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:908,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 909
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<DumpHandler*>
    - dynamic_cast<PelHandler*>
    - getHandlerByType
    - ASSERT_TRUE
    - dynamic_cast<PCIeInfoHandler*>
    - ASSERT_THROW
    - dynamic_cast<LidHandler*>
    - auto::get
    - dynamic_cast<CertHandler*>
    linkageType: ''
    returnType: void
    signature: void TEST(getHandlerByType, allPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:918,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:918,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:920,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:929,1
    - Dst: oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:931,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:932,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:932,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:936,1
    - Dst: oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:938,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:940,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:940,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:941,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:943,1
    - Dst: oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:946,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:948,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:948,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:949,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 952
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm::Handler::readFileByTypeIntoMemory
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - reinterpret_cast<struct pldm_read_write_file_by_type_memory_resp*>
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_read_write_file_by_type_memory_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(readFileByTypeIntoMemory, testBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:960,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:961,1
    - Dst: std::array::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:961,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_req*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:963,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:971,1
    - Dst: oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:973,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:974,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:974,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:976,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:978,1
    - Dst: oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:980,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:981,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:981,1
    - Dst: reinterpret_cast<struct pldm_read_write_file_by_type_resp*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:982,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 985
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_read_write_file_by_type_resp*>
    - std::unique_ptr::get
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::array::size
    - reinterpret_cast<pldm_msg*>
    - oem_ibm::Handler::readFileByType
    - reinterpret_cast<struct pldm_read_write_file_by_type_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(readFileByType, testBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LidHandler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:993,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:994,1
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:997,1
    - Dst: write
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:999,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:999,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:999,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1000,1
    - Dst: close
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1001,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1002,1
    - Dst: LidHandler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1003,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1004,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1005,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1005,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1006,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1006,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1006,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1007,1
    - Dst: std::equal
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1007,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1007,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1007,1
    - Dst: Response::begin
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1007,1
    - Dst: Response::clear
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1010,1
    - Dst: LidHandler::readFile
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1011,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1012,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1013,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1013,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1014,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1014,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1015
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
    functionUses: 0
    functionsReached:
    - close
    - write
    - std::vector::data
    - mkstemp
    - ASSERT_EQ
    - Response::begin
    - std::vector::begin
    - Response::clear
    - LidHandler::readFile
    - std::equal
    - Response::size
    - std::vector::size
    - std::vector::end
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(readFileByType, testReadFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: MockOemUtilsHandler::MockOemUtilsHandler
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockOemUtilsHandler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: MockCodeUpdate::MockCodeUpdate
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCodeUpdate(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' event'
    - repo
    argTypes:
    - sdeventplus::Event
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: MockSlotHandler::MockSlotHandler
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSlotHandler(const sdeventplus::Event& event, pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: MockOemPlatformHandler::MockOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockOemPlatformHandler(const pldm::utils::DBusHandler* dBusIntf,\n
      \                          pldm::responder::CodeUpdate* codeUpdate,\n                           pldm::responder::SlotHandler*
      slotHandler,\n                           int mctp_fd, uint8_t mctp_eid,\n                           pldm::InstanceIdDb&
      instanceIdDb,\n                           sdeventplus::Event& event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:85,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:88,1
    - Dst: std::make_unique<MockdBusHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:91,1
    - Dst: std::make_unique<MockCodeUpdate>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:93,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:93,1
    - Dst: std::make_unique<MockOemPlatformHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:95,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:96,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:96,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:100,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:100,1
    - Dst: ReturnRef
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:101,1
    - Dst: std::unique_ptr::getOemStateSensorReadingsHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:108,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:108,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:111,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:112,1
    - Dst: std::unique_ptr::getOemStateSensorReadingsHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:117,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:120,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:121,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:121,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:122,1
    - Dst: std::unique_ptr::getOemStateSensorReadingsHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:125,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:129,1
    - Dst: std::unique_ptr::getOemStateSensorReadingsHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:133,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:136,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:144,1
    - Dst: std::unique_ptr::oemSetStateEffecterStatesHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:149,1
    - Dst: std::unique_ptr::oemSetStateEffecterStatesHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:155,1
    - Dst: std::unique_ptr::oemSetStateEffecterStatesHandler
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:160,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 164
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::make_unique<MockOemPlatformHandler>
    - getAssociateEntityMap
    - ReturnRef
    - std::unique_ptr::get
    - std::unique_ptr::oemSetStateEffecterStatesHandler
    - ASSERT_EQ
    - std::make_unique<MockCodeUpdate>
    - std::unique_ptr::getOemStateSensorReadingsHandler
    - std::vector::push_back
    - auto::get
    - EXPECT_CALL
    - TestInstanceIdDb::TestInstanceIdDb
    - std::vector::size
    - std::make_unique<MockdBusHandler>
    linkageType: ''
    returnType: void
    signature: void TEST(OemSetStateEffecterStatesHandler, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:170,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:173,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_sensor_op_state*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:178,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:179,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:185,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_sensor_event_sensor_op_state*>
    - encodeEventMsg
    - std::vector::resize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeCodeUpdateEvent, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - encodeEventMsg
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeCodeUpdate, testBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:210,1
    - Dst: stat
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:210,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:213,1
    - Dst: stat
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:213,1
    - Dst: std::make_unique<MockdBusHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:215,1
    - Dst: std::make_unique<MockCodeUpdate>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:217,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:217,1
    - Dst: std::unique_ptr::clearDirPath
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:220,1
    - Dst: stat
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:221,1
    - Dst: stat
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::clearDirPath
    - ASSERT_EQ
    - fs::create_directories
    - std::make_unique<MockCodeUpdate>
    - auto::get
    - stat
    - std::make_unique<MockdBusHandler>
    linkageType: ''
    returnType: void
    signature: void TEST(clearDirPath, testClearDirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:227,1
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:229,1
    - Dst: std::make_unique<MockdBusHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:230,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:231,1
    - Dst: std::make_unique<MockCodeUpdate>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:233,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:233,1
    - Dst: std::make_unique<MockOemPlatformHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:235,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:236,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:236,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:240,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:240,1
    - Dst: ReturnRef
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:241,1
    - Dst: std::unique_ptr::buildOEMPDR
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:243,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:244,1
    - Dst: Repo::empty
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:244,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:249,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:250,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:253,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:255,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:256,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:257,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:258,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:259,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:260,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:261,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:262,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:263,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:264,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:266,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:267,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:270,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:271,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:274,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:277,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:278,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:284,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:287,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:288,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:289,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:290,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:291,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:292,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:293,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:294,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:296,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:297,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:298,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:301,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:304,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:305,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:307,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:309,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:311,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:312,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:313,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:314,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:315,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:316,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:317,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:318,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:319,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:320,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:321,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:323,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:324,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:325,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:328,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:331,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:332,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:334,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:336,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:337,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:339,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:340,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:343,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:344,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:345,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:346,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:347,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:348,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:350,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:351,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:352,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:355,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 358
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - auto::get
    - reinterpret_cast<state_effecter_possible_states*>
    - TestInstanceIdDb::TestInstanceIdDb
    - Repo::empty
    - std::make_unique<MockdBusHandler>
    - pldm::responder::pdr::getRecordByHandle
    - getAssociateEntityMap
    - pldm_pdr_destroy
    - std::unique_ptr::buildOEMPDR
    - ASSERT_NE
    - pldm_pdr_init
    - std::make_unique<MockOemPlatformHandler>
    - ReturnRef
    - std::unique_ptr::get
    - EXPECT_CALL
    - ASSERT_EQ
    - std::make_unique<MockCodeUpdate>
    - reinterpret_cast<pldm_state_effecter_pdr*>
    linkageType: ''
    returnType: void
    signature: void TEST(generateStateEffecterOEMPDR, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:363,1
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:365,1
    - Dst: std::make_unique<MockdBusHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:367,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:368,1
    - Dst: std::make_unique<MockCodeUpdate>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:370,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:370,1
    - Dst: std::make_unique<MockOemPlatformHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:372,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:373,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:373,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:375,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:375,1
    - Dst: ReturnRef
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:376,1
    - Dst: std::unique_ptr::buildOEMPDR
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:378,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:379,1
    - Dst: Repo::empty
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:379,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:384,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:385,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:388,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:390,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:391,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:392,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:393,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:394,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:395,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:397,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:398,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:399,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:400,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:401,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:404,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:405,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:408,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:411,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:412,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:414,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:416,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:417,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:418,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:419,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:420,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:421,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:422,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:423,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:424,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:425,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:426,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:427,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:429,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:430,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:431,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:434,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:437,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:438,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:443,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:444,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:446,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:447,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:449,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:450,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:451,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:453,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:455,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:456,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:457,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:460,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:463,1
    - Dst: ASSERT_NE
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:464,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:466,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:471,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:472,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:474,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:475,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:476,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:477,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:478,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:479,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:482,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:483,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:486,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 489
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - auto::get
    - TestInstanceIdDb::TestInstanceIdDb
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - Repo::empty
    - std::make_unique<MockdBusHandler>
    - pldm::responder::pdr::getRecordByHandle
    - getAssociateEntityMap
    - pldm_pdr_destroy
    - std::unique_ptr::buildOEMPDR
    - ASSERT_NE
    - pldm_pdr_init
    - std::make_unique<MockOemPlatformHandler>
    - ReturnRef
    - std::unique_ptr::get
    - EXPECT_CALL
    - reinterpret_cast<state_sensor_possible_states*>
    - ASSERT_EQ
    - std::make_unique<MockCodeUpdate>
    linkageType: ''
    returnType: void
    signature: void TEST(generateStateSensorOEMPDR, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:493,1
    - Dst: std::make_unique<MockdBusHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:494,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:495,1
    - Dst: std::make_unique<MockCodeUpdate>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:497,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:497,1
    - Dst: std::make_unique<MockOemPlatformHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:499,1
    - Dst: auto::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:500,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:500,1
    - Dst: std::unique_ptr::updateOemDbusPaths
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:504,1
    - Dst: std::unique_ptr::updateOemDbusPaths
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:507,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::make_unique<MockOemPlatformHandler>
    - std::unique_ptr::get
    - std::unique_ptr::updateOemDbusPaths
    - EXPECT_EQ
    - std::make_unique<MockCodeUpdate>
    - auto::get
    - TestInstanceIdDb::TestInstanceIdDb
    - std::make_unique<MockdBusHandler>
    linkageType: ''
    returnType: void
    signature: void TEST(updateOemDbusPath, testgoodpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::parseEntityMap
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:513,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:540,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:542,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:546,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:550,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:553,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:557,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:560,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:564,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:567,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:571,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:575,1
    - Dst: std::make_unique<MockOemUtilsHandler>
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:587,1
    - Dst: auto::setCoreCount
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:590,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 592
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<MockOemUtilsHandler>
    - auto::setCoreCount
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - pldm::hostbmc::utils::parseEntityMap
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(SetCoreCount, testgoodpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' bus'
    - ' objPath'
    - mctp_eid
    - ' instanceIdDb'
    - repo
    - handler
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint8_t
    - pldm::InstanceIdDb
    - pldm_pdr*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: MockLampTest::MockLampTest
    functionSourceFile: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockLampTest(sdbusplus::bus_t& bus, const std::string& objPath,\n
      \                uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n                 pldm_pdr*
      repo,\n                 pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:29,1
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:30,1
    - Dst: MockLampTest::asserted
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:35,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:36,1
    - Dst: MockLampTest::asserted
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:36,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:38,1
    - Dst: getEffecterID
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:38,1
    - Dst: Return
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:40,1
    - Dst: Return
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:41,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:42,1
    - Dst: setHostStateEffecter
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:42,1
    - Dst: Return
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:42,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:44,1
    - Dst: MockLampTest::asserted
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:44,1
    - Dst: MockLampTest::asserted
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:46,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:47,1
    - Dst: MockLampTest::asserted
      Src: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: TEST
    functionSourceFile: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - getEffecterID
    - ASSERT_THROW
    - EXPECT_EQ
    - setHostStateEffecter
    - EXPECT_CALL
    - TestInstanceIdDb::TestInstanceIdDb
    - sdbusplus::bus::new_default
    - MockLampTest::asserted
    linkageType: ''
    returnType: void
    signature: void TEST(TestLamp, Asserted)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:35,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:37,1
    - Dst: fetchBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:46,1
    - Dst: fetchSlotSensorState
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:57,1
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:65,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - compSensorCnt
    - ' stateField'
    argTypes:
    - pldm::pdr::EntityType
    - EntityInstance
    - ContainerID
    - StateSetId
    - CompositeCount
    - std::vector<get_sensor_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 77
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - clear
    - getAssociateEntityMap
    - push_back
    - fetchSlotSensorState
    - fetchBootSide
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
      \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
      containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
      /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:86,1
    - Dst: setBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:95,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:104,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:106,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:108,1
    - Dst: "std::make_unique<\n                        sdeventplus::source::Defer>"
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:116,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:119,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:120,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:129,1
    - Dst: clearDirPath
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:130,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:131,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:132,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:140,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:141,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:150,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:151,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:164,1
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:166,1
    - Dst: enableSlot
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:173,1
    - Dst: processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:182,1
    - Dst: turnOffRealSAIEffecter
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - entityType
    - entityInstance
    - stateSetId
    - compEffecterCnt
    - ' stateField'
    - effecterId
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 201
    functionName: "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - "std::make_unique<\n                        sdeventplus::source::Defer>"
    - getAssociateEntityMap
    - std::bind
    - std::mem_fn
    - setBootSide
    - enableSlot
    - turnOffRealSAIEffecter
    - clearDirPath
    - std::make_unique<sdeventplus::source::Defer>
    - sendStateSensorEvent
    - processRenameEvent
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
      \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n
      \       uint8_t compEffecterCnt,\n        std::vector<set_effecter_state_field>&
      stateField, uint16_t effecterId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:211,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:216,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:218,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:227,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:238,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:242,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:251,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 254
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  uint16_t entityType, uint16_t entityInstance,\n
      \                                  uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:264,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:266,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:269,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:270,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:274,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:284,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:286,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:288,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:290,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:292,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:307,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:312,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:315,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 319
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - static_cast<unsigned>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                  pdr_utils::Repo& repo,\n                                   const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:329,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:331,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:334,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:335,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:344,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:354,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:358,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:366,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - stateSetID
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllCodeUpdateSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                uint16_t entityType, uint16_t entityInstance,\n
      \                                uint16_t stateSetID, pdr_utils::Repo& repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:379,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:381,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:384,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:385,1
    - Dst: oem_ibm_platform::Handler*::getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:388,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:397,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:398,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:400,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:402,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:404,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:418,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:422,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:425,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - platformHandler
    - ' repo'
    - ' slotobjpaths'
    argTypes:
    - oem_ibm_platform::Handler*
    - pdr_utils::Repo
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 429
    functionName: pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getAssociateEntityMap
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - contains
    - at
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllSlotEnableSensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                                pdr_utils::Repo& repo,\n                                 const
      std::vector<std::string>& slotobjpaths)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:440,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:442,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:445,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:448,1
    - Dst: oem_ibm_platform::Handler*::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:457,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:468,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:472,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:475,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 478
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - std::vector::data
    - error
    - addRecord
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - reinterpret_cast<state_effecter_possible_states*>
    - std::vector::resize
    - oem_ibm_platform::Handler*::getNextEffecterId
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAIEffecterPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                               uint16_t entityType, uint16_t entityInstance,\n
      \                               pdr_utils::Repo& repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:489,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:491,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:494,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:497,1
    - Dst: oem_ibm_platform::Handler*::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:506,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:516,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:520,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:523,1
    - Dst: addRecord
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 4
    argNames:
    - platformHandler
    - entityType
    - entityInstance
    - ' repo'
    argTypes:
    - oem_ibm_platform::Handler*
    - uint16_t
    - uint16_t
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<state_sensor_possible_states*>
    - oem_ibm_platform::Handler*::getNextSensorId
    - static_cast<unsigned>
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - std::vector::data
    - error
    - addRecord
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: "void buildAllRealSAISensorPDR(oem_ibm_platform::Handler* platformHandler,\n
      \                             uint16_t entityType, uint16_t entityInstance,\n
      \                             pdr_utils::Repo& repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:531,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:534,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:537,1
    - Dst: buildAllCodeUpdateEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:540,1
    - Dst: getSubTreePaths
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:547,1
    - Dst: buildAllSlotEnableEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:548,1
    - Dst: buildAllRealSAIEffecterPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:550,1
    - Dst: buildAllSlotEnableSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:553,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:555,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:558,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:561,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:564,1
    - Dst: buildAllCodeUpdateSensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:567,1
    - Dst: buildAllRealSAISensorPDR
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:570,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:573,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:574,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:577,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:578,1
    - Dst: setMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:580,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:581,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:582,1
    - Dst: setFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:584,1
    - Dst: findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: getPdr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:586,1
    - Dst: setBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - pdr_utils::Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 589
    functionName: "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - buildAllCodeUpdateSensorPDR
    - findStateSensorId
    - setBootSideRenameStateSensor
    - setMarkerLidSensor
    - getSubTreePaths
    - buildAllSlotEnableSensorPDR
    - buildAllCodeUpdateEffecterPDR
    - buildAllRealSAIEffecterPDR
    - buildAllSlotEnableEffecterPDR
    - getPdr
    - setFirmwareUpdateSensor
    - buildAllRealSAISensorPDR
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n
      \   pldm::responder::platform::Handler* handler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:600,1
    - Dst: std::setfill
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::setw
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:605,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:608,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:615,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:619,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:624,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' requestMsg'
    - instanceId
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 634
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::setfill
    - decode_platform_event_message_resp
    - error
    - std::setw
    - registerRequest
    - std::ostringstream::str
    - std::move
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n
      \   std::vector<uint8_t>& requestMsg, uint8_t instanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:639,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:641,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:643,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - ' eventDataVec'
    - ' requestMsg'
    - instanceId
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 647
    functionName: pldm::responder::oem_ibm_platform::encodeEventMsg
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - reinterpret_cast<pldm_msg*>
    - size
    - data
    linkageType: ''
    returnType: int
    signature: "int encodeEventMsg(uint8_t eventType, const std::vector<uint8_t>&
      eventDataVec,\n                   std::vector<uint8_t>& requestMsg, uint8_t
      instanceId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:655,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_data*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:656,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:657,1
    - Dst: reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:662,1
    - Dst: next
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:667,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:670,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:672,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:675,1
    - Dst: encodeEventMsg
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:676,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:680,1
    - Dst: free
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:682,1
    - Dst: sendEventToHost
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:685,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 693
    functionName: "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - sendEventToHost
    - reinterpret_cast<struct pldm_sensor_event_data*>
    - std::vector::data
    - error
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::vector::size
    - encodeEventMsg
    - free
    - auto::value
    - auto::error
    - std::vector::resize
    - reinterpret_cast<struct pldm_sensor_event_state_sensor_state*>
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n
      \   uint16_t sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t
      sensorOffset, uint8_t eventState, uint8_t prevEventState)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:698,1
    - Dst: assembleCodeUpdateImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:699,1
    - Dst: setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:702,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:703,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - setCodeUpdateProgress
    - reset
    - sendStateSensorEvent
    - getFirmwareUpdateSensor
    - assembleCodeUpdateImage
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteImage
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:713,1
    - Dst: setRequestedApplyTime
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:715,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:718,1
    - Dst: getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:721,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - deleteImage
    - error
    - sendStateSensorEvent
    - setRequestedApplyTime
    - getFirmwareUpdateSensor
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:730,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:732,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:733,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:736,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:738,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: std::string::length
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:739,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:745,1
    - Dst: substr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:749,1
    - Dst: replace
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:751,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dbusPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 754
    functionName: "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - replace
    - find
    - substr
    - std::string::length
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n
      \   std::string& dbusPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:766,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:770,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:776,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:777,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:778,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:783,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:784,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:785,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:788,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:801,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:805,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:816,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 827
    functionName: "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - setDbusProperty
    - error
    - DbusChangedProps::end
    - std::get<std::string>
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n
      \   sdeventplus::source::EventBase& /*source */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - disableWatchDogTimer
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 857
    functionName: pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:868,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:875,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:877,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:879,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:880,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - watchDogRunning
    - error
    - call_noreply
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: watchDogRunning
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:895,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:903,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - watchDogRunning
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:913,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:918,1
    - Dst: auto::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:919,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:921,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:924,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: pldm::responder::oem_ibm_platform::Handler::checkBMCState()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::str::c_str
    - sdbusplus::object_path
    linkageType: ''
    returnType: int
    signature: int pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record *\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n
      \       const pldm_pdr* repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' record_handle'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 950
    functionName: "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n
      \   const uint32_t& record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void Handler::processSetEventReceiver()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:961,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:962,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - restart
    - setEnabled
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool
      value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:974,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:976,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:981,1
    - Dst: isEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:983,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:985,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:988,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tid
    - value
    argTypes:
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - isEnabled
    - pldm::utils::reportError
    - startStopTimer
    - info
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t
      tid,\n                                                              bool value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:998,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1002,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1007,1
    - Dst: setBootTypesBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1012,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - getBiosAttrValue<std::string>
    - setBootTypesBiosAttr
    - error
    - auto::empty
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1030,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1031,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1032,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1040,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1041,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1042,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1047,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1048,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1049,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1050,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' restartCause'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n
      \   const std::string& restartCause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1059,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1060,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1061,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1063,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1069,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1070,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1071,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1072,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1075
    functionName: pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - error
    - auto::empty
    - std::make_pair
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1084,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1088,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1097,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1105
    functionName: pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1111,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1130
    functionName: pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchRealSAIStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1134,1
    - Dst: sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
    functionUses: 0
    functionsReached:
    - fetchRealSAIStatus
    - sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: void pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:29,1
    - Dst: strnlen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:35,1
    - Dst: strncpy
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:40,1
    - Dst: socket
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:42,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:44,1
    - Dst: bind
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:48,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:50,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:52,1
    - Dst: listen
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:56,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:58,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:59,1
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:68,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:69,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:73,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:76,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:79,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:83,1
    - Dst: accept
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:85,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:88,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:91,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - ' socketInterface'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 97
    functionName: pldm::responder::utils::setupUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - socket
    - c_str
    - error
    - listen
    - FD_ZERO
    - accept
    - bind
    - FD_SET
    - strnlen
    - memset
    - FD_ISSET
    - select
    - strncpy
    linkageType: ''
    returnType: int
    signature: int setupUnixSocket(const std::string& socketInterface)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:111,1
    - Dst: FD_SET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:112,1
    - Dst: select
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:115,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:118,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:121,1
    - Dst: FD_ISSET
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:129,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:142,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - sock
    - buf
    - blockSize
    argTypes:
    - int
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 155
    functionName: pldm::responder::utils::writeToUnixSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - write
    - error
    - FD_ZERO
    - FD_SET
    - FD_ISSET
    - select
    - close
    linkageType: ''
    returnType: int
    signature: int writeToUnixSocket(const int sock, const char* buf, const uint64_t
      blockSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:164,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:165,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:166,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: pldm::responder::utils::checkIfIBMFru
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkIfIBMFru(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:187,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:193,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: pldm::responder::utils::findPortObjects
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::vector<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> findPortObjects(const std::string& adapterObjPath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:213,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:220,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:229,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:230,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:231,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:232,1
    - Dst: EntityMaps::at
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:233,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:234,1
    - Dst: getSubtree
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:238,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:243,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:249,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:252,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:256,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/utils.cpp:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ' Associations'
    - entityMaps
    argTypes:
    - EntityAssociations
    - EntityMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 271
    functionName: "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_extract
    - EntityMaps::at
    - setDbusProperty
    - error
    - contains
    - pldm_entity_get_parent
    - static_cast<uint16_t>
    - getSubtree
    - std::to_string
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const
      EntityAssociations& Associations, const EntityMaps entityMaps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pldm::responder::CodeUpdate::fetchCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchCurrentBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::responder::CodeUpdate::fetchNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchNextBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' currSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pldm::responder::CodeUpdate::setCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setCurrentBootSide(const std::string& currSide)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:79,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:88,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:94,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:98,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:100,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:106,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:107,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:127,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:130,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:134,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' nextSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 140
    functionName: pldm::responder::CodeUpdate::setNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - static_cast<uint8_t>
    - std::string::c_str
    - setDbusProperty
    - pldm::responder::CodeUpdate::readBootSideFile
    - error
    - std::string::empty
    - std::get<uint8_t>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setNextBootSide(const std::string& nextSide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: pldm::responder::CodeUpdate::setRequestedApplyTime
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedApplyTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:179,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: pldm::responder::CodeUpdate::setRequestedActivation
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedActivation()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:203,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:206,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:208,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:212,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:213,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:215,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:216,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:217,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:218,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:221,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:222,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:225,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:226,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:227,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:235,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:239,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:247,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:249,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:253,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:262,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:265,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:269,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:271,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:275,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:278,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:280,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:281,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:289,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:292,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:296,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:298,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:302,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:305,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:308,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:311,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:315,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:317,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:327,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:335,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:336,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:340,1
    - Dst: pldm::responder::CodeUpdate::processPriorityChangeNotification
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:341,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:344,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:350,1
    - Dst: sdbusplus::object_path::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:359,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:363,1
    - Dst: pldm::responder::CodeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:365,1
    - Dst: "std::make_unique<\n                                    sdbusplus::match>"
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:370,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:372,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:373,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:379,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:381,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:382,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:386,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:393,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:395,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:396,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:402,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:417,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:419,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:420,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:426,1
    - Dst: pldm::responder::CodeUpdate::setRequestedActivation
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:431,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:434,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:436,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:437,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:438,1
    - Dst: pldm::responder::CodeUpdate::processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:448,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:453,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 461
    functionName: pldm::responder::CodeUpdate::setVersions
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - PendingAttributesList::push_back
    - call
    - fs::exists
    - pldm::responder::CodeUpdate::isCodeUpdateInProgress
    - std::make_pair
    - getDbusPropertyVariant
    - getBus
    - DbusChangedProps::find
    - setBiosAttr
    - pldm::responder::CodeUpdate::setRequestedActivation
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::processPriorityChangeNotification
    - push_back
    - error
    - auto::has_value
    - info
    - propertiesChanged
    - sdbusplus::object_path::str::c_str
    - clear
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate::readBootSideFile
    - c_str
    - auto::append
    - auto::read
    - new_method_call
    - std::make_tuple
    - pldm::responder::CodeUpdate::processRenameEvent
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - DbusChangedProps::end
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - "std::make_unique<\n                                    sdbusplus::match>"
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - auto::value
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::setVersions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:465,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:468,1
    - Dst: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:475,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:476,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:477,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:480,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:483,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:486,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: pldm::responder::CodeUpdate::processRenameEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - std::make_pair
    - info
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::processRenameEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: std::ofstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:496,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:498,1
    - Dst: nlohmann::json::dump
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:510,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:514,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' pldmBootSideData'
    argTypes:
    - pldm_boot_side_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 526
    functionName: pldm::responder::CodeUpdate::writeBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 3
    functionsReached:
    - error
    - fs::create_directories
    - std::ofstream::is_open
    - nlohmann::json::dump
    - std::ofstream::close
    - fs::path
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::writeBootSideFile(const pldm_boot_side_data& pldmBootSideData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:536,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:544,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:545,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:546,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 551
    functionName: pldm::responder::CodeUpdate::readBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::close
    - error
    - nlohmann::json::value
    linkageType: ''
    returnType: pldm_boot_side_data
    signature: pldm_boot_side_data CodeUpdate::readBootSideFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:556,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:558,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:559,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:563,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:565,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:571,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:574,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:575,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:577,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:587,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' chProperties'
    argTypes:
    - DbusChangedProps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 589
    functionName: pldm::responder::CodeUpdate::processPriorityChangeNotification
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - find
    - error
    - auto::value
    - std::get<uint8_t>
    - auto::has_value
    - std::make_pair
    - end
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::processPriorityChangeNotification(\n    const DbusChangedProps&
      chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pldm::responder::CodeUpdate::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:599,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:601,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:604,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: pldm::responder::CodeUpdate::clearDirPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fs::is_directory
    - fs::directory_iterator
    - error
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::clearDirPath(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:615,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: pldm::responder::CodeUpdate::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:629,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:632,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:634,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: pldm::responder::CodeUpdate::deleteImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - new_method_call
    - call_noreply
    - getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::deleteImage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:650,1
    - Dst: CodeUpdate*::fetchNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - entityInstance
    - codeUpdate
    argTypes:
    - uint16_t
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: pldm::responder::fetchBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::fetchNextBootSide
    - CodeUpdate*::fetchCurrentBootSide
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fetchBootSide(uint16_t entityInstance, CodeUpdate* codeUpdate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::setCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:681,1
    - Dst: CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entityInstance
    - currState
    - ' stateField'
    - codeUpdate
    argTypes:
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 692
    functionName: pldm::responder::setBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::setCurrentBootSide
    - CodeUpdate*::setNextBootSide
    linkageType: ''
    returnType: int
    signature: "int setBootSide(uint16_t entityInstance, uint8_t currState,\n                const
      std::vector<set_effecter_state_field>& stateField,\n                CodeUpdate*
      codeUpdate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: popen
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::runtime_error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:702,1
    - Dst: pclose
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:704,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 714
    functionName: pldm::responder::executeCmd
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::runtime_error
    - pclose
    - popen
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int executeCmd(const T&... t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:735,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:738,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:742,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:743,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:744,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:747,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:752,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:754,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:755,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:759,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:760,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:763,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:769,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:770,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:771,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:776,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:781,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:782,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:783,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:786,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 789
    functionName: pldm::responder::processCodeUpdateLid
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - std::ifstream::read
    - fs::file_size
    - std::stringstream::str
    - htonl
    - error
    - fs::create_directories
    - std::ifstream::close
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - htons
    - std::ofstream::close
    - fs::path
    - std::ofstream::flush
    - fs::remove
    linkageType: ''
    returnType: int
    signature: int processCodeUpdateLid(const std::string& filePath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:793,1
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:797,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:803,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:807,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:808,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:809,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:810,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:813,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:816,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:823,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:824,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:825,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:828,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:833,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:834,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:839,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:840,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:844,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:845,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:846,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:847,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:850,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:855,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:859,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:860,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:861,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:863,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:867,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:869,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:874,1
    - Dst: waitpid
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:879,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:881,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:886,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:888,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 902
    functionName: pldm::responder::CodeUpdate::assembleCodeUpdateImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fork
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - waitpid
    - fs::remove_all
    - c_str
    - error
    - exit
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - fs::create_directories
    - fs::path
    - executeCmd
    - fs::copy_file
    - fs::remove
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::assembleCodeUpdateImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pldm::responder::CodeUpdate::fetchCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchCurrentBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::responder::CodeUpdate::fetchNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchNextBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' currSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pldm::responder::CodeUpdate::setCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setCurrentBootSide(const std::string& currSide)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:79,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:88,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:94,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:98,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:100,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:106,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:107,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:127,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:130,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:134,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' nextSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 140
    functionName: pldm::responder::CodeUpdate::setNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - static_cast<uint8_t>
    - std::string::c_str
    - setDbusProperty
    - pldm::responder::CodeUpdate::readBootSideFile
    - error
    - std::string::empty
    - std::get<uint8_t>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setNextBootSide(const std::string& nextSide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: pldm::responder::CodeUpdate::setRequestedApplyTime
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedApplyTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:179,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: pldm::responder::CodeUpdate::setRequestedActivation
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 1
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedActivation()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:203,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:206,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:208,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:212,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:213,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:215,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:216,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:217,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:218,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:221,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:222,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:225,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:226,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:227,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:235,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:239,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:247,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:249,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:253,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:262,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:265,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:269,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:271,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:275,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:278,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:280,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:281,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:289,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:292,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:296,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:298,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:302,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:305,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:308,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:311,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:315,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:317,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:327,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:335,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:336,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:340,1
    - Dst: pldm::responder::CodeUpdate::processPriorityChangeNotification
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:341,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:344,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:350,1
    - Dst: sdbusplus::object_path::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:359,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:363,1
    - Dst: pldm::responder::CodeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:365,1
    - Dst: "std::make_unique<\n                                    sdbusplus::match>"
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:370,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:372,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:373,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:379,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:381,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:382,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:386,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:393,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:395,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:396,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:402,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:417,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:419,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:420,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:426,1
    - Dst: pldm::responder::CodeUpdate::setRequestedActivation
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:431,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:434,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:436,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:437,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:438,1
    - Dst: pldm::responder::CodeUpdate::processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:448,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:453,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 461
    functionName: pldm::responder::CodeUpdate::setVersions
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - PendingAttributesList::push_back
    - call
    - fs::exists
    - pldm::responder::CodeUpdate::isCodeUpdateInProgress
    - std::make_pair
    - getDbusPropertyVariant
    - getBus
    - DbusChangedProps::find
    - setBiosAttr
    - pldm::responder::CodeUpdate::setRequestedActivation
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::processPriorityChangeNotification
    - push_back
    - error
    - auto::has_value
    - info
    - propertiesChanged
    - sdbusplus::object_path::str::c_str
    - clear
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate::readBootSideFile
    - c_str
    - auto::append
    - auto::read
    - new_method_call
    - std::make_tuple
    - pldm::responder::CodeUpdate::processRenameEvent
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - DbusChangedProps::end
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - "std::make_unique<\n                                    sdbusplus::match>"
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - auto::value
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::setVersions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:465,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:468,1
    - Dst: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:475,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:476,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:477,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:480,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:483,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:486,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: pldm::responder::CodeUpdate::processRenameEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - std::make_pair
    - info
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::processRenameEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: std::ofstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:496,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:498,1
    - Dst: nlohmann::json::dump
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:510,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:514,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' pldmBootSideData'
    argTypes:
    - pldm_boot_side_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 526
    functionName: pldm::responder::CodeUpdate::writeBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 7
    functionsReached:
    - error
    - fs::create_directories
    - std::ofstream::is_open
    - nlohmann::json::dump
    - std::ofstream::close
    - fs::path
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::writeBootSideFile(const pldm_boot_side_data& pldmBootSideData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:536,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:544,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:545,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:546,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 551
    functionName: pldm::responder::CodeUpdate::readBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 7
    functionsReached:
    - std::ifstream::close
    - error
    - nlohmann::json::value
    linkageType: ''
    returnType: pldm_boot_side_data
    signature: pldm_boot_side_data CodeUpdate::readBootSideFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:556,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:558,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:559,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:563,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:565,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:571,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:574,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:575,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:577,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:587,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' chProperties'
    argTypes:
    - DbusChangedProps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 589
    functionName: pldm::responder::CodeUpdate::processPriorityChangeNotification
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - find
    - error
    - auto::value
    - std::get<uint8_t>
    - auto::has_value
    - std::make_pair
    - end
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::processPriorityChangeNotification(\n    const DbusChangedProps&
      chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pldm::responder::CodeUpdate::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:599,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:601,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:604,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: pldm::responder::CodeUpdate::clearDirPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fs::is_directory
    - fs::directory_iterator
    - error
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::clearDirPath(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:615,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: pldm::responder::CodeUpdate::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 5
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:629,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:632,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:634,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: pldm::responder::CodeUpdate::deleteImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - new_method_call
    - call_noreply
    - getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::deleteImage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:650,1
    - Dst: CodeUpdate*::fetchNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - entityInstance
    - codeUpdate
    argTypes:
    - uint16_t
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: pldm::responder::fetchBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::fetchNextBootSide
    - CodeUpdate*::fetchCurrentBootSide
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fetchBootSide(uint16_t entityInstance, CodeUpdate* codeUpdate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::setCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:681,1
    - Dst: CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entityInstance
    - currState
    - ' stateField'
    - codeUpdate
    argTypes:
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 692
    functionName: pldm::responder::setBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::setCurrentBootSide
    - CodeUpdate*::setNextBootSide
    linkageType: ''
    returnType: int
    signature: "int setBootSide(uint16_t entityInstance, uint8_t currState,\n                const
      std::vector<set_effecter_state_field>& stateField,\n                CodeUpdate*
      codeUpdate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: popen
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::runtime_error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:702,1
    - Dst: pclose
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:704,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 714
    functionName: pldm::responder::executeCmd
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::runtime_error
    - pclose
    - popen
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int executeCmd(const T&... t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:735,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:738,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:742,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:743,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:744,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:747,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:752,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:754,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:755,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:759,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:760,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:763,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:769,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:770,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:771,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:776,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:781,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:782,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:783,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:786,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 789
    functionName: pldm::responder::processCodeUpdateLid
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - std::ifstream::read
    - fs::file_size
    - std::stringstream::str
    - htonl
    - error
    - fs::create_directories
    - std::ifstream::close
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - htons
    - std::ofstream::close
    - fs::path
    - std::ofstream::flush
    - fs::remove
    linkageType: ''
    returnType: int
    signature: int processCodeUpdateLid(const std::string& filePath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:793,1
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:797,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:803,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:807,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:808,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:809,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:810,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:813,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:816,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:823,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:824,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:825,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:828,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:833,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:834,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:839,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:840,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:844,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:845,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:846,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:847,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:850,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:855,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:859,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:860,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:861,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:863,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:867,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:869,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:874,1
    - Dst: waitpid
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:879,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:881,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:886,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:888,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 902
    functionName: pldm::responder::CodeUpdate::assembleCodeUpdateImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fork
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - waitpid
    - fs::remove_all
    - c_str
    - error
    - exit
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - fs::create_directories
    - fs::path
    - executeCmd
    - fs::copy_file
    - fs::remove
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::assembleCodeUpdateImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pldm::responder::CodeUpdate::fetchCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchCurrentBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::responder::CodeUpdate::fetchNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchNextBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' currSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pldm::responder::CodeUpdate::setCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setCurrentBootSide(const std::string& currSide)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:79,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:88,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:94,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:98,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:100,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:106,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:107,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:127,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:130,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:134,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' nextSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 140
    functionName: pldm::responder::CodeUpdate::setNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - static_cast<uint8_t>
    - std::string::c_str
    - setDbusProperty
    - pldm::responder::CodeUpdate::readBootSideFile
    - error
    - std::string::empty
    - std::get<uint8_t>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setNextBootSide(const std::string& nextSide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: pldm::responder::CodeUpdate::setRequestedApplyTime
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedApplyTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:179,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: pldm::responder::CodeUpdate::setRequestedActivation
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 2
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedActivation()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:203,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:206,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:208,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:212,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:213,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:215,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:216,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:217,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:218,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:221,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:222,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:225,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:226,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:227,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:235,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:239,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:247,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:249,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:253,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:262,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:265,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:269,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:271,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:275,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:278,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:280,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:281,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:289,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:292,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:296,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:298,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:302,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:305,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:308,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:311,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:315,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:317,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:327,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:335,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:336,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:340,1
    - Dst: pldm::responder::CodeUpdate::processPriorityChangeNotification
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:341,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:344,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:350,1
    - Dst: sdbusplus::object_path::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:359,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:363,1
    - Dst: pldm::responder::CodeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:365,1
    - Dst: "std::make_unique<\n                                    sdbusplus::match>"
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:370,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:372,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:373,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:379,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:381,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:382,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:386,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:393,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:395,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:396,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:402,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:417,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:419,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:420,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:426,1
    - Dst: pldm::responder::CodeUpdate::setRequestedActivation
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:431,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:434,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:436,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:437,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:438,1
    - Dst: pldm::responder::CodeUpdate::processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:448,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:453,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 461
    functionName: pldm::responder::CodeUpdate::setVersions
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - PendingAttributesList::push_back
    - call
    - fs::exists
    - pldm::responder::CodeUpdate::isCodeUpdateInProgress
    - std::make_pair
    - getDbusPropertyVariant
    - getBus
    - DbusChangedProps::find
    - setBiosAttr
    - pldm::responder::CodeUpdate::setRequestedActivation
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::processPriorityChangeNotification
    - push_back
    - error
    - auto::has_value
    - info
    - propertiesChanged
    - sdbusplus::object_path::str::c_str
    - clear
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate::readBootSideFile
    - c_str
    - auto::append
    - auto::read
    - new_method_call
    - std::make_tuple
    - pldm::responder::CodeUpdate::processRenameEvent
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - DbusChangedProps::end
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - "std::make_unique<\n                                    sdbusplus::match>"
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - auto::value
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::setVersions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:465,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:468,1
    - Dst: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:475,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:476,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:477,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:480,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:483,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:486,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: pldm::responder::CodeUpdate::processRenameEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - std::make_pair
    - info
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::processRenameEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: std::ofstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:496,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:498,1
    - Dst: nlohmann::json::dump
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:510,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:514,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' pldmBootSideData'
    argTypes:
    - pldm_boot_side_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 526
    functionName: pldm::responder::CodeUpdate::writeBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 11
    functionsReached:
    - error
    - fs::create_directories
    - std::ofstream::is_open
    - nlohmann::json::dump
    - std::ofstream::close
    - fs::path
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::writeBootSideFile(const pldm_boot_side_data& pldmBootSideData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:536,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:544,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:545,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:546,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 551
    functionName: pldm::responder::CodeUpdate::readBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 11
    functionsReached:
    - std::ifstream::close
    - error
    - nlohmann::json::value
    linkageType: ''
    returnType: pldm_boot_side_data
    signature: pldm_boot_side_data CodeUpdate::readBootSideFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:556,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:558,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:559,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:563,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:565,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:571,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:574,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:575,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:577,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:587,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' chProperties'
    argTypes:
    - DbusChangedProps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 589
    functionName: pldm::responder::CodeUpdate::processPriorityChangeNotification
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - find
    - error
    - auto::value
    - std::get<uint8_t>
    - auto::has_value
    - std::make_pair
    - end
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::processPriorityChangeNotification(\n    const DbusChangedProps&
      chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pldm::responder::CodeUpdate::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:599,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:601,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:604,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: pldm::responder::CodeUpdate::clearDirPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fs::is_directory
    - fs::directory_iterator
    - error
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::clearDirPath(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:615,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: pldm::responder::CodeUpdate::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:629,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:632,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:634,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: pldm::responder::CodeUpdate::deleteImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - new_method_call
    - call_noreply
    - getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::deleteImage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:650,1
    - Dst: CodeUpdate*::fetchNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - entityInstance
    - codeUpdate
    argTypes:
    - uint16_t
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: pldm::responder::fetchBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::fetchNextBootSide
    - CodeUpdate*::fetchCurrentBootSide
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fetchBootSide(uint16_t entityInstance, CodeUpdate* codeUpdate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::setCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:681,1
    - Dst: CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entityInstance
    - currState
    - ' stateField'
    - codeUpdate
    argTypes:
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 692
    functionName: pldm::responder::setBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::setCurrentBootSide
    - CodeUpdate*::setNextBootSide
    linkageType: ''
    returnType: int
    signature: "int setBootSide(uint16_t entityInstance, uint8_t currState,\n                const
      std::vector<set_effecter_state_field>& stateField,\n                CodeUpdate*
      codeUpdate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: popen
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::runtime_error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:702,1
    - Dst: pclose
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:704,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 714
    functionName: pldm::responder::executeCmd
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::runtime_error
    - pclose
    - popen
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int executeCmd(const T&... t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:735,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:738,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:742,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:743,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:744,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:747,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:752,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:754,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:755,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:759,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:760,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:763,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:769,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:770,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:771,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:776,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:781,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:782,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:783,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:786,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 789
    functionName: pldm::responder::processCodeUpdateLid
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - std::ifstream::read
    - fs::file_size
    - std::stringstream::str
    - htonl
    - error
    - fs::create_directories
    - std::ifstream::close
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - htons
    - std::ofstream::close
    - fs::path
    - std::ofstream::flush
    - fs::remove
    linkageType: ''
    returnType: int
    signature: int processCodeUpdateLid(const std::string& filePath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:793,1
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:797,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:803,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:807,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:808,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:809,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:810,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:813,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:816,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:823,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:824,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:825,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:828,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:833,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:834,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:839,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:840,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:844,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:845,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:846,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:847,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:850,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:855,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:859,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:860,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:861,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:863,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:867,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:869,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:874,1
    - Dst: waitpid
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:879,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:881,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:886,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:888,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 902
    functionName: pldm::responder::CodeUpdate::assembleCodeUpdateImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fork
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - waitpid
    - fs::remove_all
    - c_str
    - error
    - exit
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - fs::create_directories
    - fs::path
    - executeCmd
    - fs::copy_file
    - fs::remove
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::assembleCodeUpdateImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pldm::responder::CodeUpdate::fetchCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchCurrentBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::responder::CodeUpdate::fetchNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeUpdate::fetchNextBootSide()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' currSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pldm::responder::CodeUpdate::setCurrentBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setCurrentBootSide(const std::string& currSide)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:79,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:88,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:94,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:98,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:100,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:106,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:107,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:118,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:127,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:130,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:134,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - ' nextSide'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 140
    functionName: pldm::responder::CodeUpdate::setNextBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - static_cast<uint8_t>
    - std::string::c_str
    - setDbusProperty
    - pldm::responder::CodeUpdate::readBootSideFile
    - error
    - std::string::empty
    - std::get<uint8_t>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setNextBootSide(const std::string& nextSide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: pldm::responder::CodeUpdate::setRequestedApplyTime
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedApplyTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:179,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: pldm::responder::CodeUpdate::setRequestedActivation
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 3
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::setRequestedActivation()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:203,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:206,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:208,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:212,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:213,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:215,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:216,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:217,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:218,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:221,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:222,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:225,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:226,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:227,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:235,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:239,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:247,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:249,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:253,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:262,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:263,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:265,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:267,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:269,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:271,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:275,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:278,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:280,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:281,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:289,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:290,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:292,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:294,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:296,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:298,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:302,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:305,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:308,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:309,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:311,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:313,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:315,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:317,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:327,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:334,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:335,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:336,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:340,1
    - Dst: pldm::responder::CodeUpdate::processPriorityChangeNotification
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:341,1
    - Dst: push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:343,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:344,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:350,1
    - Dst: sdbusplus::object_path::str::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:359,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:363,1
    - Dst: pldm::responder::CodeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:365,1
    - Dst: "std::make_unique<\n                                    sdbusplus::match>"
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:370,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:372,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:373,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:379,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:381,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:382,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:386,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:393,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:395,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:396,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:402,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:417,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:419,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:420,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:426,1
    - Dst: pldm::responder::CodeUpdate::setRequestedActivation
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:431,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:434,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:436,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:437,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:438,1
    - Dst: pldm::responder::CodeUpdate::processRenameEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:448,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:453,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 461
    functionName: pldm::responder::CodeUpdate::setVersions
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - PendingAttributesList::push_back
    - call
    - fs::exists
    - pldm::responder::CodeUpdate::isCodeUpdateInProgress
    - std::make_pair
    - getDbusPropertyVariant
    - getBus
    - DbusChangedProps::find
    - setBiosAttr
    - pldm::responder::CodeUpdate::setRequestedActivation
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::processPriorityChangeNotification
    - push_back
    - error
    - auto::has_value
    - info
    - propertiesChanged
    - sdbusplus::object_path::str::c_str
    - clear
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate::readBootSideFile
    - c_str
    - auto::append
    - auto::read
    - new_method_call
    - std::make_tuple
    - pldm::responder::CodeUpdate::processRenameEvent
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - DbusChangedProps::end
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - "std::make_unique<\n                                    sdbusplus::match>"
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - auto::value
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::setVersions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:465,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:468,1
    - Dst: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:475,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:476,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:477,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:480,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:481,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:483,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:484,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:486,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 488
    functionName: pldm::responder::CodeUpdate::processRenameEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    - std::make_tuple
    - PendingAttributesList::emplace_back
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - std::make_pair
    - info
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::processRenameEvent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:494,1
    - Dst: std::ofstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:496,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:498,1
    - Dst: nlohmann::json::dump
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:510,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:514,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ' pldmBootSideData'
    argTypes:
    - pldm_boot_side_data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 526
    functionName: pldm::responder::CodeUpdate::writeBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 15
    functionsReached:
    - error
    - fs::create_directories
    - std::ofstream::is_open
    - nlohmann::json::dump
    - std::ofstream::close
    - fs::path
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::writeBootSideFile(const pldm_boot_side_data& pldmBootSideData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:536,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:544,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:545,1
    - Dst: nlohmann::json::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:546,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 551
    functionName: pldm::responder::CodeUpdate::readBootSideFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 15
    functionsReached:
    - std::ifstream::close
    - error
    - nlohmann::json::value
    linkageType: ''
    returnType: pldm_boot_side_data
    signature: pldm_boot_side_data CodeUpdate::readBootSideFile()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:556,1
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:558,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:559,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:563,1
    - Dst: pldm::responder::CodeUpdate::readBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:565,1
    - Dst: pldm::responder::CodeUpdate::writeBootSideFile
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:571,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:574,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:575,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:577,1
    - Dst: PendingAttributesList::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:585,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:587,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' chProperties'
    argTypes:
    - DbusChangedProps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 589
    functionName: pldm::responder::CodeUpdate::processPriorityChangeNotification
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::CodeUpdate::writeBootSideFile
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - pldm::responder::CodeUpdate::readBootSideFile
    - PendingAttributesList::push_back
    - find
    - error
    - auto::value
    - std::get<uint8_t>
    - auto::has_value
    - std::make_pair
    - end
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::processPriorityChangeNotification(\n    const DbusChangedProps&
      chProperties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pldm::responder::CodeUpdate::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:599,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:601,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:604,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 608
    functionName: pldm::responder::CodeUpdate::clearDirPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fs::is_directory
    - fs::directory_iterator
    - error
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::clearDirPath(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:615,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: pldm::responder::CodeUpdate::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 11
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void CodeUpdate::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:629,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:632,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:634,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 643
    functionName: pldm::responder::CodeUpdate::deleteImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - error
    - new_method_call
    - call_noreply
    - getBus
    linkageType: ''
    returnType: void
    signature: void CodeUpdate::deleteImage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:650,1
    - Dst: CodeUpdate*::fetchNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - entityInstance
    - codeUpdate
    argTypes:
    - uint16_t
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: pldm::responder::fetchBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::fetchNextBootSide
    - CodeUpdate*::fetchCurrentBootSide
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t fetchBootSide(uint16_t entityInstance, CodeUpdate* codeUpdate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CodeUpdate*::setCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:681,1
    - Dst: CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - entityInstance
    - currState
    - ' stateField'
    - codeUpdate
    argTypes:
    - uint16_t
    - uint8_t
    - std::vector<set_effecter_state_field>
    - CodeUpdate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 692
    functionName: pldm::responder::setBootSide
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - CodeUpdate*::setCurrentBootSide
    - CodeUpdate*::setNextBootSide
    linkageType: ''
    returnType: int
    signature: "int setBootSide(uint16_t entityInstance, uint8_t currState,\n                const
      std::vector<set_effecter_state_field>& stateField,\n                CodeUpdate*
      codeUpdate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: popen
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:699,1
    - Dst: std::runtime_error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:702,1
    - Dst: pclose
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:704,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 714
    functionName: pldm::responder::executeCmd
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::runtime_error
    - pclose
    - popen
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int executeCmd(const T&... t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:735,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:738,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:739,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:742,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:743,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:744,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:747,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:752,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:754,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:755,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:759,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:760,1
    - Dst: htons
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:763,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:768,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:769,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:770,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:771,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:776,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:777,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: htonl
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:780,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:781,1
    - Dst: std::ofstream::flush
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:782,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:783,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:786,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 789
    functionName: pldm::responder::processCodeUpdateLid
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - std::ifstream::read
    - fs::file_size
    - std::stringstream::str
    - htonl
    - error
    - fs::create_directories
    - std::ifstream::close
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - htons
    - std::ofstream::close
    - fs::path
    - std::ofstream::flush
    - fs::remove
    linkageType: ''
    returnType: int
    signature: int processCodeUpdateLid(const std::string& filePath)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:793,1
    - Dst: fork
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:797,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:802,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:803,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:807,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:808,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:809,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:810,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:813,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:816,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:819,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:823,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:824,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:825,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:828,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:833,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:834,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:839,1
    - Dst: executeCmd
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:840,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:844,1
    - Dst: pldm::responder::CodeUpdate::setCodeUpdateProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:845,1
    - Dst: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:846,1
    - Dst: pldm::responder::CodeUpdate::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:847,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:850,1
    - Dst: fs::copy_file
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:855,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:859,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:860,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:861,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:863,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:867,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:869,1
    - Dst: exit
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:874,1
    - Dst: waitpid
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:879,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:881,1
    - Dst: WEXITSTATUS
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:886,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:888,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp:896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 902
    functionName: pldm::responder::CodeUpdate::assembleCodeUpdateImage
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    functionUses: 0
    functionsReached:
    - fork
    - pldm::responder::CodeUpdate::setCodeUpdateProgress
    - waitpid
    - fs::remove_all
    - c_str
    - error
    - exit
    - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    - pldm::responder::CodeUpdate::sendStateSensorEvent
    - fs::create_directories
    - fs::path
    - executeCmd
    - fs::copy_file
    - fs::remove
    - WEXITSTATUS
    linkageType: ''
    returnType: int
    signature: int CodeUpdate::assembleCodeUpdateImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 2
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 3
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 4
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 5
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 6
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 7
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:30,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:32,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:35,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:41,1
    - Dst: le16toh
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:42,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:51,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:53,1
    - Dst: reinterpret_cast<const PcieConfigSpaceData*>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:62,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:70,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:72,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:74,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:79,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:82,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:83,1
    - Dst: std::format
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: htole16
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:85,1
    - Dst: updateDBusProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:87,1
    - Dst: setFirmwareUAK
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 108
    functionName: "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - updateDBusProperty
    - size
    - getAssociateEntityMap
    - data
    - std::views::iota
    - setFirmwareUAK
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - htole16
    - reinterpret_cast<const PcieConfigSpaceData*>
    - std::format
    linkageType: ''
    returnType: int
    signature: "int pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const
      std::vector<uint8_t>& fruData)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:122,1
    - Dst: pldm::responder::utils::checkIfIBMFru
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:134,1
    - Dst: pldm::utils::setFruPresence
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:136,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:138,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:139,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:140,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:141,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:142,1
    - Dst: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - fruRSI
    - ' fruAssociationMap'
    - ' vendorId'
    - ' deviceId'
    - ' revisionId'
    - ' classCode'
    - ' subSystemVendorId'
    - ' subSystemId'
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 148
    functionName: pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    - pldm::utils::setFruPresence
    - pldm::responder::utils::checkIfIBMFru
    linkageType: ''
    returnType: void
    signature: "void Handler::updateDBusProperty(\n    uint16_t fruRSI, const AssociatedEntityMap&
      fruAssociationMap,\n    const std::string& vendorId, const std::string& deviceId,\n
      \   const std::string& revisionId, const std::string& classCode,\n    const
      std::string& subSystemVendorId, const std::string& subSystemId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:162,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' adapterObjPath'
    - ' propertyName'
    - ' propValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::responder::oem_ibm_fru::Handler::dbus_map_update
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: "void Handler::dbus_map_update(const std::string& adapterObjPath,\n
      \                             const std::string& propertyName,\n                              const
      std::string& propValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:181,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:184,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:187,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:188,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:190,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler::setFirmwareUAK(const std::vector<uint8_t>& data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:31,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:34,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:40,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:41,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:42,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:48,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: pldm::responder::CertHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::get<0>
    - find
    - error
    - std::get<1>
    - erase
    - end
    - close
    linkageType: ''
    returnType: int
    signature: "int CertHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                                uint64_t address,\n                                 oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:60,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:65,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: pldm::responder::CertHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::to_string
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int CertHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:77,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:81,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:86,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pldm::responder::CertHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - readFile
    - fs::remove
    - info
    linkageType: ''
    returnType: int
    signature: "int CertHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:98,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:99,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:101,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:111,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:119,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:125,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:129,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:130,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:139,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:142,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:144,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:145,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:146,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:152,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:157,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:161,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:169,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:173,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:176,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:181,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:186,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:191,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:195,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 210
    functionName: pldm::responder::CertHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::rdbuf
    - pldm::responder::CertHandler::write
    - std::get<0>
    - std::stringstream::str
    - find
    - error
    - std::string::empty
    - std::get<1>
    - info
    - std::ifstream::close
    - erase
    - pldm::utils::DBusHandler
    - end
    - std::ifstream::open
    - close
    - std::to_string
    - fs::remove
    - lseek
    linkageType: ''
    returnType: int
    signature: "int CertHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                       oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:214,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:215,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:227,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:230,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:241,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 248
    functionName: pldm::responder::CertHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: int CertHandler::newFileAvailable(uint64_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:254,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:255,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:269,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:272,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:278,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:281,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:287,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:291,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:305,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: pldm::responder::CertHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - pldm::utils::DBusHandler
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: "int CertHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:321,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:334,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: pldm::responder::CertHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::to_string
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int CertHandler::fileAckWithMetaData(\n    uint8_t fileStatus, uint32_t
      /*metaDataValue1*/,\n    uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \   uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:31,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:34,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:40,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:41,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:42,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:48,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: pldm::responder::CertHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::get<0>
    - find
    - error
    - std::get<1>
    - erase
    - end
    - close
    linkageType: ''
    returnType: int
    signature: "int CertHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                                uint64_t address,\n                                 oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:60,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:65,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: pldm::responder::CertHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::to_string
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int CertHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:77,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:81,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:86,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pldm::responder::CertHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - readFile
    - fs::remove
    - info
    linkageType: ''
    returnType: int
    signature: "int CertHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:98,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:99,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:101,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:111,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:119,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:125,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:129,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:130,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:139,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:142,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:144,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:145,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:146,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:152,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:157,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:161,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:169,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:173,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:176,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:181,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:186,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:191,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:195,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 210
    functionName: pldm::responder::CertHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::rdbuf
    - pldm::responder::CertHandler::write
    - std::get<0>
    - std::stringstream::str
    - find
    - error
    - std::string::empty
    - std::get<1>
    - info
    - std::ifstream::close
    - erase
    - pldm::utils::DBusHandler
    - end
    - std::ifstream::open
    - close
    - std::to_string
    - fs::remove
    - lseek
    linkageType: ''
    returnType: int
    signature: "int CertHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                       oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:214,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:215,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:227,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:230,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:241,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 248
    functionName: pldm::responder::CertHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: int CertHandler::newFileAvailable(uint64_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:254,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:255,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:269,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:272,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:278,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:281,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:287,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:291,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:305,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: pldm::responder::CertHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - pldm::utils::DBusHandler
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: "int CertHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:321,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:334,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: pldm::responder::CertHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::to_string
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int CertHandler::fileAckWithMetaData(\n    uint8_t fileStatus, uint32_t
      /*metaDataValue1*/,\n    uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \   uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:31,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:34,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:40,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:41,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:42,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:48,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: pldm::responder::CertHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::get<0>
    - find
    - error
    - std::get<1>
    - erase
    - end
    - close
    linkageType: ''
    returnType: int
    signature: "int CertHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                                uint64_t address,\n                                 oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:60,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:65,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: pldm::responder::CertHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::to_string
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int CertHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:77,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:81,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:86,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pldm::responder::CertHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - readFile
    - fs::remove
    - info
    linkageType: ''
    returnType: int
    signature: "int CertHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:98,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:99,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:101,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:111,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:119,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:125,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:129,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:130,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:139,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:142,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:144,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:145,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:146,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:152,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:157,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:161,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:169,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:173,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:176,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:181,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:186,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:191,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:195,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 210
    functionName: pldm::responder::CertHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::rdbuf
    - pldm::responder::CertHandler::write
    - std::get<0>
    - std::stringstream::str
    - find
    - error
    - std::string::empty
    - std::get<1>
    - info
    - std::ifstream::close
    - erase
    - pldm::utils::DBusHandler
    - end
    - std::ifstream::open
    - close
    - std::to_string
    - fs::remove
    - lseek
    linkageType: ''
    returnType: int
    signature: "int CertHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                       oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:214,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:215,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:227,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:230,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:241,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 248
    functionName: pldm::responder::CertHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: int CertHandler::newFileAvailable(uint64_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:254,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:255,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:269,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:272,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:278,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:281,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:287,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:291,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:305,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: pldm::responder::CertHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - pldm::utils::DBusHandler
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: "int CertHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:321,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:334,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: pldm::responder::CertHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::to_string
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int CertHandler::fileAckWithMetaData(\n    uint8_t fileStatus, uint32_t
      /*metaDataValue1*/,\n    uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \   uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:31,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:34,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:40,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:41,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:42,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:48,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: pldm::responder::CertHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::get<0>
    - find
    - error
    - std::get<1>
    - erase
    - end
    - close
    linkageType: ''
    returnType: int
    signature: "int CertHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                                uint64_t address,\n                                 oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:60,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:65,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: pldm::responder::CertHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - std::to_string
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int CertHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:77,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:81,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:86,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pldm::responder::CertHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - readFile
    - fs::remove
    - info
    linkageType: ''
    returnType: int
    signature: "int CertHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:98,1
    - Dst: end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:99,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:101,1
    - Dst: std::get<0>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:111,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:119,1
    - Dst: std::get<1>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:125,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:129,1
    - Dst: erase
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:130,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:139,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:142,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:144,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:145,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:146,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:152,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:157,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:161,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:169,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:173,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:176,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:181,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:186,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:191,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:195,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 210
    functionName: pldm::responder::CertHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 4
    functionsReached:
    - std::ifstream::rdbuf
    - pldm::responder::CertHandler::write
    - std::get<0>
    - std::stringstream::str
    - find
    - error
    - std::string::empty
    - std::get<1>
    - info
    - std::ifstream::close
    - erase
    - pldm::utils::DBusHandler
    - end
    - std::ifstream::open
    - close
    - std::to_string
    - fs::remove
    - lseek
    linkageType: ''
    returnType: int
    signature: "int CertHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                       oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:214,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:215,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:227,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:230,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:231,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:237,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:241,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 248
    functionName: pldm::responder::CertHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: int CertHandler::newFileAvailable(uint64_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:254,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:255,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:269,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:272,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:273,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:278,1
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:281,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:287,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:291,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:301,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:305,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    - Dst: std::tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: pldm::responder::CertHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - error
    - fs::create_directories
    - fs::permissions
    - pldm::utils::DBusHandler
    - info
    - std::tuple
    - std::to_string
    - open
    linkageType: ''
    returnType: int
    signature: "int CertHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:321,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:334,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 345
    functionName: pldm::responder::CertHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::to_string
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int CertHandler::fileAckWithMetaData(\n    uint8_t fileStatus, uint32_t
      /*metaDataValue1*/,\n    uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \   uint32_t /*metaDataValue4*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~FileTable()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(const FileTable&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(FileTable&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::filetable::FileTable::at
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 1
    functionsReached:
    - pldm::filetable::FileTable::at
    linkageType: ''
    returnType: FileEntry
    signature: FileEntry at(Handle handle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pldm::filetable::FileTable::isEmpty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:92,1
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: pldm::filetable::FileTable::clear
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 1
    functionsReached:
    - pldm::filetable::FileTable::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~FileTable()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(const FileTable&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(FileTable&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::filetable::FileTable::at
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 2
    functionsReached:
    - pldm::filetable::FileTable::at
    linkageType: ''
    returnType: FileEntry
    signature: FileEntry at(Handle handle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pldm::filetable::FileTable::isEmpty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:92,1
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: pldm::filetable::FileTable::clear
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 2
    functionsReached:
    - pldm::filetable::FileTable::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~FileTable()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(const FileTable&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(FileTable&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::filetable::FileTable::at
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 3
    functionsReached:
    - pldm::filetable::FileTable::at
    linkageType: ''
    returnType: FileEntry
    signature: FileEntry at(Handle handle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pldm::filetable::FileTable::isEmpty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:92,1
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: pldm::filetable::FileTable::clear
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 3
    functionsReached:
    - pldm::filetable::FileTable::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~FileTable()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(const FileTable&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(const FileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileTable(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(FileTable&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTable
    signature: FileTable & operator=(FileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::filetable::FileTable::at
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 4
    functionsReached:
    - pldm::filetable::FileTable::at
    linkageType: ''
    returnType: FileEntry
    signature: FileEntry at(Handle handle) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pldm::filetable::FileTable::isEmpty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool isEmpty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:92,1
    - Dst: pldm::filetable::FileTable::clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: pldm::filetable::FileTable::clear
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    functionUses: 4
    functionsReached:
    - pldm::filetable::FileTable::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:27,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:32,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:35,1
    - Dst: "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:37,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - "\n        progressCodeBuffer"
    argTypes:
    - std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 52
    functionName: pldm::responder::ProgressCodeHandler::setRawBootProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 0
    functionsReached:
    - "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::setRawBootProperty(\n    const std::tuple<std::vector<uint8_t>,
      std::vector<uint8_t>>&\n        progressCodeBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:68,1
    - Dst: pldm::responder::ProgressCodeHandler::setRawBootProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: pldm::responder::ProgressCodeHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::responder::ProgressCodeHandler::setRawBootProperty
    - std::vector::begin
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::write(const char* buffer, uint32_t /*offset*/,\n
      \                              uint32_t& length,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:27,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:32,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:35,1
    - Dst: "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:37,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - "\n        progressCodeBuffer"
    argTypes:
    - std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 52
    functionName: pldm::responder::ProgressCodeHandler::setRawBootProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 1
    functionsReached:
    - "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::setRawBootProperty(\n    const std::tuple<std::vector<uint8_t>,
      std::vector<uint8_t>>&\n        progressCodeBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:68,1
    - Dst: pldm::responder::ProgressCodeHandler::setRawBootProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: pldm::responder::ProgressCodeHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::responder::ProgressCodeHandler::setRawBootProperty
    - std::vector::begin
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::write(const char* buffer, uint32_t /*offset*/,\n
      \                              uint32_t& length,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:27,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:32,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:35,1
    - Dst: "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:37,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - "\n        progressCodeBuffer"
    argTypes:
    - std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 52
    functionName: pldm::responder::ProgressCodeHandler::setRawBootProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 2
    functionsReached:
    - "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::setRawBootProperty(\n    const std::tuple<std::vector<uint8_t>,
      std::vector<uint8_t>>&\n        progressCodeBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:68,1
    - Dst: pldm::responder::ProgressCodeHandler::setRawBootProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: pldm::responder::ProgressCodeHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::responder::ProgressCodeHandler::setRawBootProperty
    - std::vector::begin
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::write(const char* buffer, uint32_t /*offset*/,\n
      \                              uint32_t& length,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:27,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:32,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:33,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:35,1
    - Dst: "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:37,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - "\n        progressCodeBuffer"
    argTypes:
    - std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 52
    functionName: pldm::responder::ProgressCodeHandler::setRawBootProperty
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 3
    functionsReached:
    - "std::variant<\n                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>"
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::setRawBootProperty(\n    const std::tuple<std::vector<uint8_t>,
      std::vector<uint8_t>>&\n        progressCodeBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:67,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:68,1
    - Dst: pldm::responder::ProgressCodeHandler::setRawBootProperty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: pldm::responder::ProgressCodeHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::responder::ProgressCodeHandler::setRawBootProperty
    - std::vector::begin
    linkageType: ''
    returnType: int
    signature: "int ProgressCodeHandler::write(const char* buffer, uint32_t /*offset*/,\n
      \                              uint32_t& length,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 9
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 10
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 11
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 12
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 13
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 14
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 15
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:68,1
    - Dst: pldm::responder::CodeUpdate*::setVersions
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:72,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:76,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:77,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:78,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:83,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:85,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:86,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:89,1
    - Dst: disableWatchDogTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:95,1
    - Dst: startStopTimer
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:96,1
    - Dst: pldm::filetable::clearFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:97,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:114,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:115,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:116,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:121,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:122,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:123,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:126,1
    - Dst: handleBootTypesAtChassisOff
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:130,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:137,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:154,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:163,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:164,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:165,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:174,1
    - Dst: Properties::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:175,1
    - Dst: Properties::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:176,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:182,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:189,1
    - Dst: pldm::responder::CodeUpdate*::setNextBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:192,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:197,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:198,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:199,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:205,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:206,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:207,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:209,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:213,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:214,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:215,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:221,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:222,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:223,1
    - Dst: processSAIUpdate
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 8
    argNames:
    - dBusIntf
    - codeUpdate
    - slotHandler
    - mctp_fd
    - mctp_eid
    - ' instanceIdDb'
    - ' event'
    - handler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::CodeUpdate*
    - pldm::responder::SlotHandler*
    - int
    - uint8_t
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 228
    functionName: pldm::responder::oem_ibm_platform::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - startStopTimer
    - processSAIUpdate
    - std::mem_fn
    - error
    - handleBootTypesAtChassisOff
    - Properties::find
    - propertiesChanged
    - pldm::utils::DbusChangedProps::end
    - disableWatchDogTimer
    - std::make_unique<sdbusplus::match>
    - pldm::responder::CodeUpdate*::setVersions
    - pldm::utils::DBusHandler
    - pldm::utils::DbusChangedProps::find
    - pldm::responder::CodeUpdate*::setNextBootSide
    - std::get<PendingAttributes>
    - std::bind
    - Properties::end
    - std::get<std::string>
    - pldm::filetable::clearFileTable
    - read
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf,\n            pldm::responder::CodeUpdate*
      codeUpdate,\n            pldm::responder::SlotHandler* slotHandler, int mctp_fd,\n
      \           uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n            sdeventplus::Event&
      event,\n            pldm::requester::Handler<pldm::requester::Request>* handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countSetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 16
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
    linkageType: ''
    returnType: void
    signature: void setEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 420
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 515
    functionName: pldm::responder::oem_ibm_bios::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:524,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: std::get<5>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:529,1
    - Dst: getBiosAttrValue<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:533,1
    - Dst: auto::has_value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:535,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:537,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:541,1
    - Dst: PendingAttributesList::emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:548,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:550,1
    - Dst: setBiosAttr
      Src: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BaseBIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getBiosAttrValue<std::string>
    - PendingAttributesList::emplace_back
    - fs::exists
    - auto::has_value
    - std::get<std::string>
    - std::make_pair
    - info
    - auto::value
    - std::get<5>
    - setBiosAttr
    linkageType: ''
    returnType: void
    signature: void processOEMBaseBiosTable(const BaseBIOSTable& biosTable) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: pldm::responder::CodeUpdate::CodeUpdate
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeUpdate(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pldm::responder::CodeUpdate::fetchnewImageId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fetchnewImageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::CodeUpdate::isCodeUpdateInProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCodeUpdateInProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progress
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::CodeUpdate::setCodeUpdateProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCodeUpdateProgress(bool progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pldm::responder::CodeUpdate::getMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMarkerLidSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pldm::responder::CodeUpdate::setMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMarkerLidSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pldm::responder::CodeUpdate::setFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFirmwareUpdateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFirmwareUpdateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pldm::responder::CodeUpdate::setBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBootSideRenameStateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getBootSideRenameStateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~CodeUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: pldm::responder::CodeUpdate::CodeUpdate
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeUpdate(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pldm::responder::CodeUpdate::fetchnewImageId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fetchnewImageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::CodeUpdate::isCodeUpdateInProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCodeUpdateInProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progress
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::CodeUpdate::setCodeUpdateProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCodeUpdateProgress(bool progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pldm::responder::CodeUpdate::getMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMarkerLidSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pldm::responder::CodeUpdate::setMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMarkerLidSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pldm::responder::CodeUpdate::setFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFirmwareUpdateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFirmwareUpdateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pldm::responder::CodeUpdate::setBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBootSideRenameStateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getBootSideRenameStateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~CodeUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: pldm::responder::CodeUpdate::CodeUpdate
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeUpdate(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pldm::responder::CodeUpdate::fetchnewImageId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fetchnewImageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::CodeUpdate::isCodeUpdateInProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCodeUpdateInProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progress
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::CodeUpdate::setCodeUpdateProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCodeUpdateProgress(bool progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pldm::responder::CodeUpdate::getMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMarkerLidSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pldm::responder::CodeUpdate::setMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMarkerLidSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pldm::responder::CodeUpdate::setFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFirmwareUpdateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFirmwareUpdateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pldm::responder::CodeUpdate::setBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBootSideRenameStateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getBootSideRenameStateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~CodeUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: pldm::responder::CodeUpdate::CodeUpdate
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeUpdate(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pldm::responder::CodeUpdate::fetchnewImageId
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fetchnewImageId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::CodeUpdate::isCodeUpdateInProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCodeUpdateInProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progress
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::CodeUpdate::setCodeUpdateProgress
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCodeUpdateProgress(bool progress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pldm::responder::CodeUpdate::getMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMarkerLidSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pldm::responder::CodeUpdate::setMarkerLidSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMarkerLidSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pldm::responder::CodeUpdate::setFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFirmwareUpdateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pldm::responder::CodeUpdate::getFirmwareUpdateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFirmwareUpdateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sensorId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pldm::responder::CodeUpdate::setBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setBootSideRenameStateSensor(uint16_t sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pldm::responder::CodeUpdate::getBootSideRenameStateSensor
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getBootSideRenameStateSensor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~CodeUpdate()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~SlotHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const SlotHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(SlotHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' event'
    - repo
    argTypes:
    - sdeventplus::Event
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - std::mem_fn
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const sdeventplus::Event& event, pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~SlotHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const SlotHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(SlotHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' event'
    - repo
    argTypes:
    - sdeventplus::Event
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - std::mem_fn
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const sdeventplus::Event& event, pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~SlotHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const SlotHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(SlotHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' event'
    - repo
    argTypes:
    - sdeventplus::Event
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - std::mem_fn
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const sdeventplus::Event& event, pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~SlotHandler()
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const SlotHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(const SlotHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlotHandler(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(SlotHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlotHandler
    signature: SlotHandler & operator=(SlotHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bind
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    - Dst: std::mem_fn
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' event'
    - repo
    argTypes:
    - sdeventplus::Event
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::SlotHandler::SlotHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - std::mem_fn
    linkageType: ''
    returnType: void
    signature: void SlotHandler(const sdeventplus::Event& event, pldm_pdr* repo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:33,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:37,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:59,1
    - Dst: pldm::InstanceIdDb*::next
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:69,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:73,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:76,1
    - Dst: encode_bios_attribute_update_event_req
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:78,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:80,1
    - Dst: std::vector::size
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:84,1
    - Dst: pldm::InstanceIdDb*::free
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:87,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:96,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:101,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:105,1
    - Dst: pldm::requester::Handler<pldm::requester::Request>*::registerRequest
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:110,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - eid
    - instanceIdDb
    - ' handles'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - std::vector<uint16_t>
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 121
    functionName: pldm::responder::platform::sendBiosAttributeUpdateEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdDb*::next
    - reinterpret_cast<const uint8_t*>
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - encode_bios_attribute_update_event_req
    - reinterpret_cast<pldm_msg*>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - sdbusplus::message::convert_from_string<Stages>
    - auto::value
    - pldm::requester::Handler<pldm::requester::Request>*::registerRequest
    - std::move
    - std::vector::size
    - pldm::InstanceIdDb*::free
    linkageType: ''
    returnType: int
    signature: "int sendBiosAttributeUpdateEvent(\n    uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    const std::vector<uint16_t>& handles,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:16,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:19,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:21,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:23,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:25,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:28,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: pldm::responder::SlotHandler::timeOutHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - static_cast<unsigned>
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: void SlotHandler::timeOutHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:45,1
    - Dst: pldm::responder::SlotHandler::getEntityIDfromEffecterID
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:47,1
    - Dst: pldm::responder::SlotHandler::processSlotOperations
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - effecterId
    - ' fruAssociationMap'
    - stateFileValue
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: pldm::responder::SlotHandler::enableSlot
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::SlotHandler::processSlotOperations
    - pldm::responder::SlotHandler::getEntityIDfromEffecterID
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::enableSlot(uint16_t effecterId,\n                             const
      AssociatedEntityMap& fruAssociationMap,\n                             uint8_t
      stateFileValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:69,1
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:85,1
    - Dst: pldm::responder::SlotHandler::createPresenceMatch
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:89,1
    - Dst: pldm::responder::SlotHandler::callVPDManager
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:92,1
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' slotObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: pldm::responder::SlotHandler::processSlotOperations
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::SlotHandler::callVPDManager
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::createPresenceMatch
    - restart
    - std::chrono::seconds
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processSlotOperations(const std::string& slotObjectPath,\n
      \                                       const pldm_entity& entity,\n                                        uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:107,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:113,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:121,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' adapterObjPath'
    - stateFieldValue
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: pldm::responder::SlotHandler::callVPDManager
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::callVPDManager(const std::string& adapterObjPath,\n
      \                                uint8_t stateFieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:140,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' slotObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: pldm::responder::SlotHandler::getAdapterObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - contains
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> SlotHandler::getAdapterObjPath(\n    const
      std::string& slotObjPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:158,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:159,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:160,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:166,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:167,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:168,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:170,1
    - Dst: pldm::responder::SlotHandler::processPresentPropertyChange
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' adapterObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: pldm::responder::SlotHandler::createPresenceMatch
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::DbusChangedProps::end
    - std::make_unique<sdbusplus::match>
    - pldm::responder::SlotHandler::processPresentPropertyChange
    - read
    - std::get<bool>
    - pldm::utils::DbusChangedProps::find
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::createPresenceMatch(const std::string& adapterObjectPath,\n
      \                                     const pldm_entity& entity,\n                                      uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:183,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:190,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:210,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - presentValue
    - stateFiledvalue
    - ' entity'
    argTypes:
    - bool
    - uint8_t
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: pldm::responder::SlotHandler::processPresentPropertyChange
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processPresentPropertyChange(\n    bool presentValue,
      uint8_t stateFiledvalue, const pldm_entity& entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:227,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:229,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:231,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - effecterId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: pldm::responder::SlotHandler::getEntityIDfromEffecterID
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - pldm_pdr_find_record_by_type
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: pldm_entity
    signature: pldm_entity SlotHandler::getEntityIDfromEffecterID(uint16_t effecterId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:267,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:271,1
    - Dst: pldm::responder::SlotHandler::fetchSensorStateFromDbus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' slotObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: pldm::responder::SlotHandler::fetchSlotSensorState
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::fetchSensorStateFromDbus
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SlotHandler::fetchSlotSensorState(const std::string& slotObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: pldm::responder::SlotHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:299,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: pldm::responder::SlotHandler::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:316,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:317,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:318,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: pldm::responder::SlotHandler::fetchSensorStateFromDbus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool SlotHandler::fetchSensorStateFromDbus(const std::string& adapterObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:16,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:19,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:21,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:23,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:25,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:28,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: pldm::responder::SlotHandler::timeOutHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - static_cast<unsigned>
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: void SlotHandler::timeOutHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:45,1
    - Dst: pldm::responder::SlotHandler::getEntityIDfromEffecterID
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:47,1
    - Dst: pldm::responder::SlotHandler::processSlotOperations
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - effecterId
    - ' fruAssociationMap'
    - stateFileValue
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: pldm::responder::SlotHandler::enableSlot
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::SlotHandler::processSlotOperations
    - pldm::responder::SlotHandler::getEntityIDfromEffecterID
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::enableSlot(uint16_t effecterId,\n                             const
      AssociatedEntityMap& fruAssociationMap,\n                             uint8_t
      stateFileValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:69,1
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:85,1
    - Dst: pldm::responder::SlotHandler::createPresenceMatch
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:89,1
    - Dst: pldm::responder::SlotHandler::callVPDManager
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:92,1
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' slotObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: pldm::responder::SlotHandler::processSlotOperations
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::SlotHandler::callVPDManager
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::createPresenceMatch
    - restart
    - std::chrono::seconds
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processSlotOperations(const std::string& slotObjectPath,\n
      \                                       const pldm_entity& entity,\n                                        uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:107,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:113,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:121,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' adapterObjPath'
    - stateFieldValue
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: pldm::responder::SlotHandler::callVPDManager
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::callVPDManager(const std::string& adapterObjPath,\n
      \                                uint8_t stateFieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:140,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' slotObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: pldm::responder::SlotHandler::getAdapterObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - contains
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> SlotHandler::getAdapterObjPath(\n    const
      std::string& slotObjPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:158,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:159,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:160,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:166,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:167,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:168,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:170,1
    - Dst: pldm::responder::SlotHandler::processPresentPropertyChange
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' adapterObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: pldm::responder::SlotHandler::createPresenceMatch
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::DbusChangedProps::end
    - std::make_unique<sdbusplus::match>
    - pldm::responder::SlotHandler::processPresentPropertyChange
    - read
    - std::get<bool>
    - pldm::utils::DbusChangedProps::find
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::createPresenceMatch(const std::string& adapterObjectPath,\n
      \                                     const pldm_entity& entity,\n                                      uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:183,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:190,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:210,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - presentValue
    - stateFiledvalue
    - ' entity'
    argTypes:
    - bool
    - uint8_t
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: pldm::responder::SlotHandler::processPresentPropertyChange
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processPresentPropertyChange(\n    bool presentValue,
      uint8_t stateFiledvalue, const pldm_entity& entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:227,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:229,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:231,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - effecterId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: pldm::responder::SlotHandler::getEntityIDfromEffecterID
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - pldm_pdr_find_record_by_type
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: pldm_entity
    signature: pldm_entity SlotHandler::getEntityIDfromEffecterID(uint16_t effecterId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:267,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:271,1
    - Dst: pldm::responder::SlotHandler::fetchSensorStateFromDbus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' slotObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: pldm::responder::SlotHandler::fetchSlotSensorState
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::fetchSensorStateFromDbus
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SlotHandler::fetchSlotSensorState(const std::string& slotObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: pldm::responder::SlotHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:299,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: pldm::responder::SlotHandler::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:316,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:317,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:318,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: pldm::responder::SlotHandler::fetchSensorStateFromDbus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 2
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool SlotHandler::fetchSensorStateFromDbus(const std::string& adapterObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:16,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:19,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:21,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:23,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:25,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:28,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: pldm::responder::SlotHandler::timeOutHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - static_cast<unsigned>
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: void SlotHandler::timeOutHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:45,1
    - Dst: pldm::responder::SlotHandler::getEntityIDfromEffecterID
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:47,1
    - Dst: pldm::responder::SlotHandler::processSlotOperations
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - effecterId
    - ' fruAssociationMap'
    - stateFileValue
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: pldm::responder::SlotHandler::enableSlot
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::SlotHandler::processSlotOperations
    - pldm::responder::SlotHandler::getEntityIDfromEffecterID
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::enableSlot(uint16_t effecterId,\n                             const
      AssociatedEntityMap& fruAssociationMap,\n                             uint8_t
      stateFileValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:69,1
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:85,1
    - Dst: pldm::responder::SlotHandler::createPresenceMatch
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:89,1
    - Dst: pldm::responder::SlotHandler::callVPDManager
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:92,1
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' slotObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: pldm::responder::SlotHandler::processSlotOperations
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::SlotHandler::callVPDManager
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::createPresenceMatch
    - restart
    - std::chrono::seconds
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processSlotOperations(const std::string& slotObjectPath,\n
      \                                       const pldm_entity& entity,\n                                        uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:107,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:113,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:121,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' adapterObjPath'
    - stateFieldValue
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: pldm::responder::SlotHandler::callVPDManager
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::callVPDManager(const std::string& adapterObjPath,\n
      \                                uint8_t stateFieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:140,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' slotObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: pldm::responder::SlotHandler::getAdapterObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 5
    functionsReached:
    - contains
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> SlotHandler::getAdapterObjPath(\n    const
      std::string& slotObjPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:158,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:159,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:160,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:166,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:167,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:168,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:170,1
    - Dst: pldm::responder::SlotHandler::processPresentPropertyChange
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' adapterObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: pldm::responder::SlotHandler::createPresenceMatch
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::DbusChangedProps::end
    - std::make_unique<sdbusplus::match>
    - pldm::responder::SlotHandler::processPresentPropertyChange
    - read
    - std::get<bool>
    - pldm::utils::DbusChangedProps::find
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::createPresenceMatch(const std::string& adapterObjectPath,\n
      \                                     const pldm_entity& entity,\n                                      uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:183,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:190,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:210,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - presentValue
    - stateFiledvalue
    - ' entity'
    argTypes:
    - bool
    - uint8_t
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: pldm::responder::SlotHandler::processPresentPropertyChange
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processPresentPropertyChange(\n    bool presentValue,
      uint8_t stateFiledvalue, const pldm_entity& entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:227,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:229,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:231,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - effecterId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: pldm::responder::SlotHandler::getEntityIDfromEffecterID
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - pldm_pdr_find_record_by_type
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: pldm_entity
    signature: pldm_entity SlotHandler::getEntityIDfromEffecterID(uint16_t effecterId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:267,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:271,1
    - Dst: pldm::responder::SlotHandler::fetchSensorStateFromDbus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' slotObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: pldm::responder::SlotHandler::fetchSlotSensorState
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::fetchSensorStateFromDbus
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SlotHandler::fetchSlotSensorState(const std::string& slotObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: pldm::responder::SlotHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:299,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: pldm::responder::SlotHandler::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 6
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:316,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:317,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:318,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: pldm::responder::SlotHandler::fetchSensorStateFromDbus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool SlotHandler::fetchSensorStateFromDbus(const std::string& adapterObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:16,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:19,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:21,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:23,1
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:25,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:28,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: pldm::responder::SlotHandler::timeOutHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - static_cast<unsigned>
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: void SlotHandler::timeOutHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:45,1
    - Dst: pldm::responder::SlotHandler::getEntityIDfromEffecterID
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:47,1
    - Dst: pldm::responder::SlotHandler::processSlotOperations
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - effecterId
    - ' fruAssociationMap'
    - stateFileValue
    argTypes:
    - uint16_t
    - AssociatedEntityMap
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: pldm::responder::SlotHandler::enableSlot
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::SlotHandler::processSlotOperations
    - pldm::responder::SlotHandler::getEntityIDfromEffecterID
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::enableSlot(uint16_t effecterId,\n                             const
      AssociatedEntityMap& fruAssociationMap,\n                             uint8_t
      stateFileValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:69,1
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:80,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:85,1
    - Dst: pldm::responder::SlotHandler::createPresenceMatch
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:89,1
    - Dst: pldm::responder::SlotHandler::callVPDManager
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:92,1
    - Dst: restart
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ' slotObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: pldm::responder::SlotHandler::processSlotOperations
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::SlotHandler::callVPDManager
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::createPresenceMatch
    - restart
    - std::chrono::seconds
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processSlotOperations(const std::string& slotObjectPath,\n
      \                                       const pldm_entity& entity,\n                                        uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:107,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:110,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:112,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:113,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:118,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: static_cast<sdbusplus::object_path>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:120,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:121,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' adapterObjPath'
    - stateFieldValue
    argTypes:
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: pldm::responder::SlotHandler::callVPDManager
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - static_cast<sdbusplus::object_path>
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::callVPDManager(const std::string& adapterObjPath,\n
      \                                uint8_t stateFieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:140,1
    - Dst: contains
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' slotObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: pldm::responder::SlotHandler::getAdapterObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 7
    functionsReached:
    - contains
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> SlotHandler::getAdapterObjPath(\n    const
      std::string& slotObjPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:158,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:159,1
    - Dst: propertiesChanged
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:160,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:166,1
    - Dst: pldm::utils::DbusChangedProps::find
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:167,1
    - Dst: pldm::utils::DbusChangedProps::end
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:168,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:170,1
    - Dst: pldm::responder::SlotHandler::processPresentPropertyChange
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' adapterObjectPath'
    - ' entity'
    - stateFieldValue
    argTypes:
    - std::string
    - pldm_entity
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: pldm::responder::SlotHandler::createPresenceMatch
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::DbusChangedProps::end
    - std::make_unique<sdbusplus::match>
    - pldm::responder::SlotHandler::processPresentPropertyChange
    - read
    - std::get<bool>
    - pldm::utils::DbusChangedProps::find
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::createPresenceMatch(const std::string& adapterObjectPath,\n
      \                                     const pldm_entity& entity,\n                                      uint8_t
      stateFieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setEnabled
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:183,1
    - Dst: pldm::utils::findStateSensorId
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:190,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:210,1
    - Dst: pldm::responder::SlotHandler::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - presentValue
    - stateFiledvalue
    - ' entity'
    argTypes:
    - bool
    - uint8_t
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: pldm::responder::SlotHandler::processPresentPropertyChange
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::findStateSensorId
    - pldm::responder::SlotHandler::sendStateSensorEvent
    - setEnabled
    - info
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::processPresentPropertyChange(\n    bool presentValue,
      uint8_t stateFiledvalue, const pldm_entity& entity)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:227,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:229,1
    - Dst: reinterpret_cast<pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:231,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - effecterId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: pldm::responder::SlotHandler::getEntityIDfromEffecterID
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<pldm_state_effecter_pdr*>
    - pldm_pdr_find_record_by_type
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: pldm_entity
    signature: pldm_entity SlotHandler::getEntityIDfromEffecterID(uint16_t effecterId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::SlotHandler::getAdapterObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:267,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:271,1
    - Dst: pldm::responder::SlotHandler::fetchSensorStateFromDbus
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' slotObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: pldm::responder::SlotHandler::fetchSlotSensorState
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::SlotHandler::getAdapterObjPath
    - pldm::responder::SlotHandler::fetchSensorStateFromDbus
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SlotHandler::fetchSlotSensorState(const std::string& slotObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: pldm::responder::SlotHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::setOemPlatformHandler(\n    pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:299,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - sensorId
    - sensorEventClass
    - sensorOffset
    - eventState
    - prevEventState
    argTypes:
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: pldm::responder::SlotHandler::sendStateSensorEvent
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 8
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void SlotHandler::sendStateSensorEvent(\n    uint16_t sensorId, enum
      sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset, uint8_t
      eventState, uint8_t prevEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:316,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:317,1
    - Dst: std::get<bool>
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:318,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' adapterObjectPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: pldm::responder::SlotHandler::fetchSensorStateFromDbus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
    functionUses: 4
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool SlotHandler::fetchSensorStateFromDbus(const std::string& adapterObjectPath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:98,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:106,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:107,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:109,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: pldm::responder::PelHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                              uint64_t address,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:129,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:134,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:137,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:138,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:140,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:145,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:150,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:155,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:159,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:162,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:166,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:167,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:170,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:173,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:180,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 194
    functionName: pldm::responder::PelHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - size
    - lseek
    - data
    - error
    - pldm::responder::CertHandler::read
    - resize
    - call
    - reinterpret_cast<char*>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                     oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:201,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:204,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:208,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:211,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: pldm::responder::PelHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - mkstemp
    - fs::path::string
    - close
    - pldm::responder::PelHandler::storePel
    linkageType: ''
    returnType: int
    signature: "int PelHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:224,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:226,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:235,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:249,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:254,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:273,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:284,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:285,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 298
    functionName: pldm::responder::PelHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::append
    - error
    - std::string::empty
    - call_noreply
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:305,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:310,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:314,1
    - Dst: pldm::responder::detail::getEntryLevelFromPEL
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:315,1
    - Dst: std::map::emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:320,1
    - Dst: is_method_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:324,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:326,1
    - Dst: get_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:328,1
    - Dst: auto::call_async
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:332,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: pldm::responder::PelHandler::storePel
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 1
    functionsReached:
    - is_method_error
    - auto::append
    - pldm::responder::detail::getEntryLevelFromPEL
    - error
    - auto::call_async
    - std::move
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::c_str
    - pldm::utils::DBusHandler
    - std::map::emplace
    - get_error
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::storePel(std::string&& pelFileName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:352,1
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:357,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:360,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:368,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:375,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:379,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:382,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 399
    functionName: pldm::responder::PelHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PelHandler::storePel
    - pldm::responder::CertHandler::write
    - error
    - mkstemp
    - fs::path::string
    - close
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int PelHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:98,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:106,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:107,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:109,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: pldm::responder::PelHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                              uint64_t address,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:129,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:134,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:137,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:138,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:140,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:145,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:150,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:155,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:159,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:162,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:166,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:167,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:170,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:173,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:180,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 194
    functionName: pldm::responder::PelHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - size
    - lseek
    - data
    - error
    - pldm::responder::CertHandler::read
    - resize
    - call
    - reinterpret_cast<char*>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                     oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:201,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:204,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:208,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:211,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: pldm::responder::PelHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - mkstemp
    - fs::path::string
    - close
    - pldm::responder::PelHandler::storePel
    linkageType: ''
    returnType: int
    signature: "int PelHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:224,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:226,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:235,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:249,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:254,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:273,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:284,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:285,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 298
    functionName: pldm::responder::PelHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::append
    - error
    - std::string::empty
    - call_noreply
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:305,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:310,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:314,1
    - Dst: pldm::responder::detail::getEntryLevelFromPEL
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:315,1
    - Dst: std::map::emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:320,1
    - Dst: is_method_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:324,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:326,1
    - Dst: get_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:328,1
    - Dst: auto::call_async
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:332,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: pldm::responder::PelHandler::storePel
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 3
    functionsReached:
    - is_method_error
    - auto::append
    - pldm::responder::detail::getEntryLevelFromPEL
    - error
    - auto::call_async
    - std::move
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::c_str
    - pldm::utils::DBusHandler
    - std::map::emplace
    - get_error
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::storePel(std::string&& pelFileName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:352,1
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:357,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:360,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:368,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:375,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:379,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:382,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 399
    functionName: pldm::responder::PelHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PelHandler::storePel
    - pldm::responder::CertHandler::write
    - error
    - mkstemp
    - fs::path::string
    - close
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int PelHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:98,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:106,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:107,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:109,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: pldm::responder::PelHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                              uint64_t address,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:129,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:134,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:137,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:138,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:140,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:145,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:150,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:155,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:159,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:162,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:166,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:167,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:170,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:173,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:180,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 194
    functionName: pldm::responder::PelHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - size
    - lseek
    - data
    - error
    - pldm::responder::CertHandler::read
    - resize
    - call
    - reinterpret_cast<char*>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                     oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:201,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:204,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:208,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:211,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: pldm::responder::PelHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - mkstemp
    - fs::path::string
    - close
    - pldm::responder::PelHandler::storePel
    linkageType: ''
    returnType: int
    signature: "int PelHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:224,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:226,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:235,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:249,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:254,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:273,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:284,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:285,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 298
    functionName: pldm::responder::PelHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::append
    - error
    - std::string::empty
    - call_noreply
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:305,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:310,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:314,1
    - Dst: pldm::responder::detail::getEntryLevelFromPEL
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:315,1
    - Dst: std::map::emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:320,1
    - Dst: is_method_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:324,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:326,1
    - Dst: get_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:328,1
    - Dst: auto::call_async
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:332,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: pldm::responder::PelHandler::storePel
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 5
    functionsReached:
    - is_method_error
    - auto::append
    - pldm::responder::detail::getEntryLevelFromPEL
    - error
    - auto::call_async
    - std::move
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::c_str
    - pldm::utils::DBusHandler
    - std::map::emplace
    - get_error
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::storePel(std::string&& pelFileName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:352,1
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:357,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:360,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:368,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:375,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:379,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:382,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 399
    functionName: pldm::responder::PelHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PelHandler::storePel
    - pldm::responder::CertHandler::write
    - error
    - mkstemp
    - fs::path::string
    - close
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int PelHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:57,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:59,1
    - Dst: std::ifstream::good
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:67,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:70,1
    - Dst: std::map::find
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:75,1
    - Dst: std::map::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: pldm::responder::detail::getEntryLevelFromPEL
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::ifstream::read
    - fs::file_size
    - std::map::find
    - error
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    - std::map::end
    linkageType: ''
    returnType: Entry::Level
    signature: Entry::Level getEntryLevelFromPEL(const std::string& pelFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:98,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:104,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:106,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:107,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:109,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: pldm::responder::PelHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                              uint64_t address,\n                               oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:129,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:134,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:135,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:137,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:138,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:140,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:145,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:150,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:155,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:159,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:162,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:166,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:167,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:168,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:170,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:173,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:180,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 194
    functionName: pldm::responder::PelHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - size
    - lseek
    - data
    - error
    - pldm::responder::CertHandler::read
    - resize
    - call
    - reinterpret_cast<char*>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int PelHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                     oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:201,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:204,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:208,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:211,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: pldm::responder::PelHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - mkstemp
    - fs::path::string
    - close
    - pldm::responder::PelHandler::storePel
    linkageType: ''
    returnType: int
    signature: "int PelHandler::writeFromMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:224,1
    - Dst: std::string::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:226,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:235,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:247,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:249,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:254,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:273,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:282,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:284,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:285,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 298
    functionName: pldm::responder::PelHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - auto::append
    - error
    - std::string::empty
    - call_noreply
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:305,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:310,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:314,1
    - Dst: pldm::responder::detail::getEntryLevelFromPEL
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:315,1
    - Dst: std::map::emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:316,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:318,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:320,1
    - Dst: is_method_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:324,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:326,1
    - Dst: get_error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:328,1
    - Dst: auto::call_async
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:332,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' pelFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 343
    functionName: pldm::responder::PelHandler::storePel
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 7
    functionsReached:
    - is_method_error
    - auto::append
    - pldm::responder::detail::getEntryLevelFromPEL
    - error
    - auto::call_async
    - std::move
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::c_str
    - pldm::utils::DBusHandler
    - std::map::emplace
    - get_error
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PelHandler::storePel(std::string&& pelFileName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:352,1
    - Dst: mkstemp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:357,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:360,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:368,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:375,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:379,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:382,1
    - Dst: pldm::responder::PelHandler::storePel
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: fs::path::string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:389,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp:392,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - buffer
    - offset
    - ' length'
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 399
    functionName: pldm::responder::PelHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PelHandler::storePel
    - pldm::responder::CertHandler::write
    - error
    - mkstemp
    - fs::path::string
    - close
    - fs::remove
    linkageType: ''
    returnType: int
    signature: "int PelHandler::write(const char* buffer, uint32_t offset, uint32_t&
      length,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::responder::CertHandler::CertHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::responder::CertHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~CertHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CertHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::responder::CertHandler::CertHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::responder::CertHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~CertHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CertHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::responder::CertHandler::CertHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::responder::CertHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~CertHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CertHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::responder::CertHandler::CertHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CertHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pldm::responder::CertHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: ~CertHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CertHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: pldm::responder::ProgressCodeHandler::ProgressCodeHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgressCodeHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pldm::responder::ProgressCodeHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::responder::ProgressCodeHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: pldm::responder::ProgressCodeHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pldm::responder::ProgressCodeHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pldm::responder::ProgressCodeHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~ProgressCodeHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgressCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: pldm::responder::ProgressCodeHandler::ProgressCodeHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgressCodeHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pldm::responder::ProgressCodeHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::responder::ProgressCodeHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: pldm::responder::ProgressCodeHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pldm::responder::ProgressCodeHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pldm::responder::ProgressCodeHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~ProgressCodeHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgressCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: pldm::responder::ProgressCodeHandler::ProgressCodeHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgressCodeHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pldm::responder::ProgressCodeHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::responder::ProgressCodeHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: pldm::responder::ProgressCodeHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pldm::responder::ProgressCodeHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pldm::responder::ProgressCodeHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~ProgressCodeHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgressCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: pldm::responder::ProgressCodeHandler::ProgressCodeHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProgressCodeHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pldm::responder::ProgressCodeHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::responder::ProgressCodeHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: pldm::responder::ProgressCodeHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pldm::responder::ProgressCodeHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pldm::responder::ProgressCodeHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~ProgressCodeHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ProgressCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pldm::responder::DumpHandler::DumpHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumpHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pldm::responder::DumpHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~DumpHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DumpHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pldm::responder::DumpHandler::DumpHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumpHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pldm::responder::DumpHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~DumpHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DumpHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pldm::responder::DumpHandler::DumpHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumpHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pldm::responder::DumpHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~DumpHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DumpHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pldm::responder::DumpHandler::DumpHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DumpHandler(uint32_t fileHandle, uint16_t fileType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pldm::responder::DumpHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~DumpHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DumpHandler() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:62,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:67,1
    - Dst: std::get_if<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: pldm::responder::DumpHandler::findDumpObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - std::get_if<uint32_t>
    - error
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::findDumpObjPath(uint32_t fileHandle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:112,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:129,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:132,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: pldm::responder::DumpHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::newFileAvailable(uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:148,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:149,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:159,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: pldm::responder::DumpHandler::getOffloadUri
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - error
    - auto::empty
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::getOffloadUri(uint32_t fileHandle) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:177,1
    - Dst: setupUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:178,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:182,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:183,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: transferFileDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - length
    - address
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: pldm::responder::DumpHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - transferFileDataToSocket
    - auto::c_str
    - setupUnixSocket
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::writeFromMemory(uint32_t, uint32_t length, uint64_t
      address,\n                                 oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:198,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:202,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:203,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: pldm::responder::DumpHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - writeToUnixSocket
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::c_str
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::write(const char* buffer, uint32_t, uint32_t& length,\n
      \                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:216,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:221,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:222,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:235,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:241,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:243,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:248,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:253,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:261,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:265,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:269,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:272,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:277,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:280,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:281,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:283,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:287,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:290,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:308,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:313,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 325
    functionName: pldm::responder::DumpHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - close
    - pldm::utils::reportError
    - fs::remove_all
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::empty
    - fs::exists
    - call
    - static_cast<uint32_t>
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: pldm::responder::DumpHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: pldm::responder::DumpHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - readFile
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:353,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:367,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:370,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:371,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:375,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 384
    functionName: pldm::responder::DumpHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::reportError
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:62,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:67,1
    - Dst: std::get_if<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: pldm::responder::DumpHandler::findDumpObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 2
    functionsReached:
    - std::get_if<uint32_t>
    - error
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::findDumpObjPath(uint32_t fileHandle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:112,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:129,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:132,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: pldm::responder::DumpHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::newFileAvailable(uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:148,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:149,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:159,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: pldm::responder::DumpHandler::getOffloadUri
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 3
    functionsReached:
    - error
    - auto::empty
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::getOffloadUri(uint32_t fileHandle) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:177,1
    - Dst: setupUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:178,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:182,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:183,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: transferFileDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - length
    - address
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: pldm::responder::DumpHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - transferFileDataToSocket
    - auto::c_str
    - setupUnixSocket
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::writeFromMemory(uint32_t, uint32_t length, uint64_t
      address,\n                                 oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:198,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:202,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:203,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: pldm::responder::DumpHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - writeToUnixSocket
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::c_str
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::write(const char* buffer, uint32_t, uint32_t& length,\n
      \                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:216,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:221,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:222,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:235,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:241,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:243,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:248,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:253,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:261,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:265,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:269,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:272,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:277,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:280,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:281,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:283,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:287,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:290,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:308,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:313,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 325
    functionName: pldm::responder::DumpHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - close
    - pldm::utils::reportError
    - fs::remove_all
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::empty
    - fs::exists
    - call
    - static_cast<uint32_t>
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: pldm::responder::DumpHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: pldm::responder::DumpHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - readFile
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:353,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:367,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:370,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:371,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:375,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 384
    functionName: pldm::responder::DumpHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::reportError
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:62,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:67,1
    - Dst: std::get_if<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: pldm::responder::DumpHandler::findDumpObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 4
    functionsReached:
    - std::get_if<uint32_t>
    - error
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::findDumpObjPath(uint32_t fileHandle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:112,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:129,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:132,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: pldm::responder::DumpHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::newFileAvailable(uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:148,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:149,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:159,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: pldm::responder::DumpHandler::getOffloadUri
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 6
    functionsReached:
    - error
    - auto::empty
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::getOffloadUri(uint32_t fileHandle) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:177,1
    - Dst: setupUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:178,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:182,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:183,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: transferFileDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - length
    - address
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: pldm::responder::DumpHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - transferFileDataToSocket
    - auto::c_str
    - setupUnixSocket
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::writeFromMemory(uint32_t, uint32_t length, uint64_t
      address,\n                                 oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:198,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:202,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:203,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: pldm::responder::DumpHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - writeToUnixSocket
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::c_str
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::write(const char* buffer, uint32_t, uint32_t& length,\n
      \                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:216,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:221,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:222,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:235,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:241,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:243,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:248,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:253,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:261,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:265,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:269,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:272,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:277,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:280,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:281,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:283,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:287,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:290,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:308,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:313,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 325
    functionName: pldm::responder::DumpHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - close
    - pldm::utils::reportError
    - fs::remove_all
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::empty
    - fs::exists
    - call
    - static_cast<uint32_t>
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: pldm::responder::DumpHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: pldm::responder::DumpHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - readFile
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:353,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:367,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:370,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:371,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:375,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 384
    functionName: pldm::responder::DumpHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::reportError
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:62,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:67,1
    - Dst: std::get_if<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: pldm::responder::DumpHandler::findDumpObjPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 6
    functionsReached:
    - std::get_if<uint32_t>
    - error
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::findDumpObjPath(uint32_t fileHandle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:112,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:129,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:130,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:132,1
    - Dst: call_noreply
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 144
    functionName: pldm::responder::DumpHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - error
    - call_noreply
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::newFileAvailable(uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:148,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:149,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:159,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: pldm::responder::DumpHandler::getOffloadUri
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 9
    functionsReached:
    - error
    - auto::empty
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    linkageType: ''
    returnType: std::string
    signature: std::string DumpHandler::getOffloadUri(uint32_t fileHandle) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:177,1
    - Dst: setupUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:178,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:182,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:183,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:186,1
    - Dst: transferFileDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - length
    - address
    argTypes:
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 193
    functionName: pldm::responder::DumpHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - transferFileDataToSocket
    - auto::c_str
    - setupUnixSocket
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::writeFromMemory(uint32_t, uint32_t length, uint64_t
      address,\n                                 oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:198,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:202,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:203,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:204,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: pldm::responder::DumpHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - writeToUnixSocket
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::c_str
    - close
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::write(const char* buffer, uint32_t, uint32_t& length,\n
      \                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::DumpHandler::findDumpObjPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:216,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:221,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:222,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:231,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:235,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:241,1
    - Dst: fs::remove_all
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:243,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:248,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:253,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:261,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:265,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:269,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:272,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:277,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:280,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:281,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:283,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:287,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:290,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:308,1
    - Dst: pldm::responder::DumpHandler::getOffloadUri
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:313,1
    - Dst: std::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:314,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - fileStatus
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 325
    functionName: pldm::responder::DumpHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - close
    - pldm::utils::reportError
    - fs::remove_all
    - pldm::responder::DumpHandler::getOffloadUri
    - std::remove
    - error
    - auto::empty
    - fs::exists
    - call
    - static_cast<uint32_t>
    - auto::c_str
    - pldm::utils::DBusHandler
    - pldm::responder::DumpHandler::findDumpObjPath
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int DumpHandler::fileAck(uint8_t fileStatus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: pldm::responder::DumpHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::readIntoMemory(uint32_t offset, uint32_t length,\n
      \                               uint64_t address,\n                                oem_platform::Handler*
      /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: pldm::responder::DumpHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - readFile
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                      oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:353,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:367,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:368,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:370,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:371,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:375,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - length
    - metaDataValue1
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 384
    functionName: pldm::responder::DumpHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::reportError
    - error
    - call
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int DumpHandler::newFileAvailableWithMetaData(\n    uint64_t length,
      uint32_t metaDataValue1, uint32_t /*metaDataValue2*/,\n    uint32_t /*metaDataValue3*/,
      uint32_t /*metaDataValue4*/)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:101,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:108,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:116,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:119,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:120,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:132,1
    - Dst: DMAInterface*::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:142,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:145,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 8
    argNames:
    - intf
    - command
    - ' path'
    - offset
    - length
    - address
    - upstream
    - instanceId
    argTypes:
    - DMAInterface*
    - uint8_t
    - fs::path
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: pldm::responder::dma::transferAll
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - Response::data
    - error
    - encode_rw_file_memory_resp
    - DMAInterface*::transferDataHost
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - fd
    - string
    - open
    linkageType: ''
    returnType: Response
    signature: "Response transferAll(DMAInterface* intf, uint8_t command, fs::path&
      path,\n                     uint32_t offset, uint32_t length, uint64_t address,\n
      \                    bool upstream, uint8_t instanceId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:173,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:176,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:178,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:181,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:183,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:186,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:188,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:191,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:193,1
    - Dst: pldm::responder::oem_ibm::Handler::readFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:196,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:198,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFileByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:201,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:203,1
    - Dst: pldm::responder::oem_ibm::Handler::getFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:206,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:208,1
    - Dst: pldm::responder::oem_ibm::Handler::readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:211,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:213,1
    - Dst: pldm::responder::oem_ibm::Handler::writeFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:216,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:218,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:221,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:223,1
    - Dst: pldm::responder::oem_ibm::Handler::getAlertStatus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:226,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:228,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:231,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:233,1
    - Dst: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:236,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:238,1
    - Dst: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:241,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:245,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:246,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:247,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:248,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:256,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:269,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:274,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:277,1
    - Dst: "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:279,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:288,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:289,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:290,1
    - Dst: sdbusplus::match_rules::argNpath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:291,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:299,1
    - Dst: std::get<std::string>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:310,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:312,1
    - Dst: emplace_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:314,1
    - Dst: "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
        \                                                     DbusToFileHandler>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 5
    argNames:
    - oemPlatformHandler
    - hostSockFd
    - hostEid
    - instanceIdDb
    - handler
    argTypes:
    - oem_platform::Handler*
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 328
    functionName: pldm::responder::oem_ibm::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm::Handler::readFileByType
    - pldm::responder::oem_ibm::Handler::readFileIntoMemory
    - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    - emplace
    - "std::make_unique<pldm::requester::oem_ibm::\n                                                     DbusToFileHandler>"
    - pldm::responder::oem_ibm::Handler::writeFile
    - "std::make_unique<\n                                                  pldm::requester::oem_ibm::\n
      \                                                     DbusToFileHandler>"
    - sdbusplus::match_rules::interfacesAdded
    - pldm::responder::oem_ibm::Handler::readFile
    - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    - pldm::responder::oem_ibm::Handler::getFileTable
    - pldm::responder::oem_ibm::Handler::writeFileByType
    - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    - pldm::responder::oem_ibm::Handler::fileAck
    - emplace_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::oem_ibm::Handler::getAlertStatus
    - sdbusplus::match_rules::argNpath
    - pldm::responder::oem_ibm::Handler::writeFileFromMemory
    - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    - pldm::responder::oem_ibm::Handler::newFileAvailable
    - std::get<std::string>
    - read
    - sdbusplus::object_path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void Handler(oem_platform::Handler* oemPlatformHandler, int hostSockFd,\n
      \           uint8_t hostEid, pldm::InstanceIdDb* instanceIdDb,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: pldm::responder::PCIeInfoHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pldm::responder::PCIeInfoHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: pldm::responder::PCIeInfoHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~PCIeInfoHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeInfoHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: pldm::responder::PCIeInfoHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pldm::responder::PCIeInfoHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: pldm::responder::PCIeInfoHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~PCIeInfoHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeInfoHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: pldm::responder::PCIeInfoHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pldm::responder::PCIeInfoHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: pldm::responder::PCIeInfoHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~PCIeInfoHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeInfoHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: pldm::responder::PCIeInfoHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pldm::responder::PCIeInfoHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t /*offset*/, uint32_t& /*length*/, Response& /*response*/,\n
      \            oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: pldm::responder::PCIeInfoHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~PCIeInfoHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeInfoHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: pldm::responder::keywordHandler::keywordHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keywordHandler(uint32_t fileHandle, uint16_t /* fileType */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pldm::responder::keywordHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: pldm::responder::keywordHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pldm::responder::keywordHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int write(const char* /*buffer*/, uint32_t /*offset*/, uint32_t& /*length*/,\n
      \             oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::responder::keywordHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pldm::responder::keywordHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::responder::keywordHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::keywordHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~keywordHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~keywordHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: pldm::responder::keywordHandler::keywordHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keywordHandler(uint32_t fileHandle, uint16_t /* fileType */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pldm::responder::keywordHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: pldm::responder::keywordHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pldm::responder::keywordHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int write(const char* /*buffer*/, uint32_t /*offset*/, uint32_t& /*length*/,\n
      \             oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::responder::keywordHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pldm::responder::keywordHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::responder::keywordHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::keywordHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~keywordHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~keywordHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: pldm::responder::keywordHandler::keywordHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keywordHandler(uint32_t fileHandle, uint16_t /* fileType */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pldm::responder::keywordHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: pldm::responder::keywordHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pldm::responder::keywordHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int write(const char* /*buffer*/, uint32_t /*offset*/, uint32_t& /*length*/,\n
      \             oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::responder::keywordHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pldm::responder::keywordHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::responder::keywordHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::keywordHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~keywordHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~keywordHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: pldm::responder::keywordHandler::keywordHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void keywordHandler(uint32_t fileHandle, uint16_t /* fileType */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pldm::responder::keywordHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                        uint64_t
      /*address*/,\n                        oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: pldm::responder::keywordHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t /*offset*/, uint32_t /*length*/,\n                       uint64_t
      /*address*/,\n                       oem_platform::Handler* /*oemPlatformHandler*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pldm::responder::keywordHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int write(const char* /*buffer*/, uint32_t /*offset*/, uint32_t& /*length*/,\n
      \             oem_platform::Handler* /*oemPlatformHandler*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::responder::keywordHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pldm::responder::keywordHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::responder::keywordHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: pldm::responder::keywordHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~keywordHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~keywordHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:36,1
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - int32_t
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - dma::DMA::transferDataHost
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(int32_t fd, bool upstream, uint32_t
      offset,\n                                  uint32_t& length, uint64_t address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:58,1
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - ' length'
    - address
    argTypes:
    - int32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: pldm::responder::FileHandler::transferFileDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - dma::DMA::transferHostDataToSocket
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileDataToSocket(int32_t fd, uint32_t& length,\n
      \                                         uint64_t address)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:77,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:80,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:84,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:87,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:114,1
    - Dst: pldm::responder::FileHandler::transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ' path'
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - fs::path
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 1
    functionsReached:
    - fs::file_size
    - error
    - pldm::responder::FileHandler::transferFileData
    - fs::exists
    - fd
    - string
    - open
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(const fs::path& path, bool upstream,\n
      \                                 uint32_t offset, uint32_t& length,\n                                  uint64_t
      address)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PelHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:129,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:133,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:137,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:141,1
    - Dst: std::make_unique<DumpHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:148,1
    - Dst: std::make_unique<CertHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:154,1
    - Dst: std::make_unique<ProgressCodeHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:158,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:162,1
    - Dst: std::make_unique<keywordHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:167,1
    - Dst: std::make_unique<PCIeInfoHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:172,1
    - Dst: InternalFailure
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - fileType
    - fileHandle
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: pldm::responder::getHandlerByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LidHandler>
    - InternalFailure
    - std::make_unique<CertHandler>
    - std::make_unique<PelHandler>
    - std::make_unique<keywordHandler>
    - std::make_unique<PCIeInfoHandler>
    - std::make_unique<DumpHandler>
    - std::make_unique<ProgressCodeHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> getHandlerByType(uint16_t fileType,\n
      \                                             uint32_t fileHandle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:186,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:188,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:193,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:196,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:207,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:208,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:214,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:215,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ' filePath'
    - offset
    - ' length'
    - ' response'
    argTypes:
    - std::string
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: pldm::responder::FileHandler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - size
    - fs::file_size
    - data
    - std::ifstream::read
    - error
    - resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: int
    signature: "int FileHandler::readFile(const std::string& filePath, uint32_t offset,\n
      \                         uint32_t& length, Response& response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:36,1
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - int32_t
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 1
    functionsReached:
    - dma::DMA::transferDataHost
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(int32_t fd, bool upstream, uint32_t
      offset,\n                                  uint32_t& length, uint64_t address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:58,1
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - ' length'
    - address
    argTypes:
    - int32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: pldm::responder::FileHandler::transferFileDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - dma::DMA::transferHostDataToSocket
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileDataToSocket(int32_t fd, uint32_t& length,\n
      \                                         uint64_t address)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:77,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:80,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:84,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:87,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:114,1
    - Dst: pldm::responder::FileHandler::transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ' path'
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - fs::path
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 2
    functionsReached:
    - fs::file_size
    - error
    - pldm::responder::FileHandler::transferFileData
    - fs::exists
    - fd
    - string
    - open
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(const fs::path& path, bool upstream,\n
      \                                 uint32_t offset, uint32_t& length,\n                                  uint64_t
      address)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PelHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:129,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:133,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:137,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:141,1
    - Dst: std::make_unique<DumpHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:148,1
    - Dst: std::make_unique<CertHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:154,1
    - Dst: std::make_unique<ProgressCodeHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:158,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:162,1
    - Dst: std::make_unique<keywordHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:167,1
    - Dst: std::make_unique<PCIeInfoHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:172,1
    - Dst: InternalFailure
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - fileType
    - fileHandle
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: pldm::responder::getHandlerByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LidHandler>
    - InternalFailure
    - std::make_unique<CertHandler>
    - std::make_unique<PelHandler>
    - std::make_unique<keywordHandler>
    - std::make_unique<PCIeInfoHandler>
    - std::make_unique<DumpHandler>
    - std::make_unique<ProgressCodeHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> getHandlerByType(uint16_t fileType,\n
      \                                             uint32_t fileHandle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:186,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:188,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:193,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:196,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:207,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:208,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:214,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:215,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ' filePath'
    - offset
    - ' length'
    - ' response'
    argTypes:
    - std::string
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: pldm::responder::FileHandler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - size
    - fs::file_size
    - data
    - std::ifstream::read
    - error
    - resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: int
    signature: "int FileHandler::readFile(const std::string& filePath, uint32_t offset,\n
      \                         uint32_t& length, Response& response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:36,1
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - int32_t
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 2
    functionsReached:
    - dma::DMA::transferDataHost
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(int32_t fd, bool upstream, uint32_t
      offset,\n                                  uint32_t& length, uint64_t address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:58,1
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - ' length'
    - address
    argTypes:
    - int32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: pldm::responder::FileHandler::transferFileDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - dma::DMA::transferHostDataToSocket
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileDataToSocket(int32_t fd, uint32_t& length,\n
      \                                         uint64_t address)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:77,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:80,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:84,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:87,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:114,1
    - Dst: pldm::responder::FileHandler::transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ' path'
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - fs::path
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 3
    functionsReached:
    - fs::file_size
    - error
    - pldm::responder::FileHandler::transferFileData
    - fs::exists
    - fd
    - string
    - open
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(const fs::path& path, bool upstream,\n
      \                                 uint32_t offset, uint32_t& length,\n                                  uint64_t
      address)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PelHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:129,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:133,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:137,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:141,1
    - Dst: std::make_unique<DumpHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:148,1
    - Dst: std::make_unique<CertHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:154,1
    - Dst: std::make_unique<ProgressCodeHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:158,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:162,1
    - Dst: std::make_unique<keywordHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:167,1
    - Dst: std::make_unique<PCIeInfoHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:172,1
    - Dst: InternalFailure
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - fileType
    - fileHandle
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: pldm::responder::getHandlerByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LidHandler>
    - InternalFailure
    - std::make_unique<CertHandler>
    - std::make_unique<PelHandler>
    - std::make_unique<keywordHandler>
    - std::make_unique<PCIeInfoHandler>
    - std::make_unique<DumpHandler>
    - std::make_unique<ProgressCodeHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> getHandlerByType(uint16_t fileType,\n
      \                                             uint32_t fileHandle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:186,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:188,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:193,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:196,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:207,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:208,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:214,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:215,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ' filePath'
    - offset
    - ' length'
    - ' response'
    argTypes:
    - std::string
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: pldm::responder::FileHandler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - size
    - fs::file_size
    - data
    - std::ifstream::read
    - error
    - resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: int
    signature: "int FileHandler::readFile(const std::string& filePath, uint32_t offset,\n
      \                         uint32_t& length, Response& response)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:36,1
    - Dst: dma::DMA::transferDataHost
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - int32_t
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 3
    functionsReached:
    - dma::DMA::transferDataHost
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(int32_t fd, bool upstream, uint32_t
      offset,\n                                  uint32_t& length, uint64_t address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:58,1
    - Dst: dma::DMA::transferHostDataToSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - ' length'
    - address
    argTypes:
    - int32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: pldm::responder::FileHandler::transferFileDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - dma::DMA::transferHostDataToSocket
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileDataToSocket(int32_t fd, uint32_t& length,\n
      \                                         uint64_t address)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:77,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:80,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:84,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:87,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:111,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:114,1
    - Dst: pldm::responder::FileHandler::transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    - Dst: fd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ' path'
    - upstream
    - offset
    - ' length'
    - address
    argTypes:
    - fs::path
    - bool
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 120
    functionName: pldm::responder::FileHandler::transferFileData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 4
    functionsReached:
    - fs::file_size
    - error
    - pldm::responder::FileHandler::transferFileData
    - fs::exists
    - fd
    - string
    - open
    linkageType: ''
    returnType: int
    signature: "int FileHandler::transferFileData(const fs::path& path, bool upstream,\n
      \                                 uint32_t offset, uint32_t& length,\n                                  uint64_t
      address)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PelHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:129,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:133,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:137,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:141,1
    - Dst: std::make_unique<DumpHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:148,1
    - Dst: std::make_unique<CertHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:154,1
    - Dst: std::make_unique<ProgressCodeHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:158,1
    - Dst: std::make_unique<LidHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:162,1
    - Dst: std::make_unique<keywordHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:167,1
    - Dst: std::make_unique<PCIeInfoHandler>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:172,1
    - Dst: InternalFailure
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 2
    argNames:
    - fileType
    - fileHandle
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: pldm::responder::getHandlerByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<LidHandler>
    - InternalFailure
    - std::make_unique<CertHandler>
    - std::make_unique<PelHandler>
    - std::make_unique<keywordHandler>
    - std::make_unique<PCIeInfoHandler>
    - std::make_unique<DumpHandler>
    - std::make_unique<ProgressCodeHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> getHandlerByType(uint16_t fileType,\n
      \                                             uint32_t fileHandle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:186,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:188,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:193,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:196,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:207,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:208,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:209,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:214,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:215,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ' filePath'
    - offset
    - ' length'
    - ' response'
    argTypes:
    - std::string
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: pldm::responder::FileHandler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
    functionUses: 0
    functionsReached:
    - size
    - fs::file_size
    - data
    - std::ifstream::read
    - error
    - resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: int
    signature: "int FileHandler::readFile(const std::string& filePath, uint32_t offset,\n
      \                         uint32_t& length, Response& response)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 1
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 3
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 4
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 5
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:51,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:61,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:66,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:70,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:80,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:84,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:97,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:101,1
    - Dst: writeToUnixSocket
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:107,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - length
    - address
    argTypes:
    - int
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: pldm::responder::dma::DMA::transferHostDataToSocket
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - writeToUnixSocket
    - static_cast<const char*>
    - std::unique_ptr::get
    - error
    - xdmaFd
    - munmap
    - mmap
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int DMA::transferHostDataToSocket(int fd, uint32_t length, uint64_t
      address)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:124,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:141,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:147,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:151,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:160,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:161,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:165,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:175,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:178,1
    - Dst: std::vector::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:188,1
    - Dst: read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:189,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:192,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:198,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:200,1
    - Dst: memcpy
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: static_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:205,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: xdmaFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:214,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:218,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:227,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:230,1
    - Dst: write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: static_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:235,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - offset
    - length
    - address
    - upstream
    argTypes:
    - int
    - uint32_t
    - uint32_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 247
    functionName: pldm::responder::dma::DMA::transferDataHost
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - write
    - getpagesize
    - lseek
    - static_cast<const char*>
    - memcpy
    - std::vector::data
    - error
    - xdmaFd
    - static_cast<char*>
    - std::unique_ptr::get
    - munmap
    - static_cast<int>
    - mmap
    - read
    - std::vector::resize
    - open
    linkageType: ''
    returnType: int
    signature: "int DMA::transferDataHost(int fd, uint32_t offset, uint32_t length,\n
      \                         uint64_t address, bool upstream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 6
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:257,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: pldm::responder::oem_ibm::encodeRWResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                            uint8_t completion_code, uint32_t length,\n                             struct
      pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_read_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:270,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: pldm::responder::oem_ibm::encodeReadResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_read_file_resp
    linkageType: ''
    returnType: void
    signature: "void encodeReadResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                              uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_write_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:281,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: pldm::responder::oem_ibm::encodeWriteResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeWriteResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                               uint32_t length, struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:294,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: pldm::responder::oem_ibm::encodeGetFileResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeGetFileResponseHandler(\n    uint8_t instance_id, uint8_t
      completion_code, uint32_t next_transfer_handle,\n    uint8_t transfer_flag,
      const uint8_t* table_data, size_t table_size,\n    struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:308,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 7
    functionsReached:
    - error
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeMemoryResponseHandler(uint8_t instance_id, uint8_t
      command,\n                                       uint8_t completion_code, uint32_t
      length,\n                                       struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:322,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: pldm::responder::oem_ibm::encodeRWTypeResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - error
    linkageType: ''
    returnType: void
    signature: "void encodeRWTypeResponseHandler(uint8_t instance_id, uint8_t command,\n
      \                                uint8_t completion_code, uint32_t length,\n
      \                                struct pldm_msg* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:335,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: pldm::responder::oem_ibm::encodeFileAckResponseHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - error
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: "void encodeFileAckResponseHandler(uint8_t instance_id, uint8_t completion_code,\n
      \                                 struct pldm_msg* msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:352,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:355,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:358,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:364,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:368,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:374,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:379,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:383,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:386,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:392,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:394,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:396,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:402,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:405,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:408,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:415,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:418,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:431,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:433,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 444
    functionName: pldm::responder::oem_ibm::Handler::readFileIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileIntoMemory(const pldm_msg* request,\n                                     size_t
      payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:455,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:459,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:462,1
    - Dst: decode_rw_file_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:468,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:472,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:479,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:481,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:488,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:493,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:497,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:500,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:506,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:508,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:510,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:516,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:519,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:525,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:529,1
    - Dst: transferAll<DMA>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 540
    functionName: pldm::responder::oem_ibm::Handler::writeFileFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_rw_file_memory_req
    - fs::file_size
    - at
    - error
    - transferAll<DMA>
    - fs::exists
    - info
    - reinterpret_cast<pldm_msg*>
    - encodeRWResponseHandler
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileFromMemory(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:550,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:554,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:558,1
    - Dst: decode_get_file_table_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:564,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:568,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:570,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:577,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:580,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:587,1
    - Dst: table
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:588,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:589,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:590,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:592,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:594,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:595,1
    - Dst: encodeGetFileResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:601,1
    - Dst: auto::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:602,1
    - Dst: auto::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 605
    functionName: pldm::responder::oem_ibm::Handler::getFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - decode_get_file_table_req
    - Response::resize
    - encodeGetFileResponseHandler
    - error
    - auto::data
    - table
    - auto::empty
    - auto::size
    - reinterpret_cast<pldm_msg*>
    - Response::size
    - buildFileTable
    linkageType: ''
    returnType: Response
    signature: Response Handler::getFileTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:614,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:618,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:621,1
    - Dst: decode_read_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:627,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:632,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:634,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:639,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:644,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:648,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:652,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:658,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:660,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:662,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:668,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:671,1
    - Dst: encodeRWResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:673,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:681,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:685,1
    - Dst: Response::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: Response::size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:695,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:696,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:697,1
    - Dst: std::ifstream::seekg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:701,1
    - Dst: std::ifstream::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:702,1
    - Dst: encodeReadResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 708
    functionName: pldm::responder::oem_ibm::Handler::readFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - buildFileTable
    - std::ifstream::read
    - fs::file_size
    - decode_read_file_req
    - at
    - error
    - Response::resize
    - fs::exists
    - std::ifstream::seekg
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<char*>
    - encodeRWResponseHandler
    - Response::size
    - encodeReadResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:718,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:722,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:725,1
    - Dst: decode_write_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:730,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:735,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:737,1
    - Dst: buildFileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:743,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:748,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:752,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:755,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:760,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:762,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:764,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:769,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:773,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:779,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:783,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:789,1
    - Dst: std::ofstream::seekp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:793,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:794,1
    - Dst: encodeWriteResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_ibm::Handler::writeFile
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - reinterpret_cast<const char*>
    - fs::file_size
    - encodeWriteResponseHandler
    - error
    - at
    - std::ofstream::seekp
    - std::ofstream::write
    - fs::exists
    - reinterpret_cast<pldm_msg*>
    - info
    - buildFileTable
    - decode_write_file_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFile(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:808,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:812,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:816,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:827,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:832,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:835,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:841,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:844,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:853,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:857,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:859,1
    - Dst: std::unique_ptr::writeFromMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:866,1
    - Dst: std::unique_ptr::readIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:868,1
    - Dst: pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - cmd
    - request
    - payloadLength
    - oemPlatformHandler
    argTypes:
    - uint8_t
    - pldm_msg*
    - size_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 873
    functionName: pldm::responder::oem_ibm::rwFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - getHandlerByType
    - decode_rw_file_by_type_memory_req
    - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
    - error
    - std::unique_ptr::readIntoMemory
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::writeFromMemory
    linkageType: ''
    returnType: Response
    signature: "Response rwFileByTypeIntoMemory(uint8_t cmd, const pldm_msg* request,\n
      \                               size_t payloadLength,\n                                oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 880
    functionName: pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::writeFileByTypeFromMemory(const pldm_msg* request,\n
      \                                           size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwFileByTypeIntoMemory
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - rwFileByTypeIntoMemory
    linkageType: ''
    returnType: Response
    signature: "Response Handler::readFileByTypeIntoMemory(const pldm_msg* request,\n
      \                                          size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:892,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:896,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:900,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:910,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:914,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:916,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:925,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:929,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:931,1
    - Dst: std::unique_ptr::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:937,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: pldm::responder::oem_ibm::Handler::writeFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::unique_ptr::write
    - getHandlerByType
    - reinterpret_cast<const char*>
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::writeFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:949,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:953,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:957,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:967,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:971,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:974,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:982,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:986,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:988,1
    - Dst: std::unique_ptr::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:994,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:995,1
    - Dst: encodeRWTypeResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1000
    functionName: pldm::responder::oem_ibm::Handler::readFileByType
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - error
    - decode_rw_file_by_type_req
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::read
    - encodeRWTypeResponseHandler
    linkageType: ''
    returnType: Response
    signature: Response Handler::readFileByType(const pldm_msg* request, size_t payloadLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1005,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1009,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1012,1
    - Dst: decode_file_ack_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1020,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1024,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1031,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1036,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1038,1
    - Dst: std::unique_ptr::fileAck
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1043,1
    - Dst: encodeFileAckResponseHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1046
    functionName: pldm::responder::oem_ibm::Handler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - decode_file_ack_req
    - Response::data
    - getHandlerByType
    - error
    - std::unique_ptr::fileAck
    - encodeFileAckResponseHandler
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::fileAck(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1051,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1054,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1058,1
    - Dst: decode_get_alert_status_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1063,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1066,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1068,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1073,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1076,1
    - Dst: encode_get_alert_status_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1082,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1087,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1094
    functionName: pldm::responder::oem_ibm::Handler::getAlertStatus
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_alert_status_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - decode_get_alert_status_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: Response Handler::getAlertStatus(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1103,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1106,1
    - Dst: decode_new_file_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1112,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1117,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1119,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1129,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1131,1
    - Dst: std::unique_ptr::newFileAvailable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1134,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1135,1
    - Dst: encode_new_file_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1137,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1145
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - encode_new_file_resp
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - reinterpret_cast<pldm_msg*>
    - std::unique_ptr::newFileAvailable
    - decode_new_file_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailable(const pldm_msg* request,\n                                   size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1155,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1165,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1171,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1177,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1181,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1184,1
    - Dst: std::unique_ptr::fileAckWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1187,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1189,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1193
    functionName: pldm::responder::oem_ibm::Handler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - getHandlerByType
    - std::unique_ptr::fileAckWithMetaData
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - encode_file_ack_with_meta_data_resp
    - pldm_msg::pldm_msg
    - decode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::fileAckWithMetaData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1202,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1211,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1216,1
    - Dst: getHandlerByType
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1221,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1225,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1228,1
    - Dst: std::unique_ptr::newFileAvailableWithMetaData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1230,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: Response::data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1232,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1236
    functionName: pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_new_file_with_metadata_resp
    - getHandlerByType
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - std::unique_ptr::newFileAvailableWithMetaData
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: Response
    signature: "Response Handler::newFileAvailableWithMetaData(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: pldm::responder::oem_ibm_utils::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::PelHandler::PelHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PelHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pldm::responder::PelHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pldm::responder::PelHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pldm::responder::PelHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~PelHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PelHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::PelHandler::PelHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PelHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pldm::responder::PelHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pldm::responder::PelHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pldm::responder::PelHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~PelHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PelHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::PelHandler::PelHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PelHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pldm::responder::PelHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pldm::responder::PelHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pldm::responder::PelHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~PelHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PelHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fileHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::PelHandler::PelHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PelHandler(uint32_t fileHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pldm::responder::PelHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pldm::responder::PelHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t /*length*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pldm::responder::PelHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ~PelHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PelHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::responder::oem_ibm_fru::Handler::Handler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '& getAssociateEntityMap()'
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:18,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:20,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:25,1
    - Dst: auto::is_discarded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:26,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:28,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:38,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:46,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: std::getline
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:55,1
    - Dst: fs::path::assign
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:57,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:58,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:65,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:73,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:75,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:77,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:81,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:85,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:89,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:93,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:101,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:110,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:115,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - ' fileTableConfigPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - emplace
    - fs::file_size
    - fs::path::assign
    - resize
    - fs::exists
    - value
    - std::move
    - auto::is_discarded
    - std::copy_n
    - std::advance
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - reinterpret_cast<uint8_t*>
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    - fs::path::filename
    - static_cast<uint16_t>
    - pldm_edac_crc32
    - data
    - fs::is_regular_file
    - static_cast<uint32_t>
    - begin
    linkageType: ''
    returnType: void
    signature: void FileTable::FileTable(const std::string& fileTableConfigPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: Table::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: FileTable::operator()() const
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - Table::resize
    - std::copy_n
    - Table::begin
    linkageType: ''
    returnType: Table
    signature: Table FileTable::operator()() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:137,1
    - Dst: FileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileTablePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: pldm::filetable::buildFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - FileTable
    linkageType: ''
    returnType: FileTable
    signature: FileTable & buildFileTable(const std::string& fileTablePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::filetable::clearFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 8
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearFileTable()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:18,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:20,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:25,1
    - Dst: auto::is_discarded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:26,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:28,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:38,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:46,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: std::getline
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:55,1
    - Dst: fs::path::assign
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:57,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:58,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:65,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:73,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:75,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:77,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:81,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:85,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:89,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:93,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:101,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:110,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:115,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - ' fileTableConfigPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - emplace
    - fs::file_size
    - fs::path::assign
    - resize
    - fs::exists
    - value
    - std::move
    - auto::is_discarded
    - std::copy_n
    - std::advance
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - reinterpret_cast<uint8_t*>
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    - fs::path::filename
    - static_cast<uint16_t>
    - pldm_edac_crc32
    - data
    - fs::is_regular_file
    - static_cast<uint32_t>
    - begin
    linkageType: ''
    returnType: void
    signature: void FileTable::FileTable(const std::string& fileTableConfigPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: Table::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: FileTable::operator()() const
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - Table::resize
    - std::copy_n
    - Table::begin
    linkageType: ''
    returnType: Table
    signature: Table FileTable::operator()() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:137,1
    - Dst: FileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileTablePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: pldm::filetable::buildFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - FileTable
    linkageType: ''
    returnType: FileTable
    signature: FileTable & buildFileTable(const std::string& fileTablePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::filetable::clearFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 8
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearFileTable()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:18,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:20,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:25,1
    - Dst: auto::is_discarded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:26,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:28,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:38,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:46,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: std::getline
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:55,1
    - Dst: fs::path::assign
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:57,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:58,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:65,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:73,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:75,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:77,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:81,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:85,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:89,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:93,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:101,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:110,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:115,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - ' fileTableConfigPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - emplace
    - fs::file_size
    - fs::path::assign
    - resize
    - fs::exists
    - value
    - std::move
    - auto::is_discarded
    - std::copy_n
    - std::advance
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - reinterpret_cast<uint8_t*>
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    - fs::path::filename
    - static_cast<uint16_t>
    - pldm_edac_crc32
    - data
    - fs::is_regular_file
    - static_cast<uint32_t>
    - begin
    linkageType: ''
    returnType: void
    signature: void FileTable::FileTable(const std::string& fileTableConfigPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: Table::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: FileTable::operator()() const
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - Table::resize
    - std::copy_n
    - Table::begin
    linkageType: ''
    returnType: Table
    signature: Table FileTable::operator()() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:137,1
    - Dst: FileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileTablePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: pldm::filetable::buildFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - FileTable
    linkageType: ''
    returnType: FileTable
    signature: FileTable & buildFileTable(const std::string& fileTablePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::filetable::clearFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 8
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearFileTable()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::is_open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:18,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:20,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:25,1
    - Dst: auto::is_discarded
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:26,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:28,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:38,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:46,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: value
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:47,1
    - Dst: std::getline
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:55,1
    - Dst: fs::path::assign
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:57,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:58,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:65,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:71,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:73,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:75,1
    - Dst: begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:77,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:80,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:81,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:83,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:85,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: fs::path::filename
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:87,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:89,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:91,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:93,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:95,1
    - Dst: std::advance
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:101,1
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:105,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:110,1
    - Dst: resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:115,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: data
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - ' fileTableConfigPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: pldm::filetable::FileTable::FileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    - emplace
    - fs::file_size
    - fs::path::assign
    - resize
    - fs::exists
    - value
    - std::move
    - auto::is_discarded
    - std::copy_n
    - std::advance
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - reinterpret_cast<uint8_t*>
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    - fs::path::filename
    - static_cast<uint16_t>
    - pldm_edac_crc32
    - data
    - fs::is_regular_file
    - static_cast<uint32_t>
    - begin
    linkageType: ''
    returnType: void
    signature: void FileTable::FileTable(const std::string& fileTableConfigPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::resize
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:125,1
    - Dst: Table::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:126,1
    - Dst: std::copy_n
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: FileTable::operator()() const
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - Table::resize
    - std::copy_n
    - Table::begin
    linkageType: ''
    returnType: Table
    signature: Table FileTable::operator()() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isEmpty
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:137,1
    - Dst: FileTable
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' fileTablePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: pldm::filetable::buildFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 0
    functionsReached:
    - isEmpty
    - FileTable
    linkageType: ''
    returnType: FileTable
    signature: FileTable & buildFileTable(const std::string& fileTablePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::filetable::clearFileTable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
    functionUses: 8
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clearFileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pldm::responder::PCIeInfoHandler::PCIeInfoHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::PCIeInfoHandler(uint32_t fileHandle, uint16_t
      fileType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:98,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:100,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:101,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:105,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:108,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:117,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: pldm::responder::PCIeInfoHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - fs::path
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::writeFromMemory(\n    uint32_t offset, uint32_t
      length, uint64_t address,\n    oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:134,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:137,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:147,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: pldm::responder::PCIeInfoHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::ofstream::close
    - fs::path
    - std::ofstream::write
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::write(const char* buffer, uint32_t, uint32_t&
      length,\n                           oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:166,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:167,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:169,1
    - Dst: pldm::responder::PCIeInfoHandler::parseTopologyData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:172,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: pldm::responder::PCIeInfoHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PCIeInfoHandler::parseTopologyData
    - at
    - clear
    - info
    linkageType: ''
    returnType: int
    signature: int PCIeInfoHandler::fileAck(uint8_t /*fileStatus*/)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:188,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:195,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:197,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:203,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:208,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: topologyFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:216,1
    - Dst: reinterpret_cast<struct topologyBlob*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:223,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:227,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:244,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:249,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:254,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:258,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:265,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:268,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:290,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:292,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:293,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:294,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:295,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:301,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:304,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:305,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:306,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:313,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:315,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:316,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:317,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:318,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:324,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:326,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:327,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:328,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:329,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:336,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:338,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:339,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: reinterpret_cast<struct slotLocCode*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:343,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:344,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:345,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:355,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:356,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:357,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:361,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:365,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: reinterpret_cast<struct slotLocCodeSuf*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:377,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:380,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:389,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:390,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:391,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:398,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:405,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:408,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:410,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:415,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:416,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:417,1
    - Dst: pldm::responder::PCIeInfoHandler::parseCableInfo
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 423
    functionName: pldm::responder::PCIeInfoHandler::parseTopologyData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 1
    functionsReached:
    - std::make_pair
    - reinterpret_cast<struct topologyBlob*>
    - string
    - topologyFd
    - std::views::iota
    - reinterpret_cast<struct slotLocCodeSuf*>
    - error
    - reinterpret_cast<uint8_t*>
    - htobe16
    - static_cast<int>
    - std::views::take
    - mmap
    - fs::path
    - pldm::responder::PCIeInfoHandler::parseCableInfo
    - fstat
    - reinterpret_cast<struct pcieLinkEntry*>
    - perror
    - reinterpret_cast<char*>
    - std::vector::begin
    - std::vector::push_back
    - reinterpret_cast<struct slotLocCode*>
    - open
    - std::make_tuple
    - munmap
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseTopologyData()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:431,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:437,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:439,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:445,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:450,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: cableInfoFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:459,1
    - Dst: reinterpret_cast<struct cableAttributesList*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:467,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:470,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:473,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:474,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:479,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:488,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:489,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:492,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:497,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:501,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:505,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:512,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:513,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 516
    functionName: pldm::responder::PCIeInfoHandler::parseCableInfo
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<struct cableAttributesList*>
    - std::views::iota
    - fstat
    - error
    - reinterpret_cast<uint8_t*>
    - perror
    - munmap
    - htobe16
    - std::views::take
    - reinterpret_cast<char*>
    - reinterpret_cast<struct pcieLinkCableAttr*>
    - mmap
    - cableInfoFd
    - fs::path
    - string
    - open
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseCableInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pldm::responder::PCIeInfoHandler::PCIeInfoHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::PCIeInfoHandler(uint32_t fileHandle, uint16_t
      fileType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:98,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:100,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:101,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:105,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:108,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:117,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: pldm::responder::PCIeInfoHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - fs::path
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::writeFromMemory(\n    uint32_t offset, uint32_t
      length, uint64_t address,\n    oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:134,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:137,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:147,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: pldm::responder::PCIeInfoHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::ofstream::close
    - fs::path
    - std::ofstream::write
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::write(const char* buffer, uint32_t, uint32_t&
      length,\n                           oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:166,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:167,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:169,1
    - Dst: pldm::responder::PCIeInfoHandler::parseTopologyData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:172,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: pldm::responder::PCIeInfoHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PCIeInfoHandler::parseTopologyData
    - at
    - clear
    - info
    linkageType: ''
    returnType: int
    signature: int PCIeInfoHandler::fileAck(uint8_t /*fileStatus*/)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:188,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:195,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:197,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:203,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:208,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: topologyFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:216,1
    - Dst: reinterpret_cast<struct topologyBlob*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:223,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:227,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:244,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:249,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:254,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:258,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:265,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:268,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:290,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:292,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:293,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:294,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:295,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:301,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:304,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:305,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:306,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:313,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:315,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:316,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:317,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:318,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:324,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:326,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:327,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:328,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:329,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:336,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:338,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:339,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: reinterpret_cast<struct slotLocCode*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:343,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:344,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:345,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:355,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:356,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:357,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:361,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:365,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: reinterpret_cast<struct slotLocCodeSuf*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:377,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:380,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:389,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:390,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:391,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:398,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:405,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:408,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:410,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:415,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:416,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:417,1
    - Dst: pldm::responder::PCIeInfoHandler::parseCableInfo
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 423
    functionName: pldm::responder::PCIeInfoHandler::parseTopologyData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 2
    functionsReached:
    - std::make_pair
    - reinterpret_cast<struct topologyBlob*>
    - string
    - topologyFd
    - std::views::iota
    - reinterpret_cast<struct slotLocCodeSuf*>
    - error
    - reinterpret_cast<uint8_t*>
    - htobe16
    - static_cast<int>
    - std::views::take
    - mmap
    - fs::path
    - pldm::responder::PCIeInfoHandler::parseCableInfo
    - fstat
    - reinterpret_cast<struct pcieLinkEntry*>
    - perror
    - reinterpret_cast<char*>
    - std::vector::begin
    - std::vector::push_back
    - reinterpret_cast<struct slotLocCode*>
    - open
    - std::make_tuple
    - munmap
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseTopologyData()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:431,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:437,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:439,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:445,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:450,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: cableInfoFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:459,1
    - Dst: reinterpret_cast<struct cableAttributesList*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:467,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:470,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:473,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:474,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:479,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:488,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:489,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:492,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:497,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:501,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:505,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:512,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:513,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 516
    functionName: pldm::responder::PCIeInfoHandler::parseCableInfo
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<struct cableAttributesList*>
    - std::views::iota
    - fstat
    - error
    - reinterpret_cast<uint8_t*>
    - perror
    - munmap
    - htobe16
    - std::views::take
    - reinterpret_cast<char*>
    - reinterpret_cast<struct pcieLinkCableAttr*>
    - mmap
    - cableInfoFd
    - fs::path
    - string
    - open
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseCableInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pldm::responder::PCIeInfoHandler::PCIeInfoHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::PCIeInfoHandler(uint32_t fileHandle, uint16_t
      fileType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:98,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:100,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:101,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:105,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:108,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:117,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: pldm::responder::PCIeInfoHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - fs::path
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::writeFromMemory(\n    uint32_t offset, uint32_t
      length, uint64_t address,\n    oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:134,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:137,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:147,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: pldm::responder::PCIeInfoHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::ofstream::close
    - fs::path
    - std::ofstream::write
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::write(const char* buffer, uint32_t, uint32_t&
      length,\n                           oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:166,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:167,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:169,1
    - Dst: pldm::responder::PCIeInfoHandler::parseTopologyData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:172,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: pldm::responder::PCIeInfoHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PCIeInfoHandler::parseTopologyData
    - at
    - clear
    - info
    linkageType: ''
    returnType: int
    signature: int PCIeInfoHandler::fileAck(uint8_t /*fileStatus*/)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:188,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:195,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:197,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:203,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:208,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: topologyFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:216,1
    - Dst: reinterpret_cast<struct topologyBlob*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:223,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:227,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:244,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:249,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:254,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:258,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:265,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:268,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:290,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:292,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:293,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:294,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:295,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:301,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:304,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:305,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:306,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:313,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:315,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:316,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:317,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:318,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:324,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:326,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:327,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:328,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:329,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:336,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:338,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:339,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: reinterpret_cast<struct slotLocCode*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:343,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:344,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:345,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:355,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:356,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:357,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:361,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:365,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: reinterpret_cast<struct slotLocCodeSuf*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:377,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:380,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:389,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:390,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:391,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:398,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:405,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:408,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:410,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:415,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:416,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:417,1
    - Dst: pldm::responder::PCIeInfoHandler::parseCableInfo
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 423
    functionName: pldm::responder::PCIeInfoHandler::parseTopologyData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 3
    functionsReached:
    - std::make_pair
    - reinterpret_cast<struct topologyBlob*>
    - string
    - topologyFd
    - std::views::iota
    - reinterpret_cast<struct slotLocCodeSuf*>
    - error
    - reinterpret_cast<uint8_t*>
    - htobe16
    - static_cast<int>
    - std::views::take
    - mmap
    - fs::path
    - pldm::responder::PCIeInfoHandler::parseCableInfo
    - fstat
    - reinterpret_cast<struct pcieLinkEntry*>
    - perror
    - reinterpret_cast<char*>
    - std::vector::begin
    - std::vector::push_back
    - reinterpret_cast<struct slotLocCode*>
    - open
    - std::make_tuple
    - munmap
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseTopologyData()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:431,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:437,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:439,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:445,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:450,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: cableInfoFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:459,1
    - Dst: reinterpret_cast<struct cableAttributesList*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:467,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:470,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:473,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:474,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:479,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:488,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:489,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:492,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:497,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:501,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:505,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:512,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:513,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 516
    functionName: pldm::responder::PCIeInfoHandler::parseCableInfo
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<struct cableAttributesList*>
    - std::views::iota
    - fstat
    - error
    - reinterpret_cast<uint8_t*>
    - perror
    - munmap
    - htobe16
    - std::views::take
    - reinterpret_cast<char*>
    - reinterpret_cast<struct pcieLinkCableAttr*>
    - mmap
    - cableInfoFd
    - fs::path
    - string
    - open
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseCableInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fileHandle
    - fileType
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pldm::responder::PCIeInfoHandler::PCIeInfoHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::PCIeInfoHandler(uint32_t fileHandle, uint16_t
      fileType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:98,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:100,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:101,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:105,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:108,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:117,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - offset
    - length
    - address
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: pldm::responder::PCIeInfoHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - error
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - fs::path
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::writeFromMemory(\n    uint32_t offset, uint32_t
      length, uint64_t address,\n    oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:134,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:137,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:147,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:149,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - ' length'
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: pldm::responder::PCIeInfoHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::ofstream::close
    - fs::path
    - std::ofstream::write
    linkageType: ''
    returnType: int
    signature: "int PCIeInfoHandler::write(const char* buffer, uint32_t, uint32_t&
      length,\n                           oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:166,1
    - Dst: at
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:167,1
    - Dst: clear
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:169,1
    - Dst: pldm::responder::PCIeInfoHandler::parseTopologyData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:172,1
    - Dst: info
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: pldm::responder::PCIeInfoHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::PCIeInfoHandler::parseTopologyData
    - at
    - clear
    - info
    linkageType: ''
    returnType: int
    signature: int PCIeInfoHandler::fileAck(uint8_t /*fileStatus*/)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:184,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:188,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:195,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:197,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:203,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:208,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: topologyFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:216,1
    - Dst: reinterpret_cast<struct topologyBlob*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:223,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:227,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:244,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:249,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:250,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:254,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:258,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:262,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:265,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:268,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:290,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:292,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:293,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:294,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:295,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:301,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:304,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:305,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:306,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:313,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:315,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:316,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:317,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:318,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:324,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:326,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:327,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:328,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:329,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:336,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:338,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:339,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:341,1
    - Dst: reinterpret_cast<struct slotLocCode*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:343,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:344,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:345,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:348,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:355,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:356,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:357,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:361,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:365,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:374,1
    - Dst: reinterpret_cast<struct slotLocCodeSuf*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:377,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:380,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:388,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:389,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:390,1
    - Dst: std::vector::begin
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:391,1
    - Dst: std::vector::end
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:398,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:405,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:408,1
    - Dst: std::make_pair
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:410,1
    - Dst: reinterpret_cast<struct pcieLinkEntry*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:415,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:416,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:417,1
    - Dst: pldm::responder::PCIeInfoHandler::parseCableInfo
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 423
    functionName: pldm::responder::PCIeInfoHandler::parseTopologyData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 4
    functionsReached:
    - std::make_pair
    - reinterpret_cast<struct topologyBlob*>
    - string
    - topologyFd
    - std::views::iota
    - reinterpret_cast<struct slotLocCodeSuf*>
    - error
    - reinterpret_cast<uint8_t*>
    - htobe16
    - static_cast<int>
    - std::views::take
    - mmap
    - fs::path
    - pldm::responder::PCIeInfoHandler::parseCableInfo
    - fstat
    - reinterpret_cast<struct pcieLinkEntry*>
    - perror
    - reinterpret_cast<char*>
    - std::vector::begin
    - std::vector::push_back
    - reinterpret_cast<struct slotLocCode*>
    - open
    - std::make_tuple
    - munmap
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseTopologyData()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: string
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:427,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:431,1
    - Dst: fstat
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:437,1
    - Dst: perror
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:439,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:445,1
    - Dst: munmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:450,1
    - Dst: mmap
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: cableInfoFd
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:454,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:459,1
    - Dst: reinterpret_cast<struct cableAttributesList*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:467,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:470,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:473,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:474,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:479,1
    - Dst: std::views::iota
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: std::views::take
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:485,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:488,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:489,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:492,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:497,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:501,1
    - Dst: std::make_tuple
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:505,1
    - Dst: reinterpret_cast<struct pcieLinkCableAttr*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:512,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:513,1
    - Dst: htobe16
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 516
    functionName: pldm::responder::PCIeInfoHandler::parseCableInfo
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
    functionUses: 4
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<struct cableAttributesList*>
    - std::views::iota
    - fstat
    - error
    - reinterpret_cast<uint8_t*>
    - perror
    - munmap
    - htobe16
    - std::views::take
    - reinterpret_cast<char*>
    - reinterpret_cast<struct pcieLinkCableAttr*>
    - mmap
    - cableInfoFd
    - fs::path
    - string
    - open
    linkageType: ''
    returnType: void
    signature: void PCIeInfoHandler::parseCableInfo()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:33,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:34,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:39,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:40,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:45,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:50,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:53,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:62,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:64,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:65,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:70,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:73,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:90,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:92,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:95,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::ofstream::bad
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:103,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:105,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:107,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:109,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:113,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 120
    functionName: pldm::responder::keywordHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
    functionUses: 0
    functionsReached:
    - call
    - fs::exists
    - fs::remove
    - lseek
    - pldm::utils::reportError
    - error
    - std::ofstream::write
    - std::ofstream::bad
    - readFile
    - fs::create_directories
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - std::ofstream::close
    - new_method_call
    - open
    - std::get<std::vector<byte>>
    - fs::permissions
    - static_cast<uint32_t>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int keywordHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                         oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:33,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:34,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:39,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:40,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:45,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:50,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:53,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:62,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:64,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:65,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:70,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:73,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:90,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:92,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:95,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::ofstream::bad
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:103,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:105,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:107,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:109,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:113,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 120
    functionName: pldm::responder::keywordHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
    functionUses: 0
    functionsReached:
    - call
    - fs::exists
    - fs::remove
    - lseek
    - pldm::utils::reportError
    - error
    - std::ofstream::write
    - std::ofstream::bad
    - readFile
    - fs::create_directories
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - std::ofstream::close
    - new_method_call
    - open
    - std::get<std::vector<byte>>
    - fs::permissions
    - static_cast<uint32_t>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int keywordHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                         oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:33,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:34,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:39,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:40,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:45,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:50,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:53,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:62,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:64,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:65,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:70,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:73,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:90,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:92,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:95,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::ofstream::bad
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:103,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:105,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:107,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:109,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:113,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 120
    functionName: pldm::responder::keywordHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
    functionUses: 0
    functionsReached:
    - call
    - fs::exists
    - fs::remove
    - lseek
    - pldm::utils::reportError
    - error
    - std::ofstream::write
    - std::ofstream::bad
    - readFile
    - fs::create_directories
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - std::ofstream::close
    - new_method_call
    - open
    - std::get<std::vector<byte>>
    - fs::permissions
    - static_cast<uint32_t>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int keywordHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                         oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:33,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:34,1
    - Dst: new_method_call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:37,1
    - Dst: auto::append
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:39,1
    - Dst: call
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:40,1
    - Dst: auto::read
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:45,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:50,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:53,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:62,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:64,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:65,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:70,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:73,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:76,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:83,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:90,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:92,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:95,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::get<std::vector<byte>>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:101,1
    - Dst: std::ofstream::bad
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:103,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:105,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:107,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:109,1
    - Dst: fs::remove
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:110,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:113,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - offset
    - ' length'
    - ' response'
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 120
    functionName: pldm::responder::keywordHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
    functionUses: 0
    functionsReached:
    - call
    - fs::exists
    - fs::remove
    - lseek
    - pldm::utils::reportError
    - error
    - std::ofstream::write
    - std::ofstream::bad
    - readFile
    - fs::create_directories
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - std::ofstream::close
    - new_method_call
    - open
    - std::get<std::vector<byte>>
    - fs::permissions
    - static_cast<uint32_t>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int keywordHandler::read(uint32_t offset, uint32_t& length, Response&
      response,\n                         oem_platform::Handler* /*oemPlatformHandler*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:45,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:48,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:49,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fileHandle
    - permSide
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: pldm::responder::LidHandler::LidHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - fs::path
    - std::stringstream::str
    - fs::is_regular_file
    linkageType: ''
    returnType: void
    signature: void LidHandler(uint32_t fileHandle, bool permSide, uint8_t lidType
      = 0)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:69,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:76,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:88,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oemPlatformHandler
    argTypes:
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 100
    functionName: pldm::responder::LidHandler::constructLIDPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - std::move
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
    linkageType: ''
    returnType: bool
    signature: bool constructLIDPath(oem_platform::Handler* oemPlatformHandler)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:110,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:113,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:119,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:120,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:123,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:136,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:140,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:145,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:155,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:159,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:161,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 172
    functionName: pldm::responder::LidHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - transferFileData
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - std::move
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                       oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:177,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pldm::responder::LidHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - pldm::responder::LidHandler::constructLIDPath
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                      oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:192,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:195,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:201,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:202,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:205,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:210,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:225,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:233,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:236,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:239,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:244,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:247,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:252,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:256,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:260,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:268,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:272,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:274,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - offset
    - ' length'
    - oemPlatformHandler
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 286
    functionName: pldm::responder::LidHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - fs::file_size
    - pldm::responder::CertHandler::write
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - static_cast<int>
    - std::move
    - lseek
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int write(const char* buffer, uint32_t offset, uint32_t& length,\n
      \             oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:291,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - ' length'
    - ' response'
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: pldm::responder::LidHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::LidHandler::constructLIDPath
    - readFile
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t offset, uint32_t& length, Response& response,\n
      \            oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pldm::responder::LidHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: pldm::responder::LidHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: pldm::responder::LidHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: pldm::responder::LidHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ~LidHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LidHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:45,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:48,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:49,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fileHandle
    - permSide
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: pldm::responder::LidHandler::LidHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - fs::path
    - std::stringstream::str
    - fs::is_regular_file
    linkageType: ''
    returnType: void
    signature: void LidHandler(uint32_t fileHandle, bool permSide, uint8_t lidType
      = 0)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:69,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:76,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:88,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oemPlatformHandler
    argTypes:
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 100
    functionName: pldm::responder::LidHandler::constructLIDPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - std::move
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
    linkageType: ''
    returnType: bool
    signature: bool constructLIDPath(oem_platform::Handler* oemPlatformHandler)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:110,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:113,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:119,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:120,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:123,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:136,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:140,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:145,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:155,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:159,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:161,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 172
    functionName: pldm::responder::LidHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - transferFileData
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - std::move
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                       oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:177,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pldm::responder::LidHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - pldm::responder::LidHandler::constructLIDPath
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                      oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:192,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:195,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:201,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:202,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:205,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:210,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:225,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:233,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:236,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:239,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:244,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:247,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:252,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:256,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:260,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:268,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:272,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:274,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - offset
    - ' length'
    - oemPlatformHandler
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 286
    functionName: pldm::responder::LidHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - fs::file_size
    - pldm::responder::CertHandler::write
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - static_cast<int>
    - std::move
    - lseek
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int write(const char* buffer, uint32_t offset, uint32_t& length,\n
      \             oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:291,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - ' length'
    - ' response'
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: pldm::responder::LidHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::LidHandler::constructLIDPath
    - readFile
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t offset, uint32_t& length, Response& response,\n
      \            oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pldm::responder::LidHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: pldm::responder::LidHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: pldm::responder::LidHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: pldm::responder::LidHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ~LidHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LidHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:45,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:48,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:49,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fileHandle
    - permSide
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: pldm::responder::LidHandler::LidHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - fs::path
    - std::stringstream::str
    - fs::is_regular_file
    linkageType: ''
    returnType: void
    signature: void LidHandler(uint32_t fileHandle, bool permSide, uint8_t lidType
      = 0)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:69,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:76,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:88,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oemPlatformHandler
    argTypes:
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 100
    functionName: pldm::responder::LidHandler::constructLIDPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - std::move
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
    linkageType: ''
    returnType: bool
    signature: bool constructLIDPath(oem_platform::Handler* oemPlatformHandler)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:110,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:113,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:119,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:120,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:123,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:136,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:140,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:145,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:155,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:159,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:161,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 172
    functionName: pldm::responder::LidHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - transferFileData
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - std::move
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                       oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:177,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pldm::responder::LidHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - pldm::responder::LidHandler::constructLIDPath
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                      oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:192,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:195,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:201,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:202,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:205,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:210,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:225,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:233,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:236,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:239,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:244,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:247,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:252,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:256,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:260,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:268,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:272,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:274,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - offset
    - ' length'
    - oemPlatformHandler
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 286
    functionName: pldm::responder::LidHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - fs::file_size
    - pldm::responder::CertHandler::write
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - static_cast<int>
    - std::move
    - lseek
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int write(const char* buffer, uint32_t offset, uint32_t& length,\n
      \             oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:291,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - ' length'
    - ' response'
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: pldm::responder::LidHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::LidHandler::constructLIDPath
    - readFile
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t offset, uint32_t& length, Response& response,\n
      \            oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pldm::responder::LidHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: pldm::responder::LidHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: pldm::responder::LidHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: pldm::responder::LidHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ~LidHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LidHandler() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:45,1
    - Dst: fs::path
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:48,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:49,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fileHandle
    - permSide
    argTypes:
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: pldm::responder::LidHandler::LidHandler
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - fs::path
    - std::stringstream::str
    - fs::is_regular_file
    linkageType: ''
    returnType: void
    signature: void LidHandler(uint32_t fileHandle, bool permSide, uint8_t lidType
      = 0)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:69,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:76,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:88,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:96,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - oemPlatformHandler
    argTypes:
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 100
    functionName: pldm::responder::LidHandler::constructLIDPath
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - std::move
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::fetchCurrentBootSide
    linkageType: ''
    returnType: bool
    signature: bool constructLIDPath(oem_platform::Handler* oemPlatformHandler)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:110,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:113,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:119,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:120,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:123,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:133,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:136,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:140,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:142,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:145,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:155,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:159,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:161,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 172
    functionName: pldm::responder::LidHandler::writeFromMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - transferFileData
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - std::move
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int writeFromMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                       oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:177,1
    - Dst: transferFileData
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - length
    - address
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - uint64_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pldm::responder::LidHandler::readIntoMemory
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - transferFileData
    - pldm::responder::LidHandler::constructLIDPath
    linkageType: ''
    returnType: int
    signature: "int readIntoMemory(uint32_t offset, uint32_t length, uint64_t address,\n
      \                      oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:192,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:195,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:201,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:202,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:205,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:210,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:213,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:225,1
    - Dst: open
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: c_str
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:230,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:233,1
    - Dst: lseek
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:236,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:239,1
    - Dst: pldm::responder::CertHandler::write
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:244,1
    - Dst: error
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:247,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:252,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:256,1
    - Dst: close
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:260,1
    - Dst: "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:268,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:272,1
    - Dst: pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:274,1
    - Dst: processCodeUpdateLid
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:282,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - buffer
    - offset
    - ' length'
    - oemPlatformHandler
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 286
    functionName: pldm::responder::LidHandler::write
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::isCodeUpdateInProgress
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - std::stringstream::str
    - fs::file_size
    - pldm::responder::CertHandler::write
    - c_str
    - error
    - pldm::responder::oem_ibm_platform::Handler*::codeUpdate::getMarkerLidSensor
    - "dynamic_cast<\n                        pldm::responder::oem_ibm_platform::Handler*>"
    - fs::exists
    - static_cast<int>
    - std::move
    - lseek
    - processCodeUpdateLid
    - close
    - pldm::responder::oem_ibm_platform::Handler*::sendStateSensorEvent
    - open
    linkageType: ''
    returnType: int
    signature: "int write(const char* buffer, uint32_t offset, uint32_t& length,\n
      \             oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::LidHandler::constructLIDPath
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:291,1
    - Dst: readFile
      Src: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - offset
    - ' length'
    - ' response'
    - oemPlatformHandler
    argTypes:
    - uint32_t
    - uint32_t
    - Response
    - oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: pldm::responder::LidHandler::read
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::LidHandler::constructLIDPath
    - readFile
    linkageType: ''
    returnType: int
    signature: "int read(uint32_t offset, uint32_t& length, Response& response,\n
      \            oem_platform::Handler* oemPlatformHandler) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pldm::responder::LidHandler::fileAck
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fileAck(uint8_t /*fileStatus*/) override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: pldm::responder::LidHandler::newFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newFileAvailable(uint64_t length) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: pldm::responder::LidHandler::fileAckWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fileAckWithMetaData(uint8_t /*fileStatus*/, uint32_t /*metaDataValue1*/,\n
      \                           uint32_t /*metaDataValue2*/,\n                            uint32_t
      /*metaDataValue3*/,\n                            uint32_t /*metaDataValue4*/)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: pldm::responder::LidHandler::newFileAvailableWithMetaData
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int newFileAvailableWithMetaData(\n        uint64_t /*length*/, uint32_t
      /*metaDataValue1*/,\n        uint32_t /*metaDataValue2*/, uint32_t /*metaDataValue3*/,\n
      \       uint32_t /*metaDataValue4*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: ~LidHandler() override
    functionSourceFile: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LidHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 1
    functionsReached:
    - pldm::led::HostLampTest::asserted
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:34,1
    - Dst: pldm::led::HostLampTest::getEffecterID
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:43,1
    - Dst: pldm::led::HostLampTest::setHostStateEffecter
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:51,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:54,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:55,1
    - Dst: "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:60,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:66,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:67,1
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 2
    functionsReached:
    - pldm::led::HostLampTest::setHostStateEffecter
    - pldm::led::HostLampTest::asserted
    - "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
    - static_cast<int>
    - pldm::led::HostLampTest::getEffecterID
    - sdbusplus::exception::SdBusError
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted(bool value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:89,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:91,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:93,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    - Dst: data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: pldm::led::HostLampTest::getEffecterID
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 1
    functionsReached:
    - data
    - error
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - auto::empty
    - static_cast<uint16_t>
    - pldm::utils::findStateEffecterPDR
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HostLampTest::getEffecterID()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:112,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:117,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:125,1
    - Dst: free
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:129,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:130,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:140,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:146,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:151,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:153,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:157,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:159,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - effecterID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: pldm::led::HostLampTest::setHostStateEffecter
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 1
    functionsReached:
    - decode_set_state_effecter_states_resp
    - static_cast<unsigned>
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - next
    - registerRequest
    - free
    - static_cast<int>
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HostLampTest::setHostStateEffecter(uint16_t effecterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 3
    functionsReached:
    - pldm::led::HostLampTest::asserted
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:34,1
    - Dst: pldm::led::HostLampTest::getEffecterID
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:43,1
    - Dst: pldm::led::HostLampTest::setHostStateEffecter
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:51,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:54,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:55,1
    - Dst: "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:60,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:66,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:67,1
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 4
    functionsReached:
    - pldm::led::HostLampTest::setHostStateEffecter
    - pldm::led::HostLampTest::asserted
    - "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
    - static_cast<int>
    - pldm::led::HostLampTest::getEffecterID
    - sdbusplus::exception::SdBusError
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted(bool value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:89,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:91,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:93,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    - Dst: data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: pldm::led::HostLampTest::getEffecterID
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 2
    functionsReached:
    - data
    - error
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - auto::empty
    - static_cast<uint16_t>
    - pldm::utils::findStateEffecterPDR
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HostLampTest::getEffecterID()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:112,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:117,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:125,1
    - Dst: free
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:129,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:130,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:140,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:146,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:151,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:153,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:157,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:159,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - effecterID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: pldm::led::HostLampTest::setHostStateEffecter
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 2
    functionsReached:
    - decode_set_state_effecter_states_resp
    - static_cast<unsigned>
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - next
    - registerRequest
    - free
    - static_cast<int>
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HostLampTest::setHostStateEffecter(uint16_t effecterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 5
    functionsReached:
    - pldm::led::HostLampTest::asserted
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:34,1
    - Dst: pldm::led::HostLampTest::getEffecterID
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:43,1
    - Dst: pldm::led::HostLampTest::setHostStateEffecter
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:51,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:54,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:55,1
    - Dst: "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:60,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:66,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:67,1
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 6
    functionsReached:
    - pldm::led::HostLampTest::setHostStateEffecter
    - pldm::led::HostLampTest::asserted
    - "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
    - static_cast<int>
    - pldm::led::HostLampTest::getEffecterID
    - sdbusplus::exception::SdBusError
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted(bool value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:89,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:91,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:93,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    - Dst: data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: pldm::led::HostLampTest::getEffecterID
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 3
    functionsReached:
    - data
    - error
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - auto::empty
    - static_cast<uint16_t>
    - pldm::utils::findStateEffecterPDR
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HostLampTest::getEffecterID()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:112,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:117,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:125,1
    - Dst: free
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:129,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:130,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:140,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:146,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:151,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:153,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:157,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:159,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - effecterID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: pldm::led::HostLampTest::setHostStateEffecter
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 3
    functionsReached:
    - decode_set_state_effecter_states_resp
    - static_cast<unsigned>
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - next
    - registerRequest
    - free
    - static_cast<int>
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HostLampTest::setHostStateEffecter(uint16_t effecterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 7
    functionsReached:
    - pldm::led::HostLampTest::asserted
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:34,1
    - Dst: pldm::led::HostLampTest::getEffecterID
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:43,1
    - Dst: pldm::led::HostLampTest::setHostStateEffecter
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:51,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:54,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:55,1
    - Dst: "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:60,1
    - Dst: sdbusplus::exception::SdBusError
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:66,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:67,1
    - Dst: pldm::led::HostLampTest::asserted
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 73
    functionName: pldm::led::HostLampTest::asserted
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 8
    functionsReached:
    - pldm::led::HostLampTest::setHostStateEffecter
    - pldm::led::HostLampTest::asserted
    - "sdbusplus::xyz::openbmc_project::Led::server::Group::\n                    asserted"
    - static_cast<int>
    - pldm::led::HostLampTest::getEffecterID
    - sdbusplus::exception::SdBusError
    linkageType: ''
    returnType: bool
    signature: bool HostLampTest::asserted(bool value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:89,1
    - Dst: auto::empty
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:91,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:93,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    - Dst: data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: pldm::led::HostLampTest::getEffecterID
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 4
    functionsReached:
    - data
    - error
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - auto::empty
    - static_cast<uint16_t>
    - pldm::utils::findStateEffecterPDR
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HostLampTest::getEffecterID()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:112,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:117,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:122,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:125,1
    - Dst: free
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:129,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:130,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:131,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:140,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:146,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:151,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:153,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:157,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:159,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:160,1
    - Dst: error
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - effecterID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 167
    functionName: pldm::led::HostLampTest::setHostStateEffecter
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
    functionUses: 4
    functionsReached:
    - decode_set_state_effecter_states_resp
    - static_cast<unsigned>
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - next
    - registerRequest
    - free
    - static_cast<int>
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HostLampTest::setHostStateEffecter(uint16_t effecterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~HostLampTestInterfaces()
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTestInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~HostLampTest() override
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const HostLampTest&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(HostLampTest&&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' bus'
    - ' objPath'
    - mctp_eid
    - ' instanceIdDb'
    - repo
    - handler
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint8_t
    - pldm::InstanceIdDb
    - pldm_pdr*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void HostLampTest(sdbusplus::bus_t& bus, const std::string& objPath,\n
      \                uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n                 pldm_pdr*
      repo,\n                 pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~HostLampTestInterfaces()
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTestInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~HostLampTest() override
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const HostLampTest&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(HostLampTest&&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' bus'
    - ' objPath'
    - mctp_eid
    - ' instanceIdDb'
    - repo
    - handler
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint8_t
    - pldm::InstanceIdDb
    - pldm_pdr*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void HostLampTest(sdbusplus::bus_t& bus, const std::string& objPath,\n
      \                uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n                 pldm_pdr*
      repo,\n                 pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~HostLampTestInterfaces()
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTestInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~HostLampTest() override
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const HostLampTest&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(HostLampTest&&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' bus'
    - ' objPath'
    - mctp_eid
    - ' instanceIdDb'
    - repo
    - handler
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint8_t
    - pldm::InstanceIdDb
    - pldm_pdr*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void HostLampTest(sdbusplus::bus_t& bus, const std::string& objPath,\n
      \                uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n                 pldm_pdr*
      repo,\n                 pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~HostLampTestInterfaces()
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTestInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~HostLampTest() override
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostLampTest() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const HostLampTest&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(const HostLampTest&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostLampTest(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(HostLampTest&&)'
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostLampTest
    signature: HostLampTest & operator=(HostLampTest&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - ' bus'
    - ' objPath'
    - mctp_eid
    - ' instanceIdDb'
    - repo
    - handler
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint8_t
    - pldm::InstanceIdDb
    - pldm_pdr*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: pldm::led::HostLampTest::HostLampTest
    functionSourceFile: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void HostLampTest(sdbusplus::bus_t& bus, const std::string& objPath,\n
      \                uint8_t mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n                 pldm_pdr*
      repo,\n                 pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 1
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 2
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 3
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 4
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 4
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 5
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 5
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 5
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 5
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 6
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 6
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 7
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 7
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 7
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mctp_eid
    - instanceIdDb
    - resDumpCurrentObjPath
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb*
    - sdbusplus::object_path
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::DbusToFileHandler(\n    int /* mctp_fd */,
      uint8_t mctp_eid, pldm::InstanceIdDb* instanceIdDb,\n    sdbusplus::object_path
      resDumpCurrentObjPath,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:37,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:39,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:43,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:46,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:48,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:51,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:56,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:60,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:61,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:71,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:75,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:78,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:81,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:84,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:86,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:89,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - fileSize
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 94
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 7
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::sendNewFileAvailableCmd(uint64_t fileSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:101,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::reportError
    - std::string::c_str
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler::reportResourceDumpFailure(const std::string_view&
      str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:123,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:124,1
    - Dst: std::get<ResDumpStatus>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:125,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:135,1
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:144,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:146,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:154,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:158,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:165,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:169,1
    - Dst: size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:178,1
    - Dst: std::ofstream::write
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:179,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:182,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:183,1
    - Dst: empty
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:186,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:188,1
    - Dst: fileFunc
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:191,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:193,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:194,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - ' vspString'
    - ' resDumpReqPass'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 197
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - std::string::c_str
    - fs::file_size
    - fileFunc
    - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    - error
    - fs::create_directories
    - std::ofstream::write
    - fs::exists
    - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
    - pldm::utils::DBusHandler
    - std::get<ResDumpStatus>
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::processNewResourceDump(\n    const std::string&
      vspString, const std::string& resDumpReqPass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:203,1
    - Dst: std::ifstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:206,1
    - Dst: std::ifstream::rdbuf
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:208,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:209,1
    - Dst: std::ifstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 8
    functionsReached:
    - std::ifstream::rdbuf
    - std::stringstream::str
    - fs::exists
    - std::ifstream::close
    - std::ifstream::open
    linkageType: ''
    returnType: std::string
    signature: std::string DbusToFileHandler::getAcfFileContent()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:222,1
    - Dst: fs::create_directories
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:224,1
    - Dst: fs::permissions
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:225,1
    - Dst: std::ofstream::open
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:232,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:236,1
    - Dst: std::ofstream::close
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:243,1
    - Dst: fs::file_size
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:244,1
    - Dst: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    - Dst: stoi
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' csr'
    - fileHandle
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 0
    functionsReached:
    - fs::file_size
    - error
    - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    - fs::create_directories
    - fs::exists
    - fs::permissions
    - stoi
    - std::ofstream::close
    - std::ofstream::open
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newCsrFileAvailable(const std::string& csr,\n
      \                                           const std::string fileHandle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:255,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:256,1
    - Dst: next
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:260,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:263,1
    - Dst: auto::value
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:265,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:268,1
    - Dst: encode_new_file_req
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:271,1
    - Dst: free
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:274,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:275,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:284,1
    - Dst: decode_new_file_resp
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:289,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:292,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:297,1
    - Dst: registerRequest
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:302,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: std::move
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:304,1
    - Dst: error
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:307,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp:310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - fileSize
    - fileHandle
    - type
    argTypes:
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 313
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
    functionUses: 8
    functionsReached:
    - pldm::utils::reportError
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - decode_new_file_resp
    - free
    - registerRequest
    - reinterpret_cast<pldm_msg*>
    - std::move
    - auto::value
    - auto::error
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: "void DbusToFileHandler::newFileAvailableSendToHost(\n    const uint32_t
      fileSize, const uint32_t fileHandle, const uint16_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToFileHandler(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(const DbusToFileHandler&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(const DbusToFileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(DbusToFileHandler&&)'
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToFileHandler
    signature: DbusToFileHandler & operator=(DbusToFileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~DbusToFileHandler()
    functionSourceFile: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToFileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<eid>
      Src: /src/pldm/oem/meta/utils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::mapTIDtoEID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<eid>
    linkageType: ''
    returnType: eid
    signature: eid mapTIDtoEID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<eid>
      Src: /src/pldm/oem/meta/utils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::mapTIDtoEID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<eid>
    linkageType: ''
    returnType: eid
    signature: eid mapTIDtoEID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::mapTIDtoEID
      Src: /src/pldm/oem/meta/utils.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: pldm::oem_meta::checkMetaIana
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::mapTIDtoEID
    linkageType: ''
    returnType: bool
    signature: bool checkMetaIana(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::mapTIDtoEID
      Src: /src/pldm/oem/meta/utils.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::oem_meta::getSlotNumberStringByTID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::mapTIDtoEID
    linkageType: ''
    returnType: std::string
    signature: std::string getSlotNumberStringByTID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<eid>
      Src: /src/pldm/oem/meta/utils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::mapTIDtoEID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 2
    functionsReached:
    - static_cast<eid>
    linkageType: ''
    returnType: eid
    signature: eid mapTIDtoEID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<eid>
      Src: /src/pldm/oem/meta/utils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::mapTIDtoEID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 2
    functionsReached:
    - static_cast<eid>
    linkageType: ''
    returnType: eid
    signature: eid mapTIDtoEID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::mapTIDtoEID
      Src: /src/pldm/oem/meta/utils.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: pldm::oem_meta::checkMetaIana
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::mapTIDtoEID
    linkageType: ''
    returnType: bool
    signature: bool checkMetaIana(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::mapTIDtoEID
      Src: /src/pldm/oem/meta/utils.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::oem_meta::getSlotNumberStringByTID
    functionSourceFile: /src/pldm/oem/meta/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::mapTIDtoEID
    linkageType: ''
    returnType: std::string
    signature: std::string getSlotNumberStringByTID(const pldm_tid_t& tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA(const OemMETA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const OemMETA&)'
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemMETA
    signature: OemMETA & operator=(const OemMETA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA(OemMETA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(OemMETA&&)'
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemMETA
    signature: OemMETA & operator=(OemMETA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA(const OemMETA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const OemMETA&)'
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemMETA
    signature: OemMETA & operator=(const OemMETA&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemMETA(OemMETA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(OemMETA&&)'
    functionSourceFile: /src/pldm/oem/meta/oem_meta.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemMETA
    signature: OemMETA & operator=(OemMETA&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<oem_meta::OemEventManager>
      Src: /src/pldm/oem/meta/oem_meta.cpp:14,1
    - Dst: pldm::oem_meta::OemMETA::registerOemEventHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:15,1
    - Dst: std::make_unique<pldm::responder::oem_meta::FileIOHandler>
      Src: /src/pldm/oem/meta/oem_meta.cpp:18,1
    - Dst: pldm::oem_meta::OemMETA::registerOemHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:19,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/oem_meta.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dbusHandler
    - ' invoker'
    - platformHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::Invoker
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::OemMETA::registerOemEventHandler
    - std::move
    - pldm::oem_meta::OemMETA::registerOemHandler
    - std::make_unique<oem_meta::OemEventManager>
    - std::make_unique<pldm::responder::oem_meta::FileIOHandler>
    linkageType: ''
    returnType: void
    signature: "void OemMETA::OemMETA(const pldm::utils::DBusHandler* dbusHandler,\n
      \                pldm::responder::Invoker& invoker,\n                 pldm::responder::platform::Handler*
      platformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/meta/oem_meta.cpp:25,1
    - Dst: pldm::oem_meta::OemMETA::oemEventManager::handleOemEvent
      Src: /src/pldm/oem/meta/oem_meta.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - platformHandler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: pldm::oem_meta::OemMETA::registerOemEventHandler
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 1
    functionsReached:
    - pldm::oem_meta::OemMETA::oemEventManager::handleOemEvent
    - pldm::responder::platform::Handler*::registerEventHandlers
    linkageType: ''
    returnType: void
    signature: "void OemMETA::registerOemEventHandler(\n    pldm::responder::platform::Handler*
      platformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:38,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/oem_meta.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' invoker'
    - fileIOHandler
    argTypes:
    - pldm::responder::Invoker
    - std::unique_ptr<pldm::responder::oem_meta::FileIOHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::oem_meta::OemMETA::registerOemHandler
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 1
    functionsReached:
    - std::move
    - registerHandler
    linkageType: ''
    returnType: void
    signature: "void OemMETA::registerOemHandler(\n    pldm::responder::Invoker& invoker,\n
      \   std::unique_ptr<pldm::responder::oem_meta::FileIOHandler> fileIOHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<oem_meta::OemEventManager>
      Src: /src/pldm/oem/meta/oem_meta.cpp:14,1
    - Dst: pldm::oem_meta::OemMETA::registerOemEventHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:15,1
    - Dst: std::make_unique<pldm::responder::oem_meta::FileIOHandler>
      Src: /src/pldm/oem/meta/oem_meta.cpp:18,1
    - Dst: pldm::oem_meta::OemMETA::registerOemHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:19,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/oem_meta.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dbusHandler
    - ' invoker'
    - platformHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::responder::Invoker
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: pldm::oem_meta::OemMETA::OemMETA
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::OemMETA::registerOemEventHandler
    - std::move
    - pldm::oem_meta::OemMETA::registerOemHandler
    - std::make_unique<oem_meta::OemEventManager>
    - std::make_unique<pldm::responder::oem_meta::FileIOHandler>
    linkageType: ''
    returnType: void
    signature: "void OemMETA::OemMETA(const pldm::utils::DBusHandler* dbusHandler,\n
      \                pldm::responder::Invoker& invoker,\n                 pldm::responder::platform::Handler*
      platformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler*::registerEventHandlers
      Src: /src/pldm/oem/meta/oem_meta.cpp:25,1
    - Dst: pldm::oem_meta::OemMETA::oemEventManager::handleOemEvent
      Src: /src/pldm/oem/meta/oem_meta.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - platformHandler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: pldm::oem_meta::OemMETA::registerOemEventHandler
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 2
    functionsReached:
    - pldm::oem_meta::OemMETA::oemEventManager::handleOemEvent
    - pldm::responder::platform::Handler*::registerEventHandlers
    linkageType: ''
    returnType: void
    signature: "void OemMETA::registerOemEventHandler(\n    pldm::responder::platform::Handler*
      platformHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: registerHandler
      Src: /src/pldm/oem/meta/oem_meta.cpp:38,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/oem_meta.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' invoker'
    - fileIOHandler
    argTypes:
    - pldm::responder::Invoker
    - std::unique_ptr<pldm::responder::oem_meta::FileIOHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: pldm::oem_meta::OemMETA::registerOemHandler
    functionSourceFile: /src/pldm/oem/meta/oem_meta.cpp
    functionUses: 2
    functionsReached:
    - std::move
    - registerHandler
    linkageType: ''
    returnType: void
    signature: "void OemMETA::registerOemHandler(\n    pldm::responder::Invoker& invoker,\n
      \   std::unique_ptr<pldm::responder::oem_meta::FileIOHandler> fileIOHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:21,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:27,1
    - Dst: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:32,1
    - Dst: getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:41,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:44,1
    - Dst: std::setfill
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:48,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:49,1
    - Dst: std::setw
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:53,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    - Dst: Errors::UnifiedSELEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: pldm::oem_meta::OemEventManager::processOemMetaEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - static_cast<RecordType>
    - std::setfill
    - getSlotNumberStringByTID
    - pldm::oem_meta::OemEventManager::handleSystemEvent
    - Errors::UnifiedSELEvent
    - std::setw
    - static_cast<int>
    - pldm::responder::oem_meta::record::commit
    - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMetaEvent(\n    pldm_tid_t tid, const
      uint8_t* eventData, size_t eventDataSize) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:71,1
    - Dst: pldm::oem_meta::checkMetaIana
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:73,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:75,1
    - Dst: pldm::oem_meta::OemEventManager::processOemMetaEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: pldm::oem_meta::OemEventManager::handleOemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::checkMetaIana
    - reinterpret_cast<const uint8_t*>
    - lg2::error
    - pldm::oem_meta::OemEventManager::processOemMetaEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleOemEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:90,1
    - Dst: static_cast<ProcessorError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:94,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:99,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:100,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:101,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:102,1
    - Dst: static_cast<ProcessorSeverity>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:104,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:122,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:127,1
    - Dst: static_cast<SystemPostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:135,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:145,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:146,1
    - Dst: static_cast<CxlError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:163,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:186,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:187,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:188,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:189,1
    - Dst: static_cast<CxlError2>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:195,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:217,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:218,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:219,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:220,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:226,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 235
    functionName: pldm::oem_meta::OemEventManager::handleSystemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - static_cast<ProcessorSeverity>
    - static_cast<CxlError>
    - static_cast<SystemPostError>
    - static_cast<SystemError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<ProcessorError>
    - static_cast<CxlError2>
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemEvent(const uint8_t* eventData,\n
      \                                       std::string& errorLog) const"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:244,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:245,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:246,1
    - Dst: static_cast<UnifiedError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:250,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:259,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:260,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:261,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:262,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:263,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:264,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:269,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:271,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:272,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:273,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:274,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:275,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:276,1
    - Dst: pldm::oem_meta::OemEventManager::handleMemoryError
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:282,1
    - Dst: static_cast<UpiError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:287,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:290,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:291,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:298,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:300,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:301,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:302,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:304,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:305,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:311,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:313,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:314,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:315,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:330,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:331,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:333,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:334,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:335,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:336,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:345,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:346,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:347,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:352,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:354,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:355,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:358,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:359,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:360,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:372,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:374,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:375,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:385,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:389,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:390,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:392,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:393,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemPostEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:400,1
    - Dst: static_cast<PcieEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:405,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:408,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:409,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:416,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:419,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:421,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:427,1
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:438,1
    - Dst: static_cast<MemoryEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:442,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:448,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:457,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:458,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:460,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:462,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:469,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:471,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:478,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:479,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:480,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:481,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:483,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:485,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:493,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:494,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:496,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:507,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:509,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:511,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:512,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:514,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:522,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:523,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:524,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:525,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:532,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:537,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:545,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:546,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:547,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:548,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:550,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:559,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 569
    functionName: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::oem_meta::OemEventManager::getDimmDeviceName
    - static_cast<uint8_t>
    - static_cast<UnifiedError>
    - size
    - std::to_string
    - pldm::oem_meta::OemEventManager::handleMemoryError
    - static_cast<PcieEvent>
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<MemoryEvent>
    - pldm::oem_meta::OemEventManager::handleSystemPostEvent
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<uint32_t>
    - static_cast<UpiError>
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleUnifiedBIOSEvent(const uint8_t* eventData,\n
      \                                            std::string& errorLog) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:576,1
    - Dst: static_cast<MemoryError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:578,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:587,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:589,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:590,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:591,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:597,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:599,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:600,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:602,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:607,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:611,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:612,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - eventData
    - ' errorLog'
    - ' dimmInfo'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - DimmInfo
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 618
    functionName: pldm::oem_meta::OemEventManager::handleMemoryError
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<uint8_t>
    - size
    - pldm::oem_meta::OemEventManager::convertToDimmString
    - static_cast<MemoryError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleMemoryError(\n    const uint8_t* eventData,
      std::string& errorLog, const DimmInfo& dimmInfo,\n    uint8_t generalInfo) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:623,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:625,1
    - Dst: static_cast<PostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:628,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:630,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:631,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:641,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:645,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:647,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:650,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:655,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:663,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:665,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:673,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:674,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:675,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:676,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - eventData
    - ' errorLog'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 687
    functionName: pldm::oem_meta::OemEventManager::handleSystemPostEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<PostError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemPostEvent(\n    const uint8_t* eventData,
      std::string& errorLog, uint8_t generalInfo) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:21,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:27,1
    - Dst: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:32,1
    - Dst: getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:41,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:44,1
    - Dst: std::setfill
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:48,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:49,1
    - Dst: std::setw
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:53,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    - Dst: Errors::UnifiedSELEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: pldm::oem_meta::OemEventManager::processOemMetaEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - static_cast<RecordType>
    - std::setfill
    - getSlotNumberStringByTID
    - pldm::oem_meta::OemEventManager::handleSystemEvent
    - Errors::UnifiedSELEvent
    - std::setw
    - static_cast<int>
    - pldm::responder::oem_meta::record::commit
    - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMetaEvent(\n    pldm_tid_t tid, const
      uint8_t* eventData, size_t eventDataSize) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:71,1
    - Dst: pldm::oem_meta::checkMetaIana
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:73,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:75,1
    - Dst: pldm::oem_meta::OemEventManager::processOemMetaEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: pldm::oem_meta::OemEventManager::handleOemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::checkMetaIana
    - reinterpret_cast<const uint8_t*>
    - lg2::error
    - pldm::oem_meta::OemEventManager::processOemMetaEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleOemEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:90,1
    - Dst: static_cast<ProcessorError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:94,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:99,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:100,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:101,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:102,1
    - Dst: static_cast<ProcessorSeverity>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:104,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:122,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:127,1
    - Dst: static_cast<SystemPostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:135,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:145,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:146,1
    - Dst: static_cast<CxlError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:163,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:186,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:187,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:188,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:189,1
    - Dst: static_cast<CxlError2>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:195,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:217,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:218,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:219,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:220,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:226,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 235
    functionName: pldm::oem_meta::OemEventManager::handleSystemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - static_cast<ProcessorSeverity>
    - static_cast<CxlError>
    - static_cast<SystemPostError>
    - static_cast<SystemError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<ProcessorError>
    - static_cast<CxlError2>
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemEvent(const uint8_t* eventData,\n
      \                                       std::string& errorLog) const"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:244,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:245,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:246,1
    - Dst: static_cast<UnifiedError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:250,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:259,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:260,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:261,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:262,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:263,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:264,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:269,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:271,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:272,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:273,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:274,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:275,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:276,1
    - Dst: pldm::oem_meta::OemEventManager::handleMemoryError
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:282,1
    - Dst: static_cast<UpiError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:287,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:290,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:291,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:298,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:300,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:301,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:302,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:304,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:305,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:311,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:313,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:314,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:315,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:330,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:331,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:333,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:334,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:335,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:336,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:345,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:346,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:347,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:352,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:354,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:355,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:358,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:359,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:360,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:372,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:374,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:375,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:385,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:389,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:390,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:392,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:393,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemPostEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:400,1
    - Dst: static_cast<PcieEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:405,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:408,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:409,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:416,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:419,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:421,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:427,1
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:438,1
    - Dst: static_cast<MemoryEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:442,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:448,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:457,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:458,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:460,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:462,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:469,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:471,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:478,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:479,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:480,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:481,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:483,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:485,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:493,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:494,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:496,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:507,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:509,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:511,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:512,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:514,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:522,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:523,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:524,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:525,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:532,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:537,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:545,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:546,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:547,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:548,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:550,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:559,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 569
    functionName: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::oem_meta::OemEventManager::getDimmDeviceName
    - static_cast<uint8_t>
    - static_cast<UnifiedError>
    - size
    - std::to_string
    - pldm::oem_meta::OemEventManager::handleMemoryError
    - static_cast<PcieEvent>
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<MemoryEvent>
    - pldm::oem_meta::OemEventManager::handleSystemPostEvent
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<uint32_t>
    - static_cast<UpiError>
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleUnifiedBIOSEvent(const uint8_t* eventData,\n
      \                                            std::string& errorLog) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:576,1
    - Dst: static_cast<MemoryError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:578,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:587,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:589,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:590,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:591,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:597,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:599,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:600,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:602,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:607,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:611,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:612,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - eventData
    - ' errorLog'
    - ' dimmInfo'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - DimmInfo
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 618
    functionName: pldm::oem_meta::OemEventManager::handleMemoryError
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<uint8_t>
    - size
    - pldm::oem_meta::OemEventManager::convertToDimmString
    - static_cast<MemoryError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleMemoryError(\n    const uint8_t* eventData,
      std::string& errorLog, const DimmInfo& dimmInfo,\n    uint8_t generalInfo) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:623,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:625,1
    - Dst: static_cast<PostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:628,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:630,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:631,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:641,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:645,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:647,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:650,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:655,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:663,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:665,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:673,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:674,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:675,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:676,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - eventData
    - ' errorLog'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 687
    functionName: pldm::oem_meta::OemEventManager::handleSystemPostEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<PostError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemPostEvent(\n    const uint8_t* eventData,
      std::string& errorLog, uint8_t generalInfo) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:21,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:27,1
    - Dst: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:32,1
    - Dst: getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:41,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:44,1
    - Dst: std::setfill
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:48,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:49,1
    - Dst: std::setw
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:53,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    - Dst: Errors::UnifiedSELEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: pldm::oem_meta::OemEventManager::processOemMetaEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - static_cast<RecordType>
    - std::setfill
    - getSlotNumberStringByTID
    - pldm::oem_meta::OemEventManager::handleSystemEvent
    - Errors::UnifiedSELEvent
    - std::setw
    - static_cast<int>
    - pldm::responder::oem_meta::record::commit
    - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMetaEvent(\n    pldm_tid_t tid, const
      uint8_t* eventData, size_t eventDataSize) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:71,1
    - Dst: pldm::oem_meta::checkMetaIana
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:73,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:75,1
    - Dst: pldm::oem_meta::OemEventManager::processOemMetaEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: pldm::oem_meta::OemEventManager::handleOemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::checkMetaIana
    - reinterpret_cast<const uint8_t*>
    - lg2::error
    - pldm::oem_meta::OemEventManager::processOemMetaEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleOemEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:90,1
    - Dst: static_cast<ProcessorError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:94,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:99,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:100,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:101,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:102,1
    - Dst: static_cast<ProcessorSeverity>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:104,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:122,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:127,1
    - Dst: static_cast<SystemPostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:135,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:145,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:146,1
    - Dst: static_cast<CxlError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:163,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:186,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:187,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:188,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:189,1
    - Dst: static_cast<CxlError2>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:195,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:217,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:218,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:219,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:220,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:226,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 235
    functionName: pldm::oem_meta::OemEventManager::handleSystemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - static_cast<ProcessorSeverity>
    - static_cast<CxlError>
    - static_cast<SystemPostError>
    - static_cast<SystemError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<ProcessorError>
    - static_cast<CxlError2>
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemEvent(const uint8_t* eventData,\n
      \                                       std::string& errorLog) const"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:244,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:245,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:246,1
    - Dst: static_cast<UnifiedError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:250,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:259,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:260,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:261,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:262,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:263,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:264,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:269,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:271,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:272,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:273,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:274,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:275,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:276,1
    - Dst: pldm::oem_meta::OemEventManager::handleMemoryError
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:282,1
    - Dst: static_cast<UpiError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:287,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:290,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:291,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:298,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:300,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:301,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:302,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:304,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:305,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:311,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:313,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:314,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:315,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:330,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:331,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:333,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:334,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:335,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:336,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:345,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:346,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:347,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:352,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:354,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:355,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:358,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:359,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:360,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:372,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:374,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:375,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:385,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:389,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:390,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:392,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:393,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemPostEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:400,1
    - Dst: static_cast<PcieEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:405,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:408,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:409,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:416,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:419,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:421,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:427,1
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:438,1
    - Dst: static_cast<MemoryEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:442,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:448,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:457,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:458,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:460,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:462,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:469,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:471,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:478,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:479,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:480,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:481,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:483,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:485,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:493,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:494,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:496,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:507,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:509,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:511,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:512,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:514,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:522,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:523,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:524,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:525,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:532,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:537,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:545,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:546,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:547,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:548,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:550,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:559,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 569
    functionName: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::oem_meta::OemEventManager::getDimmDeviceName
    - static_cast<uint8_t>
    - static_cast<UnifiedError>
    - size
    - std::to_string
    - pldm::oem_meta::OemEventManager::handleMemoryError
    - static_cast<PcieEvent>
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<MemoryEvent>
    - pldm::oem_meta::OemEventManager::handleSystemPostEvent
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<uint32_t>
    - static_cast<UpiError>
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleUnifiedBIOSEvent(const uint8_t* eventData,\n
      \                                            std::string& errorLog) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:576,1
    - Dst: static_cast<MemoryError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:578,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:587,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:589,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:590,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:591,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:597,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:599,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:600,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:602,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:607,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:611,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:612,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - eventData
    - ' errorLog'
    - ' dimmInfo'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - DimmInfo
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 618
    functionName: pldm::oem_meta::OemEventManager::handleMemoryError
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<uint8_t>
    - size
    - pldm::oem_meta::OemEventManager::convertToDimmString
    - static_cast<MemoryError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleMemoryError(\n    const uint8_t* eventData,
      std::string& errorLog, const DimmInfo& dimmInfo,\n    uint8_t generalInfo) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:623,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:625,1
    - Dst: static_cast<PostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:628,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:630,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:631,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:641,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:645,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:647,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:650,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:655,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:663,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:665,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:673,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:674,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:675,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:676,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - eventData
    - ' errorLog'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 687
    functionName: pldm::oem_meta::OemEventManager::handleSystemPostEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<PostError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemPostEvent(\n    const uint8_t* eventData,
      std::string& errorLog, uint8_t generalInfo) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RecordType>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:21,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:27,1
    - Dst: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:32,1
    - Dst: getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:41,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:44,1
    - Dst: std::setfill
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:48,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:49,1
    - Dst: std::setw
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: static_cast<int>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:51,1
    - Dst: std::stringstream::str
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:53,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    - Dst: Errors::UnifiedSELEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 64
    functionName: pldm::oem_meta::OemEventManager::processOemMetaEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - static_cast<RecordType>
    - std::setfill
    - getSlotNumberStringByTID
    - pldm::oem_meta::OemEventManager::handleSystemEvent
    - Errors::UnifiedSELEvent
    - std::setw
    - static_cast<int>
    - pldm::responder::oem_meta::record::commit
    - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    - lg2::error
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::processOemMetaEvent(\n    pldm_tid_t tid, const
      uint8_t* eventData, size_t eventDataSize) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:71,1
    - Dst: pldm::oem_meta::checkMetaIana
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:73,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:75,1
    - Dst: pldm::oem_meta::OemEventManager::processOemMetaEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - pldm_tid_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: pldm::oem_meta::OemEventManager::handleOemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::oem_meta::checkMetaIana
    - reinterpret_cast<const uint8_t*>
    - lg2::error
    - pldm::oem_meta::OemEventManager::processOemMetaEvent
    linkageType: ''
    returnType: int
    signature: "int OemEventManager::handleOemEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /* formatVersion */,\n    pldm_tid_t tid, size_t
      eventDataOffset) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SystemError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:90,1
    - Dst: static_cast<ProcessorError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:94,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:99,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:100,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:101,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:102,1
    - Dst: static_cast<ProcessorSeverity>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:104,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:122,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:127,1
    - Dst: static_cast<SystemPostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:135,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:145,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:146,1
    - Dst: static_cast<CxlError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:163,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:186,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:187,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:188,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:189,1
    - Dst: static_cast<CxlError2>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:195,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:217,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:218,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:219,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:220,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:226,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:227,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:228,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:229,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:230,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:231,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 92
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 235
    functionName: pldm::oem_meta::OemEventManager::handleSystemEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - static_cast<ProcessorSeverity>
    - static_cast<CxlError>
    - static_cast<SystemPostError>
    - static_cast<SystemError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<ProcessorError>
    - static_cast<CxlError2>
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemEvent(const uint8_t* eventData,\n
      \                                       std::string& errorLog) const"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:243,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:244,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:245,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:246,1
    - Dst: static_cast<UnifiedError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:250,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:259,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:260,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:261,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:262,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:263,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:264,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:269,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:271,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:272,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:273,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:274,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:275,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:276,1
    - Dst: pldm::oem_meta::OemEventManager::handleMemoryError
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:282,1
    - Dst: static_cast<UpiError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:287,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:289,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:290,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:291,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:298,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:300,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:301,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:302,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:304,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:305,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:311,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:313,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:314,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:315,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:330,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:331,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:332,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:333,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:334,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:335,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:336,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:345,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:346,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:347,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:352,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:354,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:355,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:358,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:359,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:360,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:372,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:374,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:375,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:378,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:385,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:386,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:389,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:390,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:391,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:392,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:393,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:394,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:395,1
    - Dst: pldm::oem_meta::OemEventManager::handleSystemPostEvent
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:400,1
    - Dst: static_cast<PcieEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:405,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:408,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:409,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:416,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:419,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:421,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:427,1
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:438,1
    - Dst: static_cast<MemoryEvent>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:442,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:448,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:457,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:458,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:460,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:462,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:469,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:471,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:478,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:479,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:480,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:481,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:483,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:485,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:492,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:493,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:494,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:496,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:507,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:509,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:511,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:512,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:514,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:522,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:523,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:524,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:525,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:532,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:534,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:535,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:536,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:537,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:545,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:546,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:547,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:548,1
    - Dst: pldm::oem_meta::OemEventManager::getDimmDeviceName
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:550,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:558,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:559,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:560,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:561,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:562,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:563,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:564,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:565,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 2
    argNames:
    - eventData
    - ' errorLog'
    argTypes:
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 569
    functionName: pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::oem_meta::OemEventManager::getDimmDeviceName
    - static_cast<uint8_t>
    - static_cast<UnifiedError>
    - size
    - std::to_string
    - pldm::oem_meta::OemEventManager::handleMemoryError
    - static_cast<PcieEvent>
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<MemoryEvent>
    - pldm::oem_meta::OemEventManager::handleSystemPostEvent
    - pldm::oem_meta::OemEventManager::to_hex_string
    - static_cast<uint32_t>
    - static_cast<UpiError>
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleUnifiedBIOSEvent(const uint8_t* eventData,\n
      \                                            std::string& errorLog) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::OemEventManager::getCommonDimmLocation
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:576,1
    - Dst: static_cast<MemoryError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:578,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:587,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:589,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:590,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:591,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:597,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:599,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:600,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:602,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:607,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:610,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:611,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:612,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - eventData
    - ' errorLog'
    - ' dimmInfo'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - DimmInfo
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 618
    functionName: pldm::oem_meta::OemEventManager::handleMemoryError
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::oem_meta::OemEventManager::getCommonDimmLocation
    - static_cast<uint8_t>
    - size
    - pldm::oem_meta::OemEventManager::convertToDimmString
    - static_cast<MemoryError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleMemoryError(\n    const uint8_t* eventData,
      std::string& errorLog, const DimmInfo& dimmInfo,\n    uint8_t generalInfo) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:623,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:625,1
    - Dst: static_cast<PostError>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:628,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:629,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:630,1
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:631,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:641,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:645,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:647,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:650,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:655,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:663,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:665,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:673,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:674,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:675,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:676,1
    - Dst: pldm::oem_meta::OemEventManager::to_hex_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.cpp:682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - eventData
    - ' errorLog'
    - generalInfo
    argTypes:
    - uint8_t*
    - std::string
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 687
    functionName: pldm::oem_meta::OemEventManager::handleSystemPostEvent
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.cpp
    functionUses: 4
    functionsReached:
    - size
    - static_cast<uint8_t>
    - static_cast<PostError>
    - pldm::oem_meta::OemEventManager::to_hex_string
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void OemEventManager::handleSystemPostEvent(\n    const uint8_t* eventData,
      std::string& errorLog, uint8_t generalInfo) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:97,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - eventData
    - bdfIdx
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: pldm::oem_meta::OemEventManager::getDimmDeviceName
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 4
    functionsReached:
    - size
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getDimmDeviceName(const uint8_t* eventData, int bdfIdx)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pldm::oem_meta::OemEventManager::to_hex_string
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 16
    functionsReached:
    - std::format
    linkageType: ''
    returnType: auto
    signature: auto to_hex_string(uint32_t value, size_t len = 2) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - channel
    - slot
    - ' str'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: pldm::oem_meta::OemEventManager::convertToDimmString
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 4
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void convertToDimmString(uint8_t cpu, uint8_t channel, uint8_t slot,\n
      \                            std::string& str) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:156,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:157,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:171,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:173,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' dimmInfo'
    - ' dimmLocation'
    - ' dimm'
    argTypes:
    - DimmInfo
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: pldm::oem_meta::OemEventManager::getCommonDimmLocation
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 8
    functionsReached:
    - std::to_string
    - pldm::oem_meta::OemEventManager::convertToDimmString
    linkageType: ''
    returnType: void
    signature: "void getCommonDimmLocation(const DimmInfo& dimmInfo,\n                               std::string&
      dimmLocation,\n                               std::string& dimm) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::oem_meta::OemEventManager::OemEventManager
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemEventManager(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(const OemEventManager&)'
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(const OemEventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(OemEventManager&&)'
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemEventManager
    signature: OemEventManager & operator=(OemEventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~OemEventManager()
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OemEventManager()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:97,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - eventData
    - bdfIdx
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: pldm::oem_meta::OemEventManager::getDimmDeviceName
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 4
    functionsReached:
    - size
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string getDimmDeviceName(const uint8_t* eventData, int bdfIdx)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pldm::oem_meta::OemEventManager::to_hex_string
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 16
    functionsReached:
    - std::format
    linkageType: ''
    returnType: auto
    signature: auto to_hex_string(uint32_t value, size_t len = 2) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cpu
    - channel
    - slot
    - ' str'
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: pldm::oem_meta::OemEventManager::convertToDimmString
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 5
    functionsReached:
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void convertToDimmString(uint8_t cpu, uint8_t channel, uint8_t slot,\n
      \                            std::string& str) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:156,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:157,1
    - Dst: pldm::oem_meta::OemEventManager::convertToDimmString
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:171,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:173,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/event/oem_event_manager.hpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' dimmInfo'
    - ' dimmLocation'
    - ' dimm'
    argTypes:
    - DimmInfo
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: pldm::oem_meta::OemEventManager::getCommonDimmLocation
    functionSourceFile: /src/pldm/oem/meta/event/oem_event_manager.hpp
    functionUses: 8
    functionsReached:
    - std::to_string
    - pldm::oem_meta::OemEventManager::convertToDimmString
    linkageType: ''
    returnType: void
    signature: "void getCommonDimmLocation(const DimmInfo& dimmInfo,\n                               std::string&
      dimmLocation,\n                               std::string& dimm) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(const FileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(FileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const FileHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileHandler
    signature: FileHandler & operator=(const FileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(FileHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileHandler
    signature: FileHandler & operator=(FileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::oem_meta::FileHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int write([[maybe_unused]] const message& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct pldm_oem_meta_file_io_read_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: pldm::responder::oem_meta::FileHandler::read
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(\n        [[maybe_unused]] struct pldm_oem_meta_file_io_read_resp*
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(const FileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::responder::oem_meta::FileHandler::FileHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileHandler(FileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const FileHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileHandler
    signature: FileHandler & operator=(const FileHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(FileHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileHandler
    signature: FileHandler & operator=(FileHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FileHandler()
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::oem_meta::FileHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int write([[maybe_unused]] const message& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct pldm_oem_meta_file_io_read_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: pldm::responder::oem_meta::FileHandler::read
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int read(\n        [[maybe_unused]] struct pldm_oem_meta_file_io_read_resp*
      data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:29,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:31,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:33,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:37,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:44,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:46,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:52,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:60,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:70,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:80,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:83,1
    - Dst: new_method_call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:85,1
    - Dst: auto::append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:87,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:87,1
    - Dst: call_noreply
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:90,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:94,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:101,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 123
    functionName: pldm::responder::oem_meta::PowerControlHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<uint8_t>
    - setDbusProperty
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - call_noreply
    - pldm::utils::DBusHandler::getBus
    - auto::append
    - new_method_call
    - std::to_string
    - std::format
    - std::string
    linkageType: ''
    returnType: int
    signature: int PowerControlHandler::write(const message& data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:29,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:31,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:33,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:37,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:44,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:46,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:52,1
    - Dst: std::string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:54,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:60,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:70,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:71,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:80,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:83,1
    - Dst: new_method_call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:85,1
    - Dst: auto::append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:87,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:87,1
    - Dst: call_noreply
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:90,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:94,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:101,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:108,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:112,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 123
    functionName: pldm::responder::oem_meta::PowerControlHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp
    functionUses: 0
    functionsReached:
    - size
    - static_cast<uint8_t>
    - setDbusProperty
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - call_noreply
    - pldm::utils::DBusHandler::getBus
    - auto::append
    - new_method_call
    - std::to_string
    - std::format
    - std::string
    linkageType: ''
    returnType: int
    signature: int PowerControlHandler::write(const message& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler(const PowerControlHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler(PowerControlHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const PowerControlHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerControlHandler
    signature: PowerControlHandler & operator=(const PowerControlHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(PowerControlHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerControlHandler
    signature: PowerControlHandler & operator=(PowerControlHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tid
    - dBusIntf
    argTypes:
    - pldm_tid_t
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PowerControlHandler(pldm_tid_t tid,\n                                 const
      pldm::utils::DBusHandler* dBusIntf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~PowerControlHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerControlHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler(const PowerControlHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerControlHandler(PowerControlHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const PowerControlHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerControlHandler
    signature: PowerControlHandler & operator=(const PowerControlHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(PowerControlHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerControlHandler
    signature: PowerControlHandler & operator=(PowerControlHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tid
    - dBusIntf
    argTypes:
    - pldm_tid_t
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PowerControlHandler(pldm_tid_t tid,\n                                 const
      pldm::utils::DBusHandler* dBusIntf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~PowerControlHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerControlHandler() override
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:25,1
    - Dst: access
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:34,1
    - Dst: open
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:41,1
    - Dst: fstat
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:45,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:47,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:57,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:60,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:68,1
    - Dst: malloc
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:72,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:75,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:78,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:82,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:85,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:86,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:87,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:91,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:92,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:96,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:117,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:120,1
    - Dst: malloc
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:134,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:137,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:140,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:144,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:147,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:150,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:151,1
    - Dst: memcpy
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:155,1
    - Dst: pldm_oem_meta_file_io_read_resp_data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:155,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:157,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:164,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:169,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:171,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:176,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct pldm_oem_meta_file_io_read_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 179
    functionName: pldm::responder::oem_meta::HttpBootHandler::read
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - fstat
    - error
    - pldm::responder::CertHandler::read
    - pldm_oem_meta_file_io_read_resp_data
    - access
    - free
    - lseek
    - memcpy
    - close
    - malloc
    - open
    linkageType: ''
    returnType: int
    signature: int HttpBootHandler::read(struct pldm_oem_meta_file_io_read_resp* data)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:25,1
    - Dst: access
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:32,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:34,1
    - Dst: open
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:38,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:41,1
    - Dst: fstat
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:45,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:47,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:57,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:60,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:68,1
    - Dst: malloc
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:72,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:75,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:78,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:82,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:85,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:86,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:87,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:91,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:92,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:96,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:107,1
    - Dst: lseek
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:114,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:117,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:120,1
    - Dst: malloc
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:134,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:137,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:140,1
    - Dst: pldm::responder::CertHandler::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:144,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:147,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:150,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:151,1
    - Dst: memcpy
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:155,1
    - Dst: pldm_oem_meta_file_io_read_resp_data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:155,1
    - Dst: free
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:157,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:164,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:169,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:171,1
    - Dst: close
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp:176,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct pldm_oem_meta_file_io_read_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 179
    functionName: pldm::responder::oem_meta::HttpBootHandler::read
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - fstat
    - error
    - pldm::responder::CertHandler::read
    - pldm_oem_meta_file_io_read_resp_data
    - access
    - free
    - lseek
    - memcpy
    - close
    - malloc
    - open
    linkageType: ''
    returnType: int
    signature: int HttpBootHandler::read(struct pldm_oem_meta_file_io_read_resp* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:23,1
    - Dst: std::cmp_greater
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:30,1
    - Dst: std::distance
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: std::begin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:34,1
    - Dst: std::for_each
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: rbegin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: rend
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:40,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:45,1
    - Dst: new_method_call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:47,1
    - Dst: auto::append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:50,1
    - Dst: std::variant<postcode_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:52,1
    - Dst: postcode_t
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:52,1
    - Dst: call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:54,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' postCodeList'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 63
    functionName: pldm::responder::oem_meta::PostCodeHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - std::end
    - std::for_each
    - std::string::c_str
    - std::variant<postcode_t>
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - rend
    - call
    - postcode_t
    - std::cmp_greater
    - std::vector::push_back
    - auto::append
    - new_method_call
    - std::distance
    - std::begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PostCodeHandler::write(const message& postCodeList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:23,1
    - Dst: std::cmp_greater
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:30,1
    - Dst: std::distance
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: std::begin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:31,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:34,1
    - Dst: std::for_each
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: rbegin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: rend
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:38,1
    - Dst: std::vector::push_back
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:40,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:45,1
    - Dst: new_method_call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:47,1
    - Dst: auto::append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:50,1
    - Dst: std::variant<postcode_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:52,1
    - Dst: postcode_t
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:52,1
    - Dst: call
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:54,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' postCodeList'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 63
    functionName: pldm::responder::oem_meta::PostCodeHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - std::end
    - std::for_each
    - std::string::c_str
    - std::variant<postcode_t>
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - rend
    - call
    - postcode_t
    - std::cmp_greater
    - std::vector::push_back
    - auto::append
    - new_method_call
    - std::distance
    - std::begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int PostCodeHandler::write(const message& postCodeList)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(const EventLogHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(EventLogHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const EventLogHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventLogHandler
    signature: EventLogHandler & operator=(const EventLogHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(EventLogHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventLogHandler
    signature: EventLogHandler & operator=(EventLogHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~EventLogHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventLogHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(const EventLogHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(EventLogHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(const EventLogHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventLogHandler
    signature: EventLogHandler & operator=(const EventLogHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(EventLogHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventLogHandler
    signature: EventLogHandler & operator=(EventLogHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::responder::oem_meta::EventLogHandler::EventLogHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventLogHandler(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~EventLogHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventLogHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(const PostCodeHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(PostCodeHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: '& operator=(const PostCodeHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostCodeHandler
    signature: PostCodeHandler & operator=(const PostCodeHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(PostCodeHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostCodeHandler
    signature: PostCodeHandler & operator=(PostCodeHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~PostCodeHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(const PostCodeHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(PostCodeHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: '& operator=(const PostCodeHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostCodeHandler
    signature: PostCodeHandler & operator=(const PostCodeHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: '& operator=(PostCodeHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostCodeHandler
    signature: PostCodeHandler & operator=(PostCodeHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostCodeHandler(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~PostCodeHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostCodeHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler(const HttpBootHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler(HttpBootHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const HttpBootHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpBootHandler
    signature: HttpBootHandler & operator=(const HttpBootHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(HttpBootHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpBootHandler
    signature: HttpBootHandler & operator=(HttpBootHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~HttpBootHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpBootHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler(const HttpBootHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpBootHandler(HttpBootHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const HttpBootHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpBootHandler
    signature: HttpBootHandler & operator=(const HttpBootHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(HttpBootHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpBootHandler
    signature: HttpBootHandler & operator=(HttpBootHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: ~HttpBootHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpBootHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(const FileIOHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(FileIOHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const FileIOHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileIOHandler
    signature: FileIOHandler & operator=(const FileIOHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(FileIOHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileIOHandler
    signature: FileIOHandler & operator=(FileIOHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~FileIOHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileIOHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:29,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::writeFileIO
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:35,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::readFileIO
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dBusHandler
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::readFileIO
    - pldm::responder::oem_meta::FileIOHandler::writeFileIO
    - emplace
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(const pldm::utils::DBusHandler* dBusHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(const FileIOHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(FileIOHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const FileIOHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileIOHandler
    signature: FileIOHandler & operator=(const FileIOHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(FileIOHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileIOHandler
    signature: FileIOHandler & operator=(FileIOHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: ~FileIOHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileIOHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:29,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::writeFileIO
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:35,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::readFileIO
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dBusHandler
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: pldm::responder::oem_meta::FileIOHandler::FileIOHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::readFileIO
    - pldm::responder::oem_meta::FileIOHandler::writeFileIO
    - emplace
    linkageType: ''
    returnType: void
    signature: void FileIOHandler(const pldm::utils::DBusHandler* dBusHandler)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PostCodeHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:20,1
    - Dst: std::make_unique<BIOSVersionHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:22,1
    - Dst: std::make_unique<PowerControlHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:25,1
    - Dst: std::make_unique<HttpBootHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:28,1
    - Dst: std::make_unique<EventLogHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:30,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - messageTid
    - fileIOType
    argTypes:
    - pldm_tid_t
    - FileIOType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 37
    functionName: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<EventLogHandler>
    - std::make_unique<HttpBootHandler>
    - error
    - std::make_unique<BIOSVersionHandler>
    - std::make_unique<PostCodeHandler>
    - std::make_unique<PowerControlHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> FileIOHandler::getHandlerByType(\n    [[maybe_unused]]
      pldm_tid_t messageTid, FileIOType fileIOType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:47,1
    - Dst: static_cast<uint8_t*>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:48,1
    - Dst: pldm_oem_meta_file_io_write_req_data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:49,1
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:51,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:56,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:57,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:61,1
    - Dst: static_cast<FileIOType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:61,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:64,1
    - Dst: std::span
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:67,1
    - Dst: auto::write
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:69,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tid
    - request
    - payloadLength
    argTypes:
    - pldm_tid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: pldm::responder::oem_meta::FileIOHandler::writeFileIO
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    - static_cast<uint8_t*>
    - std::span
    - auto::write
    - error
    - ccOnlyResponse
    - static_cast<FileIOType>
    - decode_oem_meta_file_io_write_req
    - pldm_oem_meta_file_io_write_req_data
    - pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
    linkageType: ''
    returnType: Response
    signature: "Response FileIOHandler::writeFileIO(pldm_tid_t tid, const pldm_msg*
      request,\n                                    size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:85,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:86,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:90,1
    - Dst: static_cast<FileIOType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:90,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:94,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:109,1
    - Dst: pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:109,1
    - Dst: auto::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:123,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:127,1
    - Dst: Response::data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:134,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:134,1
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:136,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - tid
    - request
    - payloadLength
    argTypes:
    - pldm_tid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 147
    functionName: pldm::responder::oem_meta::FileIOHandler::readFileIO
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    - Response::data
    - encode_oem_meta_file_io_read_resp
    - std::vector::data
    - error
    - static_cast<FileIOType>
    - decode_oem_meta_file_io_read_req
    - pldm_msg::pldm_msg
    - auto::read
    - ccOnlyResponse
    - pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
    linkageType: ''
    returnType: Response
    signature: "Response FileIOHandler::readFileIO(pldm_tid_t tid, const pldm_msg*
      request,\n                                   size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PostCodeHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:20,1
    - Dst: std::make_unique<BIOSVersionHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:22,1
    - Dst: std::make_unique<PowerControlHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:25,1
    - Dst: std::make_unique<HttpBootHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:28,1
    - Dst: std::make_unique<EventLogHandler>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:30,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - messageTid
    - fileIOType
    argTypes:
    - pldm_tid_t
    - FileIOType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 37
    functionName: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<EventLogHandler>
    - std::make_unique<HttpBootHandler>
    - error
    - std::make_unique<BIOSVersionHandler>
    - std::make_unique<PostCodeHandler>
    - std::make_unique<PowerControlHandler>
    linkageType: ''
    returnType: std::unique_ptr<FileHandler>
    signature: "std::unique_ptr<FileHandler> FileIOHandler::getHandlerByType(\n    [[maybe_unused]]
      pldm_tid_t messageTid, FileIOType fileIOType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:47,1
    - Dst: static_cast<uint8_t*>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:48,1
    - Dst: pldm_oem_meta_file_io_write_req_data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:49,1
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:51,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:56,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:57,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:61,1
    - Dst: static_cast<FileIOType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:61,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:64,1
    - Dst: std::span
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:67,1
    - Dst: auto::write
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:69,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tid
    - request
    - payloadLength
    argTypes:
    - pldm_tid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: pldm::responder::oem_meta::FileIOHandler::writeFileIO
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    - static_cast<uint8_t*>
    - std::span
    - auto::write
    - error
    - ccOnlyResponse
    - static_cast<FileIOType>
    - decode_oem_meta_file_io_write_req
    - pldm_oem_meta_file_io_write_req_data
    - pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
    linkageType: ''
    returnType: Response
    signature: "Response FileIOHandler::writeFileIO(pldm_tid_t tid, const pldm_msg*
      request,\n                                    size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:81,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:85,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:86,1
    - Dst: pldm::responder::oem_meta::FileIOHandler::getHandlerByType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:90,1
    - Dst: static_cast<FileIOType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:90,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:94,1
    - Dst: std::vector::data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:109,1
    - Dst: pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:109,1
    - Dst: auto::read
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:123,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:127,1
    - Dst: Response::data
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:134,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:134,1
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:136,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/oem/meta/libpldmresponder/file_io.cpp:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - tid
    - request
    - payloadLength
    argTypes:
    - pldm_tid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 147
    functionName: pldm::responder::oem_meta::FileIOHandler::readFileIO
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
    - Response::data
    - encode_oem_meta_file_io_read_resp
    - std::vector::data
    - error
    - static_cast<FileIOType>
    - decode_oem_meta_file_io_read_req
    - pldm_msg::pldm_msg
    - auto::read
    - ccOnlyResponse
    - pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
    linkageType: ''
    returnType: Response
    signature: "Response FileIOHandler::readFileIO(pldm_tid_t tid, const pldm_msg*
      request,\n                                   size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:19,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:22,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:28,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:30,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:37,1
    - Dst: pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:37,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
    - setDbusProperty
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
    - std::format
    linkageType: ''
    returnType: int
    signature: int BIOSVersionHandler::write(const message& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 1
    functionsReached:
    - empty
    linkageType: ''
    returnType: int
    signature: int BIOSVersionHandler::checkDataIntegrity(const message& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:68,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: pldm::utils::PropertyValue
    signature: "pldm::utils::PropertyValue BIOSVersionHandler::convertToBIOSVersionStr(\n
      \   const message& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:19,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:22,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:28,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:30,1
    - Dst: setDbusProperty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:37,1
    - Dst: pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:37,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:41,1
    - Dst: error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
    - setDbusProperty
    - pldm::oem_meta::getSlotNumberStringByTID
    - error
    - pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
    - std::format
    linkageType: ''
    returnType: int
    signature: int BIOSVersionHandler::write(const message& data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 2
    functionsReached:
    - empty
    linkageType: ''
    returnType: int
    signature: int BIOSVersionHandler::checkDataIntegrity(const message& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:68,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
    functionUses: 2
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: pldm::utils::PropertyValue
    signature: "pldm::utils::PropertyValue BIOSVersionHandler::convertToBIOSVersionStr(\n
      \   const message& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:200,1
    - Dst: AssertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:201,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    - Dst: DeassertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: pldm::responder::oem_meta::record::commit
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 9
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - AssertType
    - DeassertType
    linkageType: ''
    returnType: void
    signature: "void commit(const std::string& object_path, EventAssert eventStatus,\n
      \                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: pldm::responder::oem_meta::record::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const std::string& object_path,\n                           EventAssert
      eventStatus,\n                           const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: pldm::responder::oem_meta::record::voltageRegulatorFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void voltageRegulatorFault(const std::string& object_path,\n                                  EventAssert
      eventStatus,\n                                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: pldm::responder::oem_meta::record::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const std::string& object_path,\n                         EventAssert
      eventStatus,\n                         const std::string& failureData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:200,1
    - Dst: AssertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:201,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    - Dst: DeassertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: pldm::responder::oem_meta::record::commit
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 13
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - AssertType
    - DeassertType
    linkageType: ''
    returnType: void
    signature: "void commit(const std::string& object_path, EventAssert eventStatus,\n
      \                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: pldm::responder::oem_meta::record::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const std::string& object_path,\n                           EventAssert
      eventStatus,\n                           const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: pldm::responder::oem_meta::record::voltageRegulatorFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void voltageRegulatorFault(const std::string& object_path,\n                                  EventAssert
      eventStatus,\n                                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: pldm::responder::oem_meta::record::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const std::string& object_path,\n                         EventAssert
      eventStatus,\n                         const std::string& failureData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:797,1
    - Dst: recorder
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' fault'
    - eventStatus
    - detail1
    - detail2
    argTypes:
    - FaultDesc
    - EventAssert
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_meta::report::recordEventLog
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - recorder
    - std::format
    linkageType: ''
    returnType: void
    signature: "void recordEventLog(const FaultDesc& fault, EventAssert eventStatus,\n
      \                          uint8_t detail1, uint8_t detail2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:806,1
    - Dst: pldm::responder::oem_meta::record::thermalFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 809
    functionName: pldm::responder::oem_meta::report::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::thermalFault
    - static_cast<EventAssert>
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:815,1
    - Dst: pldm::responder::oem_meta::record::powerRailFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: pldm::responder::oem_meta::report::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::record::powerRailFault
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const message& eventData, const std::string&,\n
      \                          const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: DeviceOperatingNormalTemperature
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:838,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    - Dst: DeviceOverOperatingTemperatureFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: pldm::responder::oem_meta::report::prochotSdSensor
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - DeviceOverOperatingTemperatureFault
    - DeviceOperatingNormalTemperature
    - std::format
    linkageType: ''
    returnType: void
    signature: "void prochotSdSensor(const message& eventData, const std::string&,\n
      \                           const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:849,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:850,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:851,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:853,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 859
    functionName: pldm::responder::oem_meta::report::mtiaFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - find
    - lg2::error
    - pldm::responder::oem_meta::report::recordEventLog
    linkageType: ''
    returnType: void
    signature: "void mtiaFault(const message& eventData, const std::string&,\n                      const
      std::string&)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:864,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:865,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:866,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:876,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:880,1
    - Dst: std::string::find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:889,1
    - Dst: std::string::insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::string_view::size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:897,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:899,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNumStr'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 903
    functionName: pldm::responder::oem_meta::report::rainbowFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::report::recordEventLog
    - find
    - std::string::insert
    - std::stoi
    - std::move
    - std::string::find
    - std::string_view::size
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void rainbowFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNumStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    - Dst: c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_meta::report::reportError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - pldm::utils::reportError
    linkageType: ''
    returnType: void
    signature: "void reportError(const message&, const std::string& event,\n                        const
      std::string&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:797,1
    - Dst: recorder
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' fault'
    - eventStatus
    - detail1
    - detail2
    argTypes:
    - FaultDesc
    - EventAssert
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_meta::report::recordEventLog
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 2
    functionsReached:
    - recorder
    - std::format
    linkageType: ''
    returnType: void
    signature: "void recordEventLog(const FaultDesc& fault, EventAssert eventStatus,\n
      \                          uint8_t detail1, uint8_t detail2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:806,1
    - Dst: pldm::responder::oem_meta::record::thermalFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 809
    functionName: pldm::responder::oem_meta::report::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::thermalFault
    - static_cast<EventAssert>
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:815,1
    - Dst: pldm::responder::oem_meta::record::powerRailFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: pldm::responder::oem_meta::report::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::record::powerRailFault
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const message& eventData, const std::string&,\n
      \                          const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: DeviceOperatingNormalTemperature
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:838,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    - Dst: DeviceOverOperatingTemperatureFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: pldm::responder::oem_meta::report::prochotSdSensor
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - DeviceOverOperatingTemperatureFault
    - DeviceOperatingNormalTemperature
    - std::format
    linkageType: ''
    returnType: void
    signature: "void prochotSdSensor(const message& eventData, const std::string&,\n
      \                           const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:849,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:850,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:851,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:853,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 859
    functionName: pldm::responder::oem_meta::report::mtiaFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - find
    - lg2::error
    - pldm::responder::oem_meta::report::recordEventLog
    linkageType: ''
    returnType: void
    signature: "void mtiaFault(const message& eventData, const std::string&,\n                      const
      std::string&)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:864,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:865,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:866,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:876,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:880,1
    - Dst: std::string::find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:889,1
    - Dst: std::string::insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::string_view::size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:897,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:899,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNumStr'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 903
    functionName: pldm::responder::oem_meta::report::rainbowFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::report::recordEventLog
    - find
    - std::string::insert
    - std::stoi
    - std::move
    - std::string::find
    - std::string_view::size
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void rainbowFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNumStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    - Dst: c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_meta::report::reportError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - pldm::utils::reportError
    linkageType: ''
    returnType: void
    signature: "void reportError(const message&, const std::string& event,\n                        const
      std::string&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:916,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:918,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:924,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:925,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: pldm::responder::oem_meta::format::vrFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string vrFault(const message& eventData, EventType eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:935,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:936,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:938,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:943,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: pldm::responder::oem_meta::format::dimmPmicError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string dimmPmicError(const message& eventData, EventType eventType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:916,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:918,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:924,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:925,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: pldm::responder::oem_meta::format::vrFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string vrFault(const message& eventData, EventType eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:935,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:936,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:938,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:943,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: pldm::responder::oem_meta::format::dimmPmicError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string dimmPmicError(const message& eventData, EventType eventType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1013,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1013,1
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1015,1
    - Dst: append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1019,1
    - Dst: append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' eventData'
    - ' event'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: pldm::responder::oem_meta::checkEventAssert
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - insert
    - append
    - static_cast<EventAssert>
    - std::format
    linkageType: ''
    returnType: void
    signature: "void checkEventAssert(const message& eventData, std::string& event,\n
      \                            const std::string& slotNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1031,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1033,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1034,1
    - Dst: auto::second::formatter
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1036,1
    - Dst: static_cast<std::size_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1040,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1040,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1041,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1043,1
    - Dst: pldm::responder::oem_meta::checkEventAssert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1054
    functionName: pldm::responder::oem_meta::processEventData
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::responder::oem_meta::checkEventAssert
    - auto::second::formatter
    - find
    - static_cast<EventType>
    - static_cast<std::size_t>
    - std::to_underlying
    - end
    linkageType: ''
    returnType: std::string
    signature: "std::string processEventData(const message& eventData,\n                                    const
      std::string& slotNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1060,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1061,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1062,1
    - Dst: auto::second::reporter
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1066,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' eventData'
    - ' event'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1073
    functionName: pldm::responder::oem_meta::addSystemEventLogAndJournal
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - find
    - static_cast<EventType>
    - auto::second::reporter
    - end
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void addSystemEventLogAndJournal(const message& eventData,\n                                        const
      std::string& event,\n                                        const std::string&
      slotNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1080,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1081,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1083,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1085,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1089,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1091,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1096,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1099,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1100,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1101,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1102,1
    - Dst: std::pair<pldm_tid_t, EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1103,1
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1104,1
    - Dst: std::map::contains
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1105,1
    - Dst: lg2::info
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1108,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1116,1
    - Dst: processEventData
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1117,1
    - Dst: addSystemEventLogAndJournal
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1121
    functionName: pldm::responder::oem_meta::EventLogHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - size
    - addSystemEventLogAndJournal
    - std::map::contains
    - pldm::oem_meta::getSlotNumberStringByTID
    - static_cast<EventType>
    - processEventData
    - static_cast<uint32_t>
    - lg2::error
    - lg2::info
    - std::pair<pldm_tid_t, EventType>
    linkageType: ''
    returnType: int
    signature: int EventLogHandler::write(const message& eventData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:200,1
    - Dst: AssertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:201,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    - Dst: DeassertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: pldm::responder::oem_meta::record::commit
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 19
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - AssertType
    - DeassertType
    linkageType: ''
    returnType: void
    signature: "void commit(const std::string& object_path, EventAssert eventStatus,\n
      \                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: pldm::responder::oem_meta::record::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const std::string& object_path,\n                           EventAssert
      eventStatus,\n                           const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: pldm::responder::oem_meta::record::voltageRegulatorFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void voltageRegulatorFault(const std::string& object_path,\n                                  EventAssert
      eventStatus,\n                                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: pldm::responder::oem_meta::record::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const std::string& object_path,\n                         EventAssert
      eventStatus,\n                         const std::string& failureData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:200,1
    - Dst: AssertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:201,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    - Dst: DeassertType
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: pldm::responder::oem_meta::record::commit
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 23
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - AssertType
    - DeassertType
    linkageType: ''
    returnType: void
    signature: "void commit(const std::string& object_path, EventAssert eventStatus,\n
      \                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: pldm::responder::oem_meta::record::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const std::string& object_path,\n                           EventAssert
      eventStatus,\n                           const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: pldm::responder::oem_meta::record::voltageRegulatorFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void voltageRegulatorFault(const std::string& object_path,\n                                  EventAssert
      eventStatus,\n                                  const std::string& failureData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' object_path'
    - eventStatus
    - ' failureData'
    argTypes:
    - std::string
    - EventAssert
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: pldm::responder::oem_meta::record::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const std::string& object_path,\n                         EventAssert
      eventStatus,\n                         const std::string& failureData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:797,1
    - Dst: recorder
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' fault'
    - eventStatus
    - detail1
    - detail2
    argTypes:
    - FaultDesc
    - EventAssert
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_meta::report::recordEventLog
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 4
    functionsReached:
    - recorder
    - std::format
    linkageType: ''
    returnType: void
    signature: "void recordEventLog(const FaultDesc& fault, EventAssert eventStatus,\n
      \                          uint8_t detail1, uint8_t detail2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:806,1
    - Dst: pldm::responder::oem_meta::record::thermalFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 809
    functionName: pldm::responder::oem_meta::report::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::thermalFault
    - static_cast<EventAssert>
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:815,1
    - Dst: pldm::responder::oem_meta::record::powerRailFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: pldm::responder::oem_meta::report::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::record::powerRailFault
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const message& eventData, const std::string&,\n
      \                          const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: DeviceOperatingNormalTemperature
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:838,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    - Dst: DeviceOverOperatingTemperatureFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: pldm::responder::oem_meta::report::prochotSdSensor
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - DeviceOverOperatingTemperatureFault
    - DeviceOperatingNormalTemperature
    - std::format
    linkageType: ''
    returnType: void
    signature: "void prochotSdSensor(const message& eventData, const std::string&,\n
      \                           const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:849,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:850,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:851,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:853,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 859
    functionName: pldm::responder::oem_meta::report::mtiaFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - find
    - lg2::error
    - pldm::responder::oem_meta::report::recordEventLog
    linkageType: ''
    returnType: void
    signature: "void mtiaFault(const message& eventData, const std::string&,\n                      const
      std::string&)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:864,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:865,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:866,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:876,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:880,1
    - Dst: std::string::find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:889,1
    - Dst: std::string::insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::string_view::size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:897,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:899,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNumStr'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 903
    functionName: pldm::responder::oem_meta::report::rainbowFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::report::recordEventLog
    - find
    - std::string::insert
    - std::stoi
    - std::move
    - std::string::find
    - std::string_view::size
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void rainbowFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNumStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    - Dst: c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_meta::report::reportError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - pldm::utils::reportError
    linkageType: ''
    returnType: void
    signature: "void reportError(const message&, const std::string& event,\n                        const
      std::string&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:797,1
    - Dst: recorder
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' fault'
    - eventStatus
    - detail1
    - detail2
    argTypes:
    - FaultDesc
    - EventAssert
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: pldm::responder::oem_meta::report::recordEventLog
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 6
    functionsReached:
    - recorder
    - std::format
    linkageType: ''
    returnType: void
    signature: "void recordEventLog(const FaultDesc& fault, EventAssert eventStatus,\n
      \                          uint8_t detail1, uint8_t detail2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:806,1
    - Dst: pldm::responder::oem_meta::record::thermalFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 809
    functionName: pldm::responder::oem_meta::report::thermalFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::thermalFault
    - static_cast<EventAssert>
    linkageType: ''
    returnType: void
    signature: "void thermalFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:815,1
    - Dst: pldm::responder::oem_meta::record::powerRailFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: pldm::responder::oem_meta::report::powerRailFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::record::powerRailFault
    linkageType: ''
    returnType: void
    signature: "void powerRailFault(const message& eventData, const std::string&,\n
      \                          const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: DeviceOperatingNormalTemperature
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:830,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:838,1
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    - Dst: DeviceOverOperatingTemperatureFault
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: pldm::responder::oem_meta::report::prochotSdSensor
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - DeviceOverOperatingTemperatureFault
    - DeviceOperatingNormalTemperature
    - std::format
    linkageType: ''
    returnType: void
    signature: "void prochotSdSensor(const message& eventData, const std::string&,\n
      \                           const std::string& slotNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:849,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:850,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:851,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:853,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 859
    functionName: pldm::responder::oem_meta::report::mtiaFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - find
    - lg2::error
    - pldm::responder::oem_meta::report::recordEventLog
    linkageType: ''
    returnType: void
    signature: "void mtiaFault(const message& eventData, const std::string&,\n                      const
      std::string&)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:864,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:865,1
    - Dst: std::end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:866,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:876,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:880,1
    - Dst: std::string::find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:889,1
    - Dst: std::string::insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::string_view::size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:893,1
    - Dst: std::to_string
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:897,1
    - Dst: std::move
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:899,1
    - Dst: pldm::responder::oem_meta::report::recordEventLog
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNumStr'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 903
    functionName: pldm::responder::oem_meta::report::rainbowFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - std::end
    - static_cast<EventAssert>
    - pldm::responder::oem_meta::report::recordEventLog
    - find
    - std::string::insert
    - std::stoi
    - std::move
    - std::string::find
    - std::string_view::size
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void rainbowFault(const message& eventData, const std::string&,\n
      \                        const std::string& slotNumStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::reportError
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    - Dst: c_str
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 909
    functionName: pldm::responder::oem_meta::report::reportError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - pldm::utils::reportError
    linkageType: ''
    returnType: void
    signature: "void reportError(const message&, const std::string& event,\n                        const
      std::string&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:916,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:918,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:924,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:925,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: pldm::responder::oem_meta::format::vrFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string vrFault(const message& eventData, EventType eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:935,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:936,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:938,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:943,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: pldm::responder::oem_meta::format::dimmPmicError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string dimmPmicError(const message& eventData, EventType eventType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:916,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:918,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:924,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:925,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: pldm::responder::oem_meta::format::vrFault
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string vrFault(const message& eventData, EventType eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:935,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:936,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:938,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:943,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' eventData'
    - eventType
    argTypes:
    - message
    - EventType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: pldm::responder::oem_meta::format::dimmPmicError
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - size
    - std::to_underlying
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string dimmPmicError(const message& eventData, EventType eventType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1013,1
    - Dst: std::format
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1013,1
    - Dst: static_cast<EventAssert>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1015,1
    - Dst: append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1019,1
    - Dst: append
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' eventData'
    - ' event'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1025
    functionName: pldm::responder::oem_meta::checkEventAssert
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 1
    functionsReached:
    - insert
    - append
    - static_cast<EventAssert>
    - std::format
    linkageType: ''
    returnType: void
    signature: "void checkEventAssert(const message& eventData, std::string& event,\n
      \                            const std::string& slotNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1031,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1033,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1034,1
    - Dst: auto::second::formatter
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1036,1
    - Dst: static_cast<std::size_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1040,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1040,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1041,1
    - Dst: std::to_underlying
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1043,1
    - Dst: pldm::responder::oem_meta::checkEventAssert
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' eventData'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1054
    functionName: pldm::responder::oem_meta::processEventData
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::responder::oem_meta::checkEventAssert
    - auto::second::formatter
    - find
    - static_cast<EventType>
    - static_cast<std::size_t>
    - std::to_underlying
    - end
    linkageType: ''
    returnType: std::string
    signature: "std::string processEventData(const message& eventData,\n                                    const
      std::string& slotNum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1060,1
    - Dst: find
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1061,1
    - Dst: end
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1062,1
    - Dst: auto::second::reporter
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1066,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' eventData'
    - ' event'
    - ' slotNum'
    argTypes:
    - message
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1073
    functionName: pldm::responder::oem_meta::addSystemEventLogAndJournal
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - find
    - static_cast<EventType>
    - auto::second::reporter
    - end
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void addSystemEventLogAndJournal(const message& eventData,\n                                        const
      std::string& event,\n                                        const std::string&
      slotNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1080,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1081,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1083,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1085,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1089,1
    - Dst: lg2::error
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1091,1
    - Dst: size
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1096,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1099,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1100,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1101,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1102,1
    - Dst: std::pair<pldm_tid_t, EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1103,1
    - Dst: static_cast<EventType>
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1104,1
    - Dst: std::map::contains
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1105,1
    - Dst: lg2::info
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1108,1
    - Dst: pldm::oem_meta::getSlotNumberStringByTID
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1116,1
    - Dst: processEventData
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1117,1
    - Dst: addSystemEventLogAndJournal
      Src: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' eventData'
    argTypes:
    - message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1121
    functionName: pldm::responder::oem_meta::EventLogHandler::write
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    functionUses: 0
    functionsReached:
    - size
    - addSystemEventLogAndJournal
    - std::map::contains
    - pldm::oem_meta::getSlotNumberStringByTID
    - static_cast<EventType>
    - processEventData
    - static_cast<uint32_t>
    - lg2::error
    - lg2::info
    - std::pair<pldm_tid_t, EventType>
    linkageType: ''
    returnType: int
    signature: int EventLogHandler::write(const message& eventData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler(const BIOSVersionHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler(BIOSVersionHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const BIOSVersionHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSVersionHandler
    signature: BIOSVersionHandler & operator=(const BIOSVersionHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(BIOSVersionHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSVersionHandler
    signature: BIOSVersionHandler & operator=(BIOSVersionHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tid
    - dBusIntf
    argTypes:
    - pldm_tid_t
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BIOSVersionHandler(pldm_tid_t tid,\n                                const
      pldm::utils::DBusHandler* dBusIntf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~BIOSVersionHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSVersionHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler(const BIOSVersionHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSVersionHandler(BIOSVersionHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: '& operator=(const BIOSVersionHandler&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSVersionHandler
    signature: BIOSVersionHandler & operator=(const BIOSVersionHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: '& operator=(BIOSVersionHandler&&)'
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSVersionHandler
    signature: BIOSVersionHandler & operator=(BIOSVersionHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tid
    - dBusIntf
    argTypes:
    - pldm_tid_t
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BIOSVersionHandler(pldm_tid_t tid,\n                                const
      pldm::utils::DBusHandler* dBusIntf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~BIOSVersionHandler() override
    functionSourceFile: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSVersionHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:85,1
    - Dst: FlightRecorder::GetInstance
      Src: /src/pldm/pldmd/pldmd.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: interruptFlightRecorderCallBack
    functionSourceFile: /src/pldm/pldmd/pldmd.cpp
    functionUses: 0
    functionsReached:
    - error
    - FlightRecorder::GetInstance
    linkageType: ''
    returnType: void
    signature: "void interruptFlightRecorderCallBack(Signal& /*signal*/,\n                                     const
      struct signalfd_siginfo*)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/pldmd.cpp:94,1
    - Dst: request_name
      Src: /src/pldm/pldmd/pldmd.cpp:95,1
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: requestPLDMServiceName
    functionSourceFile: /src/pldm/pldmd/pldmd.cpp
    functionUses: 0
    functionsReached:
    - error
    - request_name
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void requestPLDMServiceName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg_hdr*>
      Src: /src/pldm/pldmd/pldmd.cpp:112,1
    - Dst: data
      Src: /src/pldm/pldmd/pldmd.cpp:112,1
    - Dst: unpack_pldm_header
      Src: /src/pldm/pldmd/pldmd.cpp:113,1
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:115,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/pldmd/pldmd.cpp:122,1
    - Dst: size
      Src: /src/pldm/pldmd/pldmd.cpp:123,1
    - Dst: handle
      Src: /src/pldm/pldmd/pldmd.cpp:129,1
    - Dst: fw_update::Manager*::handleRequest
      Src: /src/pldm/pldmd/pldmd.cpp:134,1
    - Dst: Response::resize
      Src: /src/pldm/pldmd/pldmd.cpp:141,1
    - Dst: Response::data
      Src: /src/pldm/pldmd/pldmd.cpp:142,1
    - Dst: pldm_msg_hdr::pldm_msg_hdr
      Src: /src/pldm/pldmd/pldmd.cpp:142,1
    - Dst: pack_pldm_header
      Src: /src/pldm/pldmd/pldmd.cpp:148,1
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:150,1
    - Dst: Response::insert
      Src: /src/pldm/pldmd/pldmd.cpp:155,1
    - Dst: Response::end
      Src: /src/pldm/pldmd/pldmd.cpp:155,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/pldmd/pldmd.cpp:161,1
    - Dst: size
      Src: /src/pldm/pldmd/pldmd.cpp:162,1
    - Dst: handleResponse
      Src: /src/pldm/pldmd/pldmd.cpp:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - ' requestMsg'
    - ' invoker'
    - ' handler'
    - fwManager
    - tid
    argTypes:
    - std::vector<uint8_t>
    - Invoker
    - requester::Handler<requester::Request>
    - fw_update::Manager*
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 167
    functionName: processRxMsg
    functionSourceFile: /src/pldm/pldmd/pldmd.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - Response::insert
    - size
    - data
    - pldm_msg_hdr::pldm_msg_hdr
    - Response::resize
    - error
    - Response::end
    - handleResponse
    - unpack_pldm_header
    - pack_pldm_header
    - fw_update::Manager*::handleRequest
    - handle
    - reinterpret_cast<const pldm_msg*>
    - reinterpret_cast<const pldm_msg_hdr*>
    linkageType: ''
    returnType: std::optional<Response>
    signature: "std::optional<Response> processRxMsg(\n    const std::vector<uint8_t>&
      requestMsg, Invoker& invoker,\n    requester::Handler<requester::Request>& handler,\n
      \   fw_update::Manager* fwManager, pldm_tid_t tid)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App::add_flag
      Src: /src/pldm/pldmd/pldmd.cpp:173,1
    - Dst: CLI::App::parse
      Src: /src/pldm/pldmd/pldmd.cpp:176,1
    - Dst: CLI::App::exit
      Src: /src/pldm/pldmd/pldmd.cpp:180,1
    - Dst: pldm::utils::readHostEID
      Src: /src/pldm/pldmd/pldmd.cpp:184,1
    - Dst: Event::get_default
      Src: /src/pldm/pldmd/pldmd.cpp:189,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/pldmd.cpp:190,1
    - Dst: sdbusplus::server::manager_t
      Src: /src/pldm/pldmd/pldmd.cpp:193,1
    - Dst: sdbusplus::server::manager_t
      Src: /src/pldm/pldmd/pldmd.cpp:194,1
    - Dst: sdbusplus::server::manager_t
      Src: /src/pldm/pldmd/pldmd.cpp:195,1
    - Dst: sdbusplus::server::manager_t
      Src: /src/pldm/pldmd/pldmd.cpp:196,1
    - Dst: std::runtime_error
      Src: /src/pldm/pldmd/pldmd.cpp:208,1
    - Dst: std::make_unique<platform_mc::Manager>
      Src: /src/pldm/pldmd/pldmd.cpp:213,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:216,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:216,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:217,1
    - Dst: std::runtime_error
      Src: /src/pldm/pldmd/pldmd.cpp:228,1
    - Dst: std::runtime_error
      Src: /src/pldm/pldmd/pldmd.cpp:237,1
    - Dst: std::make_unique<platform_config::Handler>
      Src: /src/pldm/pldmd/pldmd.cpp:244,1
    - Dst: std::make_shared<HostPDRHandler>
      Src: /src/pldm/pldmd/pldmd.cpp:248,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:249,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:249,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:250,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:250,1
    - Dst: dbus_api::Host::setHostPdrObj
      Src: /src/pldm/pldmd/pldmd.cpp:255,1
    - Dst: std::make_unique<DbusToPLDMEvent>
      Src: /src/pldm/pldmd/pldmd.cpp:257,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:258,1
    - Dst: std::make_unique<fru::Handler>
      Src: /src/pldm/pldmd/pldmd.cpp:261,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:262,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:262,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:263,1
    - Dst: std::unique_ptr::handleCperEvent
      Src: /src/pldm/pldmd/pldmd.cpp:274,1
    - Dst: std::unique_ptr::handlePldmMessagePollEvent
      Src: /src/pldm/pldmd/pldmd.cpp:281,1
    - Dst: std::unique_ptr::handleSensorEvent
      Src: /src/pldm/pldmd/pldmd.cpp:288,1
    - Dst: std::make_unique<platform::Handler>
      Src: /src/pldm/pldmd/pldmd.cpp:292,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:293,1
    - Dst: std::shared_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:294,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:294,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:294,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:295,1
    - Dst: auto::setPlatformHandler
      Src: /src/pldm/pldmd/pldmd.cpp:298,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:298,1
    - Dst: std::make_unique<pldm::responder::bios::Handler>
      Src: /src/pldm/pldmd/pldmd.cpp:300,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:301,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:302,1
    - Dst: std::make_unique<base::Handler>
      Src: /src/pldm/pldmd/pldmd.cpp:304,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:308,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:308,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:314,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:318,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:319,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:324,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:324,1
    - Dst: std::shared_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:325,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:326,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:326,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:326,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:327,1
    - Dst: Invoker::registerHandler
      Src: /src/pldm/pldmd/pldmd.cpp:330,1
    - Dst: std::move
      Src: /src/pldm/pldmd/pldmd.cpp:330,1
    - Dst: Invoker::registerHandler
      Src: /src/pldm/pldmd/pldmd.cpp:331,1
    - Dst: std::move
      Src: /src/pldm/pldmd/pldmd.cpp:331,1
    - Dst: Invoker::registerHandler
      Src: /src/pldm/pldmd/pldmd.cpp:332,1
    - Dst: std::move
      Src: /src/pldm/pldmd/pldmd.cpp:332,1
    - Dst: Invoker::registerHandler
      Src: /src/pldm/pldmd/pldmd.cpp:333,1
    - Dst: std::move
      Src: /src/pldm/pldmd/pldmd.cpp:333,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:335,1
    - Dst: std::make_unique<fw_update::Manager>
      Src: /src/pldm/pldmd/pldmd.cpp:342,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:346,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:346,1
    - Dst: warning
      Src: /src/pldm/pldmd/pldmd.cpp:351,1
    - Dst: get_event
      Src: /src/pldm/pldmd/pldmd.cpp:352,1
    - Dst: PldmTransport::recvMsg
      Src: /src/pldm/pldmd/pldmd.cpp:368,1
    - Dst: static_cast<uint8_t*>
      Src: /src/pldm/pldmd/pldmd.cpp:375,1
    - Dst: static_cast<uint8_t*>
      Src: /src/pldm/pldmd/pldmd.cpp:376,1
    - Dst: FlightRecorder::GetInstance
      Src: /src/pldm/pldmd/pldmd.cpp:377,1
    - Dst: printBuffer
      Src: /src/pldm/pldmd/pldmd.cpp:380,1
    - Dst: processRxMsg
      Src: /src/pldm/pldmd/pldmd.cpp:383,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/pldmd/pldmd.cpp:384,1
    - Dst: auto::has_value
      Src: /src/pldm/pldmd/pldmd.cpp:385,1
    - Dst: FlightRecorder::GetInstance
      Src: /src/pldm/pldmd/pldmd.cpp:387,1
    - Dst: printBuffer
      Src: /src/pldm/pldmd/pldmd.cpp:390,1
    - Dst: PldmTransport::sendMsg
      Src: /src/pldm/pldmd/pldmd.cpp:393,1
    - Dst: data
      Src: /src/pldm/pldmd/pldmd.cpp:393,1
    - Dst: size
      Src: /src/pldm/pldmd/pldmd.cpp:394,1
    - Dst: warning
      Src: /src/pldm/pldmd/pldmd.cpp:397,1
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:412,1
    - Dst: get_event
      Src: /src/pldm/pldmd/pldmd.cpp:415,1
    - Dst: warning
      Src: /src/pldm/pldmd/pldmd.cpp:420,1
    - Dst: warning
      Src: /src/pldm/pldmd/pldmd.cpp:427,1
    - Dst: attach_event
      Src: /src/pldm/pldmd/pldmd.cpp:433,1
    - Dst: auto::get
      Src: /src/pldm/pldmd/pldmd.cpp:433,1
    - Dst: request_name
      Src: /src/pldm/pldmd/pldmd.cpp:437,1
    - Dst: error
      Src: /src/pldm/pldmd/pldmd.cpp:441,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/pldmd/pldmd.cpp:445,1
    - Dst: std::move
      Src: /src/pldm/pldmd/pldmd.cpp:445,1
    - Dst: std::shared_ptr::setHostFirmwareCondition
      Src: /src/pldm/pldmd/pldmd.cpp:449,1
    - Dst: stdplus::signal::block
      Src: /src/pldm/pldmd/pldmd.cpp:452,1
    - Dst: interruptFlightRecorderCallBack
      Src: /src/pldm/pldmd/pldmd.cpp:456,1
    - Dst: auto::loop
      Src: /src/pldm/pldmd/pldmd.cpp:458,1
    - Dst: exit
      Src: /src/pldm/pldmd/pldmd.cpp:461,1
    - Dst: exit
      Src: /src/pldm/pldmd/pldmd.cpp:464,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 465
    functionName: main
    functionSourceFile: /src/pldm/pldmd/pldmd.cpp
    functionUses: 0
    functionsReached:
    - get_event
    - warning
    - std::shared_ptr::setHostFirmwareCondition
    - sdbusplus::server::manager_t
    - std::move
    - dbus_api::Host::setHostPdrObj
    - auto::get
    - attach_event
    - auto::setPlatformHandler
    - static_cast<uint8_t*>
    - size
    - Event::get_default
    - error
    - CLI::App::parse
    - auto::has_value
    - pldm::utils::readHostEID
    - stdplus::signal::block
    - std::make_unique<fru::Handler>
    - std::unique_ptr::handlePldmMessagePollEvent
    - std::make_unique<platform_config::Handler>
    - std::shared_ptr::get
    - CLI::App::exit
    - std::make_unique<base::Handler>
    - std::unique_ptr::get
    - std::make_unique<platform_mc::Manager>
    - Invoker::registerHandler
    - request_name
    - auto::loop
    - std::unique_ptr::handleCperEvent
    - std::make_unique<pldm::responder::bios::Handler>
    - printBuffer
    - PldmTransport::getEventSource
    - interruptFlightRecorderCallBack
    - std::make_unique<fw_update::Manager>
    - FlightRecorder::GetInstance
    - data
    - std::make_unique<DbusToPLDMEvent>
    - exit
    - std::runtime_error
    - PldmTransport::sendMsg
    - std::unique_ptr::handleSensorEvent
    - std::make_shared<HostPDRHandler>
    - std::make_unique<platform::Handler>
    - processRxMsg
    - CLI::App::add_flag
    - PldmTransport::recvMsg
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    - Dst: std::move
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pldmType
    - handler
    argTypes:
    - Type
    - std::unique_ptr<CmdHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::responder::Invoker::registerHandler
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    linkageType: ''
    returnType: void
    signature: void registerHandler(Type pldmType, std::unique_ptr<CmdHandler> handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: end
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/pldmd/invoker.hpp:45,1
    - Dst: at
      Src: /src/pldm/pldmd/invoker.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tid
    - pldmType
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Type
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pldm::responder::Invoker::handle
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    - pldm::responder::CmdHandler::ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Type pldmType, Command pldmCommand,\n
      \                   const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    - Dst: std::move
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pldmType
    - handler
    argTypes:
    - Type
    - std::unique_ptr<CmdHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::responder::Invoker::registerHandler
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    linkageType: ''
    returnType: void
    signature: void registerHandler(Type pldmType, std::unique_ptr<CmdHandler> handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: end
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/pldmd/invoker.hpp:45,1
    - Dst: at
      Src: /src/pldm/pldmd/invoker.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tid
    - pldmType
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Type
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pldm::responder::Invoker::handle
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    - pldm::responder::CmdHandler::ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Type pldmType, Command pldmCommand,\n
      \                   const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    - Dst: std::move
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pldmType
    - handler
    argTypes:
    - Type
    - std::unique_ptr<CmdHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::responder::Invoker::registerHandler
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    linkageType: ''
    returnType: void
    signature: void registerHandler(Type pldmType, std::unique_ptr<CmdHandler> handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: end
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/pldmd/invoker.hpp:45,1
    - Dst: at
      Src: /src/pldm/pldmd/invoker.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tid
    - pldmType
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Type
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pldm::responder::Invoker::handle
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    - pldm::responder::CmdHandler::ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Type pldmType, Command pldmCommand,\n
      \                   const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    - Dst: std::move
      Src: /src/pldm/pldmd/invoker.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pldmType
    - handler
    argTypes:
    - Type
    - std::unique_ptr<CmdHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::responder::Invoker::registerHandler
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - emplace
    linkageType: ''
    returnType: void
    signature: void registerHandler(Type pldmType, std::unique_ptr<CmdHandler> handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: end
      Src: /src/pldm/pldmd/invoker.hpp:43,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/pldmd/invoker.hpp:45,1
    - Dst: at
      Src: /src/pldm/pldmd/invoker.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tid
    - pldmType
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Type
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pldm::responder::Invoker::handle
    functionSourceFile: /src/pldm/pldmd/invoker.hpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    - pldm::responder::CmdHandler::ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Type pldmType, Command pldmCommand,\n
      \                   const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~CmdHandler()
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/pldmd/handler.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: pldm::responder::CmdHandler::handle
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Command pldmCommand,\n                    const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/pldmd/handler.hpp:53,1
    - Dst: assert
      Src: /src/pldm/pldmd/handler.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - pldm_msg*
    - uint8_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/pldm/pldmd/handler.hpp
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::CmdHandler::ccOnlyResponse
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 36
    functionsReached:
    - Response::data
    - encode_cc_only_resp
    - pldm_msg::pldm_msg
    - assert
    linkageType: ''
    returnType: Response
    signature: Response ccOnlyResponse(const pldm_msg* request, uint8_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~CmdHandler()
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/pldmd/handler.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: pldm::responder::CmdHandler::handle
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Command pldmCommand,\n                    const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/pldmd/handler.hpp:53,1
    - Dst: assert
      Src: /src/pldm/pldmd/handler.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - pldm_msg*
    - uint8_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/pldm/pldmd/handler.hpp
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::CmdHandler::ccOnlyResponse
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 36
    functionsReached:
    - Response::data
    - encode_cc_only_resp
    - pldm_msg::pldm_msg
    - assert
    linkageType: ''
    returnType: Response
    signature: Response ccOnlyResponse(const pldm_msg* request, uint8_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~CmdHandler()
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/pldmd/handler.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: pldm::responder::CmdHandler::handle
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Command pldmCommand,\n                    const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/pldmd/handler.hpp:53,1
    - Dst: assert
      Src: /src/pldm/pldmd/handler.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - pldm_msg*
    - uint8_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/pldm/pldmd/handler.hpp
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::CmdHandler::ccOnlyResponse
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 36
    functionsReached:
    - Response::data
    - encode_cc_only_resp
    - pldm_msg::pldm_msg
    - assert
    linkageType: ''
    returnType: Response
    signature: Response ccOnlyResponse(const pldm_msg* request, uint8_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~CmdHandler()
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CmdHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/pldmd/handler.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - pldmCommand
    - request
    - reqMsgLen
    argTypes:
    - pldm_tid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: pldm::responder::CmdHandler::handle
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Response
    signature: "Response handle(pldm_tid_t tid, Command pldmCommand,\n                    const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmd/handler.hpp:51,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/pldmd/handler.hpp:53,1
    - Dst: assert
      Src: /src/pldm/pldmd/handler.hpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - request
    - cc
    argTypes:
    - pldm_msg*
    - uint8_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/pldm/pldmd/handler.hpp
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: pldm::responder::CmdHandler::ccOnlyResponse
    functionSourceFile: /src/pldm/pldmd/handler.hpp
    functionUses: 36
    functionsReached:
    - Response::data
    - encode_cc_only_resp
    - pldm_msg::pldm_msg
    - assert
    linkageType: ''
    returnType: Response
    signature: Response ccOnlyResponse(const pldm_msg* request, uint8_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Pdr&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(Pdr&&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Pdr() override
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Pdr() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/pldmd/dbus_impl_pdr.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - repo
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Pdr(sdbusplus::bus_t& bus, const std::string& path, const pldm_pdr*
      repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Pdr&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(Pdr&&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Pdr() override
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Pdr() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/pldmd/dbus_impl_pdr.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - repo
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Pdr(sdbusplus::bus_t& bus, const std::string& path, const pldm_pdr*
      repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Pdr&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(Pdr&&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Pdr() override
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Pdr() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/pldmd/dbus_impl_pdr.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - repo
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Pdr(sdbusplus::bus_t& bus, const std::string& path, const pldm_pdr*
      repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const Pdr&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(const Pdr&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Pdr(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(Pdr&&)'
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Pdr
    signature: Pdr & operator=(Pdr&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~Pdr() override
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Pdr() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/pldmd/dbus_impl_pdr.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - repo
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: pldm::dbus_api::Pdr::Pdr
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Pdr(sdbusplus::bus_t& bus, const std::string& path, const pldm_pdr*
      repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:20,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:22,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Pdr::findStateEffecterPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateEffecterPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateEffecterPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:34,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:35,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: pldm::dbus_api::Pdr::findStateSensorPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateSensorPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateSensorPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:20,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:22,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Pdr::findStateEffecterPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateEffecterPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateEffecterPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:34,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:35,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: pldm::dbus_api::Pdr::findStateSensorPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateSensorPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateSensorPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:20,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:22,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Pdr::findStateEffecterPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateEffecterPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateEffecterPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:34,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:35,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: pldm::dbus_api::Pdr::findStateSensorPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateSensorPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateSensorPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateEffecterPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:20,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:22,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Pdr::findStateEffecterPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateEffecterPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateEffecterPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:34,1
    - Dst: auto::empty
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:35,1
    - Dst: ResourceNotFound
      Src: /src/pldm/pldmd/dbus_impl_pdr.cpp:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tid
    - entityID
    - stateSetId
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: pldm::dbus_api::Pdr::findStateSensorPDR
    functionSourceFile: /src/pldm/pldmd/dbus_impl_pdr.cpp
    functionUses: 0
    functionsReached:
    - ResourceNotFound
    - pldm::utils::findStateSensorPDR
    - auto::empty
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> Pdr::findStateSensorPDR(\n    uint8_t
      tid, uint16_t entityID, uint16_t stateSetId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const OemIBM&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(const OemIBM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM(OemIBM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(OemIBM&&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(OemIBM&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::createOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:68,1
    - Dst: responder::fru::Handler*::setOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:71,1
    - Dst: setIBMFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:72,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:74,1
    - Dst: responder::bios::Handler*::setOemBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: pldm::oem_ibm::OemIBM::createCodeUpdate
      Src: /src/pldm/pldmd/oem_ibm.hpp:77,1
    - Dst: pldm::oem_ibm::OemIBM::createSlotHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:78,1
    - Dst: pldm::oem_ibm::OemIBM::createOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:79,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:80,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: HostPDRHandler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: HostPDRHandler*::setOemUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: responder::fru::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: responder::platform::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: responder::base::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:92,1
    - Dst: setPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:93,1
    - Dst: pldm::oem_ibm::OemIBM::createHostLampTestHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:95,1
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 13
    argNames:
    - dBusIntf
    - mctp_fd
    - mctp_eid
    - repo
    - ' instanceIdDb'
    - ' event'
    - ' invoker'
    - hostPDRHandler
    - platformHandler
    - fruHandler
    - baseHandler
    - biosHandler
    - reqHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - int
    - uint8_t
    - pldm_pdr*
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::Invoker
    - HostPDRHandler*
    - responder::platform::Handler*
    - responder::fru::Handler*
    - responder::base::Handler*
    - responder::bios::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 98
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - responder::bios::Handler*::setOemBiosHandler
    - pldm::oem_ibm::OemIBM::createSlotHandler
    - pldm::oem_ibm::OemIBM::createOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemFruHandler
    - setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createCodeUpdate
    - setPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    - responder::platform::Handler*::setOemPlatformHandler
    - responder::fru::Handler*::setOemPlatformHandler
    - setIBMFruHandler
    - HostPDRHandler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createHostLampTestHandler
    - get
    - pldm::oem_ibm::OemIBM::registerHandler
    - HostPDRHandler*::setOemUtilsHandler
    - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    - responder::fru::Handler*::setOemFruHandler
    - responder::base::Handler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    linkageType: ''
    returnType: void
    signature: "void OemIBM(\n        const pldm::utils::DBusHandler* dBusIntf, int
      mctp_fd, uint8_t mctp_eid,\n        pldm_pdr* repo, pldm::InstanceIdDb& instanceIdDb,\n
      \       sdeventplus::Event& event, responder::Invoker& invoker,\n        HostPDRHandler*
      hostPDRHandler,\n        responder::platform::Handler* platformHandler,\n        responder::fru::Handler*
      fruHandler,\n        responder::base::Handler* baseHandler,\n        responder::bios::Handler*
      biosHandler,\n        pldm::requester::Handler<pldm::requester::Request>* reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::CodeUpdate>
      Src: /src/pldm/pldmd/oem_ibm.hpp:104,1
    - Dst: clearDirPath
      Src: /src/pldm/pldmd/oem_ibm.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: pldm::oem_ibm::OemIBM::createCodeUpdate
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - clearDirPath
    - std::make_unique<pldm::responder::CodeUpdate>
    linkageType: ''
    returnType: void
    signature: void createCodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::SlotHandler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: pldm::oem_ibm::OemIBM::createSlotHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<pldm::responder::SlotHandler>
    linkageType: ''
    returnType: void
    signature: void createSlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::oem_ibm_platform::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:123,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: pldm::oem_ibm::OemIBM::createOemPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<pldm::responder::oem_ibm_platform::Handler>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_bios::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<responder::oem_ibm_bios::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmBiosHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:139,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_fru::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::oem_ibm::OemIBM::createOemFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<responder::oem_ibm_fru::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_utils::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<responder::oem_ibm_utils::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmUtilsHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:159,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/oem_ibm.hpp:165,1
    - Dst: std::make_unique<pldm::led::HostLampTest>
      Src: /src/pldm/pldmd/oem_ibm.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: pldm::oem_ibm::OemIBM::createHostLampTestHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 1
    functionsReached:
    - std::make_unique<pldm::led::HostLampTest>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void createHostLampTestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:174,1
    - Dst: std::make_unique<pldm::responder::oem_ibm::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:175,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: pldm::oem_ibm::OemIBM::registerHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - get
    - std::make_unique<pldm::responder::oem_ibm::Handler>
    - pldm::oem_ibm::OemIBM::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const OemIBM&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(const OemIBM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM(OemIBM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(OemIBM&&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(OemIBM&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::createOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:68,1
    - Dst: responder::fru::Handler*::setOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:71,1
    - Dst: setIBMFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:72,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:74,1
    - Dst: responder::bios::Handler*::setOemBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: pldm::oem_ibm::OemIBM::createCodeUpdate
      Src: /src/pldm/pldmd/oem_ibm.hpp:77,1
    - Dst: pldm::oem_ibm::OemIBM::createSlotHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:78,1
    - Dst: pldm::oem_ibm::OemIBM::createOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:79,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:80,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: HostPDRHandler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: HostPDRHandler*::setOemUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: responder::fru::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: responder::platform::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: responder::base::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:92,1
    - Dst: setPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:93,1
    - Dst: pldm::oem_ibm::OemIBM::createHostLampTestHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:95,1
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 13
    argNames:
    - dBusIntf
    - mctp_fd
    - mctp_eid
    - repo
    - ' instanceIdDb'
    - ' event'
    - ' invoker'
    - hostPDRHandler
    - platformHandler
    - fruHandler
    - baseHandler
    - biosHandler
    - reqHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - int
    - uint8_t
    - pldm_pdr*
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::Invoker
    - HostPDRHandler*
    - responder::platform::Handler*
    - responder::fru::Handler*
    - responder::base::Handler*
    - responder::bios::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 98
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - responder::bios::Handler*::setOemBiosHandler
    - pldm::oem_ibm::OemIBM::createSlotHandler
    - pldm::oem_ibm::OemIBM::createOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemFruHandler
    - setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createCodeUpdate
    - setPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    - responder::platform::Handler*::setOemPlatformHandler
    - responder::fru::Handler*::setOemPlatformHandler
    - setIBMFruHandler
    - HostPDRHandler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createHostLampTestHandler
    - get
    - pldm::oem_ibm::OemIBM::registerHandler
    - HostPDRHandler*::setOemUtilsHandler
    - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    - responder::fru::Handler*::setOemFruHandler
    - responder::base::Handler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    linkageType: ''
    returnType: void
    signature: "void OemIBM(\n        const pldm::utils::DBusHandler* dBusIntf, int
      mctp_fd, uint8_t mctp_eid,\n        pldm_pdr* repo, pldm::InstanceIdDb& instanceIdDb,\n
      \       sdeventplus::Event& event, responder::Invoker& invoker,\n        HostPDRHandler*
      hostPDRHandler,\n        responder::platform::Handler* platformHandler,\n        responder::fru::Handler*
      fruHandler,\n        responder::base::Handler* baseHandler,\n        responder::bios::Handler*
      biosHandler,\n        pldm::requester::Handler<pldm::requester::Request>* reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::CodeUpdate>
      Src: /src/pldm/pldmd/oem_ibm.hpp:104,1
    - Dst: clearDirPath
      Src: /src/pldm/pldmd/oem_ibm.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: pldm::oem_ibm::OemIBM::createCodeUpdate
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - clearDirPath
    - std::make_unique<pldm::responder::CodeUpdate>
    linkageType: ''
    returnType: void
    signature: void createCodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::SlotHandler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: pldm::oem_ibm::OemIBM::createSlotHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<pldm::responder::SlotHandler>
    linkageType: ''
    returnType: void
    signature: void createSlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::oem_ibm_platform::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:123,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: pldm::oem_ibm::OemIBM::createOemPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<pldm::responder::oem_ibm_platform::Handler>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_bios::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<responder::oem_ibm_bios::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmBiosHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:139,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_fru::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::oem_ibm::OemIBM::createOemFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<responder::oem_ibm_fru::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_utils::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<responder::oem_ibm_utils::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmUtilsHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:159,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/oem_ibm.hpp:165,1
    - Dst: std::make_unique<pldm::led::HostLampTest>
      Src: /src/pldm/pldmd/oem_ibm.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: pldm::oem_ibm::OemIBM::createHostLampTestHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 2
    functionsReached:
    - std::make_unique<pldm::led::HostLampTest>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void createHostLampTestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:174,1
    - Dst: std::make_unique<pldm::responder::oem_ibm::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:175,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: pldm::oem_ibm::OemIBM::registerHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - get
    - std::make_unique<pldm::responder::oem_ibm::Handler>
    - pldm::oem_ibm::OemIBM::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const OemIBM&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(const OemIBM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM(OemIBM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(OemIBM&&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(OemIBM&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::createOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:68,1
    - Dst: responder::fru::Handler*::setOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:71,1
    - Dst: setIBMFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:72,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:74,1
    - Dst: responder::bios::Handler*::setOemBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: pldm::oem_ibm::OemIBM::createCodeUpdate
      Src: /src/pldm/pldmd/oem_ibm.hpp:77,1
    - Dst: pldm::oem_ibm::OemIBM::createSlotHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:78,1
    - Dst: pldm::oem_ibm::OemIBM::createOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:79,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:80,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: HostPDRHandler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: HostPDRHandler*::setOemUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: responder::fru::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: responder::platform::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: responder::base::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:92,1
    - Dst: setPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:93,1
    - Dst: pldm::oem_ibm::OemIBM::createHostLampTestHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:95,1
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 13
    argNames:
    - dBusIntf
    - mctp_fd
    - mctp_eid
    - repo
    - ' instanceIdDb'
    - ' event'
    - ' invoker'
    - hostPDRHandler
    - platformHandler
    - fruHandler
    - baseHandler
    - biosHandler
    - reqHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - int
    - uint8_t
    - pldm_pdr*
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::Invoker
    - HostPDRHandler*
    - responder::platform::Handler*
    - responder::fru::Handler*
    - responder::base::Handler*
    - responder::bios::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 98
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - responder::bios::Handler*::setOemBiosHandler
    - pldm::oem_ibm::OemIBM::createSlotHandler
    - pldm::oem_ibm::OemIBM::createOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemFruHandler
    - setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createCodeUpdate
    - setPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    - responder::platform::Handler*::setOemPlatformHandler
    - responder::fru::Handler*::setOemPlatformHandler
    - setIBMFruHandler
    - HostPDRHandler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createHostLampTestHandler
    - get
    - pldm::oem_ibm::OemIBM::registerHandler
    - HostPDRHandler*::setOemUtilsHandler
    - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    - responder::fru::Handler*::setOemFruHandler
    - responder::base::Handler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    linkageType: ''
    returnType: void
    signature: "void OemIBM(\n        const pldm::utils::DBusHandler* dBusIntf, int
      mctp_fd, uint8_t mctp_eid,\n        pldm_pdr* repo, pldm::InstanceIdDb& instanceIdDb,\n
      \       sdeventplus::Event& event, responder::Invoker& invoker,\n        HostPDRHandler*
      hostPDRHandler,\n        responder::platform::Handler* platformHandler,\n        responder::fru::Handler*
      fruHandler,\n        responder::base::Handler* baseHandler,\n        responder::bios::Handler*
      biosHandler,\n        pldm::requester::Handler<pldm::requester::Request>* reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::CodeUpdate>
      Src: /src/pldm/pldmd/oem_ibm.hpp:104,1
    - Dst: clearDirPath
      Src: /src/pldm/pldmd/oem_ibm.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: pldm::oem_ibm::OemIBM::createCodeUpdate
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - clearDirPath
    - std::make_unique<pldm::responder::CodeUpdate>
    linkageType: ''
    returnType: void
    signature: void createCodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::SlotHandler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: pldm::oem_ibm::OemIBM::createSlotHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<pldm::responder::SlotHandler>
    linkageType: ''
    returnType: void
    signature: void createSlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::oem_ibm_platform::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:123,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: pldm::oem_ibm::OemIBM::createOemPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<pldm::responder::oem_ibm_platform::Handler>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_bios::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<responder::oem_ibm_bios::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmBiosHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:139,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_fru::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::oem_ibm::OemIBM::createOemFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<responder::oem_ibm_fru::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_utils::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<responder::oem_ibm_utils::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmUtilsHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:159,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/oem_ibm.hpp:165,1
    - Dst: std::make_unique<pldm::led::HostLampTest>
      Src: /src/pldm/pldmd/oem_ibm.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: pldm::oem_ibm::OemIBM::createHostLampTestHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 3
    functionsReached:
    - std::make_unique<pldm::led::HostLampTest>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void createHostLampTestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:174,1
    - Dst: std::make_unique<pldm::responder::oem_ibm::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:175,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: pldm::oem_ibm::OemIBM::registerHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 6
    functionsReached:
    - get
    - std::make_unique<pldm::responder::oem_ibm::Handler>
    - pldm::oem_ibm::OemIBM::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const OemIBM&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(const OemIBM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OemIBM(OemIBM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(OemIBM&&)'
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OemIBM
    signature: OemIBM & operator=(OemIBM&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::createOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:68,1
    - Dst: responder::fru::Handler*::setOemFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:69,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:71,1
    - Dst: setIBMFruHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:72,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:74,1
    - Dst: responder::bios::Handler*::setOemBiosHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:75,1
    - Dst: pldm::oem_ibm::OemIBM::createCodeUpdate
      Src: /src/pldm/pldmd/oem_ibm.hpp:77,1
    - Dst: pldm::oem_ibm::OemIBM::createSlotHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:78,1
    - Dst: pldm::oem_ibm::OemIBM::createOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:79,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:80,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:81,1
    - Dst: HostPDRHandler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:84,1
    - Dst: HostPDRHandler*::setOemUtilsHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:85,1
    - Dst: responder::fru::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:87,1
    - Dst: responder::platform::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:88,1
    - Dst: responder::base::Handler*::setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:89,1
    - Dst: setOemPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:90,1
    - Dst: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:92,1
    - Dst: setPlatformHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:93,1
    - Dst: pldm::oem_ibm::OemIBM::createHostLampTestHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:95,1
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 13
    argNames:
    - dBusIntf
    - mctp_fd
    - mctp_eid
    - repo
    - ' instanceIdDb'
    - ' event'
    - ' invoker'
    - hostPDRHandler
    - platformHandler
    - fruHandler
    - baseHandler
    - biosHandler
    - reqHandler
    argTypes:
    - pldm::utils::DBusHandler*
    - int
    - uint8_t
    - pldm_pdr*
    - pldm::InstanceIdDb
    - sdeventplus::Event
    - responder::Invoker
    - HostPDRHandler*
    - responder::platform::Handler*
    - responder::fru::Handler*
    - responder::base::Handler*
    - responder::bios::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 98
    functionName: pldm::oem_ibm::OemIBM::OemIBM
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 0
    functionsReached:
    - responder::bios::Handler*::setOemBiosHandler
    - pldm::oem_ibm::OemIBM::createSlotHandler
    - pldm::oem_ibm::OemIBM::createOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemFruHandler
    - setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createCodeUpdate
    - setPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    - responder::platform::Handler*::setOemPlatformHandler
    - responder::fru::Handler*::setOemPlatformHandler
    - setIBMFruHandler
    - HostPDRHandler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createHostLampTestHandler
    - get
    - pldm::oem_ibm::OemIBM::registerHandler
    - HostPDRHandler*::setOemUtilsHandler
    - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    - responder::fru::Handler*::setOemFruHandler
    - responder::base::Handler*::setOemPlatformHandler
    - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    linkageType: ''
    returnType: void
    signature: "void OemIBM(\n        const pldm::utils::DBusHandler* dBusIntf, int
      mctp_fd, uint8_t mctp_eid,\n        pldm_pdr* repo, pldm::InstanceIdDb& instanceIdDb,\n
      \       sdeventplus::Event& event, responder::Invoker& invoker,\n        HostPDRHandler*
      hostPDRHandler,\n        responder::platform::Handler* platformHandler,\n        responder::fru::Handler*
      fruHandler,\n        responder::base::Handler* baseHandler,\n        responder::bios::Handler*
      biosHandler,\n        pldm::requester::Handler<pldm::requester::Request>* reqHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::CodeUpdate>
      Src: /src/pldm/pldmd/oem_ibm.hpp:104,1
    - Dst: clearDirPath
      Src: /src/pldm/pldmd/oem_ibm.hpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: pldm::oem_ibm::OemIBM::createCodeUpdate
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - clearDirPath
    - std::make_unique<pldm::responder::CodeUpdate>
    linkageType: ''
    returnType: void
    signature: void createCodeUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::SlotHandler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: pldm::oem_ibm::OemIBM::createSlotHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<pldm::responder::SlotHandler>
    linkageType: ''
    returnType: void
    signature: void createSlotHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<pldm::responder::oem_ibm_platform::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:123,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: pldm::oem_ibm::OemIBM::createOemPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<pldm::responder::oem_ibm_platform::Handler>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_bios::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<responder::oem_ibm_bios::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmBiosHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:139,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_platform::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmPlatformHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_fru::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pldm::oem_ibm::OemIBM::createOemFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<responder::oem_ibm_fru::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<responder::oem_ibm_utils::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<responder::oem_ibm_utils::Handler>
    linkageType: ''
    returnType: void
    signature: void createOemIbmUtilsHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
      Src: /src/pldm/pldmd/oem_ibm.hpp:159,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pldm::oem_ibm::OemIBM::createOemIbmFruHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - dynamic_cast<pldm::responder::oem_ibm_fru::Handler*>
    - get
    linkageType: ''
    returnType: void
    signature: void createOemIbmFruHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/pldmd/oem_ibm.hpp:165,1
    - Dst: std::make_unique<pldm::led::HostLampTest>
      Src: /src/pldm/pldmd/oem_ibm.hpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: pldm::oem_ibm::OemIBM::createHostLampTestHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 4
    functionsReached:
    - std::make_unique<pldm::led::HostLampTest>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void createHostLampTestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::oem_ibm::OemIBM::registerHandler
      Src: /src/pldm/pldmd/oem_ibm.hpp:174,1
    - Dst: std::make_unique<pldm::responder::oem_ibm::Handler>
      Src: /src/pldm/pldmd/oem_ibm.hpp:175,1
    - Dst: get
      Src: /src/pldm/pldmd/oem_ibm.hpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: pldm::oem_ibm::OemIBM::registerHandler
    functionSourceFile: /src/pldm/pldmd/oem_ibm.hpp
    functionUses: 8
    functionsReached:
    - get
    - std::make_unique<pldm::responder::oem_ibm::Handler>
    - pldm::oem_ibm::OemIBM::registerHandler
    linkageType: ''
    returnType: void
    signature: void registerHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInstanceIdDb::createDb
      Src: /src/pldm/test/test_instance_id.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: TestInstanceIdDb::TestInstanceIdDb
    functionSourceFile: /src/pldm/test/test_instance_id.hpp
    functionUses: 5
    functionsReached:
    - TestInstanceIdDb::createDb
    linkageType: ''
    returnType: void
    signature: void TestInstanceIdDb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::remove
      Src: /src/pldm/test/test_instance_id.hpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ~TestInstanceIdDb()
    functionSourceFile: /src/pldm/test/test_instance_id.hpp
    functionUses: 0
    functionsReached:
    - std::filesystem::remove
    linkageType: ''
    returnType: void
    signature: void ~TestInstanceIdDb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::strncpy
      Src: /src/pldm/test/test_instance_id.hpp:28,1
    - Dst: ::close
      Src: /src/pldm/test/test_instance_id.hpp:29,1
    - Dst: ::mkstemp
      Src: /src/pldm/test/test_instance_id.hpp:29,1
    - Dst: std::filesystem::resize_file
      Src: /src/pldm/test/test_instance_id.hpp:32,1
    - Dst: static_cast<uintmax_t>
      Src: /src/pldm/test/test_instance_id.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: TestInstanceIdDb::createDb
    functionSourceFile: /src/pldm/test/test_instance_id.hpp
    functionUses: 1
    functionsReached:
    - ::strncpy
    - std::filesystem::resize_file
    - ::close
    - static_cast<uintmax_t>
    - ::mkstemp
    linkageType: ''
    returnType: std::filesystem::path
    signature: std::filesystem::path createDb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: TestInstanceIdDb::TestInstanceIdDb
    functionSourceFile: /src/pldm/test/test_instance_id.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestInstanceIdDb(std::filesystem::path dbPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/test/pldmd_registration_test.cpp:20,1
    - Dst: TestHandler::handle
      Src: /src/pldm/test/pldmd_registration_test.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: TestHandler::TestHandler
    functionSourceFile: /src/pldm/test/pldmd_registration_test.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - TestHandler::handle
    linkageType: ''
    returnType: void
    signature: void TestHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: TestHandler::handle
    functionSourceFile: /src/pldm/test/pldmd_registration_test.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Response
    signature: "Response handle(uint8_t /*tid*/, const pldm_msg* /*request*/,\n                    size_t
      /*payloadLength*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/test/pldmd_registration_test.cpp:36,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/test/pldmd_registration_test.cpp:36,1
    - Dst: encode_get_types_req
      Src: /src/pldm/test/pldmd_registration_test.cpp:37,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/test/pldmd_registration_test.cpp:39,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/test/pldmd_registration_test.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: TEST
    functionSourceFile: /src/pldm/test/pldmd_registration_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - std::vector::data
    - EXPECT_EQ
    - encode_get_types_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(CcOnlyResponse, testEncode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Invoker::registerHandler
      Src: /src/pldm/test/pldmd_registration_test.cpp:47,1
    - Dst: std::make_unique<TestHandler>
      Src: /src/pldm/test/pldmd_registration_test.cpp:47,1
    - Dst: Invoker::handle
      Src: /src/pldm/test/pldmd_registration_test.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/test/pldmd_registration_test.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/test/pldmd_registration_test.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: TEST
    functionSourceFile: /src/pldm/test/pldmd_registration_test.cpp
    functionUses: 0
    functionsReached:
    - Invoker::handle
    - ASSERT_EQ
    - std::make_unique<TestHandler>
    - Invoker::registerHandler
    linkageType: ''
    returnType: void
    signature: void TEST(Registration, testSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/test/pldmd_registration_test.cpp:61,1
    - Dst: std::array::data
      Src: /src/pldm/test/pldmd_registration_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/test/pldmd_registration_test.cpp:63,1
    - Dst: Invoker::handle
      Src: /src/pldm/test/pldmd_registration_test.cpp:63,1
    - Dst: Invoker::registerHandler
      Src: /src/pldm/test/pldmd_registration_test.cpp:66,1
    - Dst: std::make_unique<TestHandler>
      Src: /src/pldm/test/pldmd_registration_test.cpp:66,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/test/pldmd_registration_test.cpp:68,1
    - Dst: Invoker::handle
      Src: /src/pldm/test/pldmd_registration_test.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: TEST
    functionSourceFile: /src/pldm/test/pldmd_registration_test.cpp
    functionUses: 0
    functionsReached:
    - Invoker::handle
    - std::array::data
    - Invoker::registerHandler
    - EXPECT_EQ
    - ASSERT_THROW
    - reinterpret_cast<const pldm_msg*>
    - std::make_unique<TestHandler>
    linkageType: ''
    returnType: void
    signature: void TEST(Registration, testFailure)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:23,1
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:25,1
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:27,1
    - Dst: CLI11_PARSE
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:28,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:30,1
    - Dst: std::array::data
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:38,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:38,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:40,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:44,1
    - Dst: Event::get_default
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:53,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:61,1
    - Dst: PldmTransport::recvMsg
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:69,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:72,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:77,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:79,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:81,1
    - Dst: set_enabled
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:89,1
    - Dst: info
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:90,1
    - Dst: exit
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:93,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:95,1
    - Dst: std::move
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:95,1
    - Dst: PldmTransport::sendMsg
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:97,1
    - Dst: std::array::data
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:97,1
    - Dst: std::array::size
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:97,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:100,1
    - Dst: auto::loop
      Src: /src/pldm/utilities/requester/set_state_effecter_async.cpp:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/pldm/utilities/requester/set_state_effecter_async.cpp
    functionUses: 0
    functionsReached:
    - CLI::App::add_option
    - Event::get_default
    - CLI11_PARSE
    - std::array::data
    - static_cast<pldm_tid_t>
    - encode_set_state_effecter_states_req
    - error
    - set_enabled
    - exit
    - PldmTransport::sendMsg
    - auto::loop
    - std::move
    - pldm_msg::pldm_msg
    - info
    - PldmTransport::getEventSource
    - pldm_msg_hdr_correlate_response
    - std::array::size
    - PldmTransport::recvMsg
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:16,1
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:18,1
    - Dst: CLI::App::add_option
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:20,1
    - Dst: CLI11_PARSE
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:21,1
    - Dst: std::array::data
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:29,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:29,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:31,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:35,1
    - Dst: PldmTransport::sendRecvMsg
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:46,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:46,1
    - Dst: std::array::data
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:47,1
    - Dst: std::array::size
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:47,1
    - Dst: error
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:56,1
    - Dst: info
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:57,1
    - Dst: free
      Src: /src/pldm/utilities/requester/set_state_effecter.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/pldm/utilities/requester/set_state_effecter.cpp
    functionUses: 0
    functionsReached:
    - CLI::App::add_option
    - PldmTransport::sendRecvMsg
    - CLI11_PARSE
    - std::array::data
    - encode_set_state_effecter_states_req
    - error
    - static_cast<pldm_tid_t>
    - free
    - pldm_msg::pldm_msg
    - info
    - std::array::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pldm::SoftPowerOff::isError
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/pldm/softoff/softoff.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: pldm::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: bool
    signature: bool isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pldm::SoftPowerOff::isCompleted
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCompleted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pldm::SoftPowerOff::isReceiveResponse
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReceiveResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/pldm/softoff/softoff.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::SoftPowerOff::stopTimer
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: auto
    signature: auto stopTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pldm::SoftPowerOff::isError
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isExpired
      Src: /src/pldm/softoff/softoff.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: pldm::SoftPowerOff::isTimerExpired
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - isExpired
    linkageType: ''
    returnType: bool
    signature: bool isTimerExpired()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pldm::SoftPowerOff::isCompleted
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCompleted() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pldm::SoftPowerOff::isReceiveResponse
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isReceiveResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/pldm/softoff/softoff.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::SoftPowerOff::stopTimer
    functionSourceFile: /src/pldm/softoff/softoff.hpp
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: auto
    signature: auto stopTimer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/softoff/main.cpp:12,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/softoff/main.cpp:15,1
    - Dst: pldm::InstanceIdDb::InstanceIdDb
      Src: /src/pldm/softoff/main.cpp:18,1
    - Dst: attach_event
      Src: /src/pldm/softoff/main.cpp:21,1
    - Dst: auto::get
      Src: /src/pldm/softoff/main.cpp:21,1
    - Dst: auto::get
      Src: /src/pldm/softoff/main.cpp:23,1
    - Dst: pldm::SoftPowerOff::isError
      Src: /src/pldm/softoff/main.cpp:25,1
    - Dst: error
      Src: /src/pldm/softoff/main.cpp:27,1
    - Dst: pldm::SoftPowerOff::isCompleted
      Src: /src/pldm/softoff/main.cpp:32,1
    - Dst: error
      Src: /src/pldm/softoff/main.cpp:34,1
    - Dst: pldm::SoftPowerOff::hostSoftOff
      Src: /src/pldm/softoff/main.cpp:41,1
    - Dst: error
      Src: /src/pldm/softoff/main.cpp:43,1
    - Dst: pldm::SoftPowerOff::isTimerExpired
      Src: /src/pldm/softoff/main.cpp:48,1
    - Dst: pldm::SoftPowerOff::isReceiveResponse
      Src: /src/pldm/softoff/main.cpp:48,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/softoff/main.cpp:50,1
    - Dst: error
      Src: /src/pldm/softoff/main.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/pldm/softoff/main.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - pldm::SoftPowerOff::isCompleted
    - pldm::utils::reportError
    - error
    - pldm::SoftPowerOff::isError
    - pldm::SoftPowerOff::isTimerExpired
    - pldm::SoftPowerOff::hostSoftOff
    - pldm::InstanceIdDb::InstanceIdDb
    - auto::get
    - attach_event
    - pldm::SoftPowerOff::isReceiveResponse
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::SoftPowerOff::parseConfig
      Src: /src/pldm/softoff/softoff.cpp:49,1
    - Dst: auto::is_discarded
      Src: /src/pldm/softoff/softoff.cpp:51,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:53,1
    - Dst: pldm::SoftPowerOff::getHostState
      Src: /src/pldm/softoff/softoff.cpp:57,1
    - Dst: auto::value
      Src: /src/pldm/softoff/softoff.cpp:63,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:66,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:67,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:68,1
    - Dst: pldm::SoftPowerOff::getEffecterID
      Src: /src/pldm/softoff/softoff.cpp:70,1
    - Dst: pldm::SoftPowerOff::getSensorInfo
      Src: /src/pldm/softoff/softoff.cpp:73,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:76,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:78,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/softoff/softoff.cpp:92,1
    - Dst: sdbusRule::type::signal
      Src: /src/pldm/softoff/softoff.cpp:94,1
    - Dst: sdbusRule::member
      Src: /src/pldm/softoff/softoff.cpp:94,1
    - Dst: sdbusRule::path
      Src: /src/pldm/softoff/softoff.cpp:95,1
    - Dst: sdbusRule::interface
      Src: /src/pldm/softoff/softoff.cpp:96,1
    - Dst: std::bind
      Src: /src/pldm/softoff/softoff.cpp:97,1
    - Dst: std::mem_fn
      Src: /src/pldm/softoff/softoff.cpp:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ' bus'
    - event
    - ' instanceIdDb'
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 99
    functionName: pldm::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - pldm::SoftPowerOff::parseConfig
    - std::make_unique<sdbusplus::match>
    - static_cast<unsigned>
    - std::bind
    - std::mem_fn
    - pldm::SoftPowerOff::getSensorInfo
    - error
    - auto::value
    - sdbusRule::member
    - value
    - sdbusRule::interface
    - sdbusRule::path
    - pldm::SoftPowerOff::getHostState
    - auto::is_discarded
    - sdbusRule::type::signal
    - pldm::SoftPowerOff::getEffecterID
    linkageType: ''
    returnType: void
    signature: "void SoftPowerOff::SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event,\n
      \                          pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/softoff/softoff.cpp:106,1
    - Dst: std::get<std::string>
      Src: /src/pldm/softoff/softoff.cpp:111,1
    - Dst: std::get<std::string>
      Src: /src/pldm/softoff/softoff.cpp:113,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 131
    functionName: pldm::SoftPowerOff::getHostState
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::getHostState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/softoff/softoff.cpp:142,1
    - Dst: stop
      Src: /src/pldm/softoff/softoff.cpp:149,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: pldm::SoftPowerOff::hostSoftOffComplete
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - read
    - stop
    - error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostSoftOffComplete(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/softoff/softoff.cpp:165,1
    - Dst: fs::exists
      Src: /src/pldm/softoff/softoff.cpp:167,1
    - Dst: fs::is_empty
      Src: /src/pldm/softoff/softoff.cpp:167,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:169,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/softoff/softoff.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: pldm::SoftPowerOff::parseConfig
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - fs::path
    linkageType: ''
    returnType: Json
    signature: Json SoftPowerOff::parseConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/softoff/softoff.cpp:182,1
    - Dst: new_method_call
      Src: /src/pldm/softoff/softoff.cpp:186,1
    - Dst: auto::append
      Src: /src/pldm/softoff/softoff.cpp:189,1
    - Dst: call
      Src: /src/pldm/softoff/softoff.cpp:190,1
    - Dst: auto::read
      Src: /src/pldm/softoff/softoff.cpp:192,1
    - Dst: std::vector::size
      Src: /src/pldm/softoff/softoff.cpp:193,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/softoff/softoff.cpp:198,1
    - Dst: data
      Src: /src/pldm/softoff/softoff.cpp:198,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:209,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' entityType'
    - ' stateSetId'
    argTypes:
    - pldm::pdr::EntityType
    - pldm::pdr::StateSetId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: pldm::SoftPowerOff::getEffecterID
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - data
    - static_cast<unsigned>
    - error
    - call
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - auto::append
    - std::vector::size
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool SoftPowerOff::getEffecterID(pldm::pdr::EntityType& entityType,\n
      \                                pldm::pdr::StateSetId& stateSetId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/softoff/softoff.cpp:223,1
    - Dst: new_method_call
      Src: /src/pldm/softoff/softoff.cpp:225,1
    - Dst: auto::append
      Src: /src/pldm/softoff/softoff.cpp:228,1
    - Dst: call
      Src: /src/pldm/softoff/softoff.cpp:230,1
    - Dst: auto::read
      Src: /src/pldm/softoff/softoff.cpp:232,1
    - Dst: std::vector::size
      Src: /src/pldm/softoff/softoff.cpp:234,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:236,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:238,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/softoff/softoff.cpp:246,1
    - Dst: data
      Src: /src/pldm/softoff/softoff.cpp:246,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:249,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:251,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/softoff/softoff.cpp:265,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:281,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - ' entityType'
    - ' stateSetId'
    argTypes:
    - pldm::pdr::EntityType
    - pldm::pdr::StateSetId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 289
    functionName: pldm::SoftPowerOff::getSensorInfo
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - data
    - static_cast<unsigned>
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - call
    - auto::append
    - std::vector::size
    - auto::read
    - std::start_lifetime_as<state_sensor_possible_states>
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int SoftPowerOff::getSensorInfo(pldm::pdr::EntityType& entityType,\n
      \                               pldm::pdr::StateSetId& stateSetId)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::readHostEID
      Src: /src/pldm/softoff/softoff.cpp:297,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/softoff/softoff.cpp:299,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/softoff/softoff.cpp:303,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/softoff/softoff.cpp:321,1
    - Dst: std::array::data
      Src: /src/pldm/softoff/softoff.cpp:321,1
    - Dst: next
      Src: /src/pldm/softoff/softoff.cpp:323,1
    - Dst: auto::value
      Src: /src/pldm/softoff/softoff.cpp:328,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/softoff/softoff.cpp:329,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:333,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:334,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:345,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:346,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:348,1
    - Dst: Clock
      Src: /src/pldm/softoff/softoff.cpp:352,1
    - Dst: std::move
      Src: /src/pldm/softoff/softoff.cpp:353,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/softoff/softoff.cpp:358,1
    - Dst: PldmTransport::recvMsg
      Src: /src/pldm/softoff/softoff.cpp:372,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:375,1
    - Dst: set_enabled
      Src: /src/pldm/softoff/softoff.cpp:386,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/softoff/softoff.cpp:387,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/softoff/softoff.cpp:387,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/pldm/softoff/softoff.cpp:390,1
    - Dst: set_enabled
      Src: /src/pldm/softoff/softoff.cpp:397,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:398,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:402,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:404,1
    - Dst: duration_cast<microseconds>
      Src: /src/pldm/softoff/softoff.cpp:412,1
    - Dst: seconds
      Src: /src/pldm/softoff/softoff.cpp:412,1
    - Dst: pldm::SoftPowerOff::startTimer
      Src: /src/pldm/softoff/softoff.cpp:414,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:417,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:420,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:424,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/softoff/softoff.cpp:430,1
    - Dst: std::move
      Src: /src/pldm/softoff/softoff.cpp:430,1
    - Dst: PldmTransport::sendMsg
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: std::array::data
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: std::array::size
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:436,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:437,1
    - Dst: pldm::SoftPowerOff::isCompleted
      Src: /src/pldm/softoff/softoff.cpp:444,1
    - Dst: pldm::SoftPowerOff::isTimerExpired
      Src: /src/pldm/softoff/softoff.cpp:444,1
    - Dst: run
      Src: /src/pldm/softoff/softoff.cpp:448,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:452,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:453,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 461
    functionName: pldm::SoftPowerOff::hostSoftOff
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - duration_cast<microseconds>
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - next
    - std::move
    - seconds
    - error
    - free
    - pldm::SoftPowerOff::isTimerExpired
    - pldm::utils::readHostEID
    - Clock
    - std::unique_ptr::get
    - set_enabled
    - pldm::utils::DBusHandler
    - PldmTransport::getEventSource
    - pldm_msg_hdr_correlate_response
    - pldm::SoftPowerOff::isCompleted
    - encode_set_state_effecter_states_req
    - static_cast<pldm_tid_t>
    - exit
    - PldmTransport::sendMsg
    - run
    - auto::value
    - std::array::size
    - PldmTransport::recvMsg
    - pldm::SoftPowerOff::startTimer
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::hostSoftOff(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/pldm/softoff/softoff.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: pldm::SoftPowerOff::startTimer
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::SoftPowerOff::parseConfig
      Src: /src/pldm/softoff/softoff.cpp:49,1
    - Dst: auto::is_discarded
      Src: /src/pldm/softoff/softoff.cpp:51,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:53,1
    - Dst: pldm::SoftPowerOff::getHostState
      Src: /src/pldm/softoff/softoff.cpp:57,1
    - Dst: auto::value
      Src: /src/pldm/softoff/softoff.cpp:63,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:66,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:67,1
    - Dst: value
      Src: /src/pldm/softoff/softoff.cpp:68,1
    - Dst: pldm::SoftPowerOff::getEffecterID
      Src: /src/pldm/softoff/softoff.cpp:70,1
    - Dst: pldm::SoftPowerOff::getSensorInfo
      Src: /src/pldm/softoff/softoff.cpp:73,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:76,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:78,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/softoff/softoff.cpp:92,1
    - Dst: sdbusRule::type::signal
      Src: /src/pldm/softoff/softoff.cpp:94,1
    - Dst: sdbusRule::member
      Src: /src/pldm/softoff/softoff.cpp:94,1
    - Dst: sdbusRule::path
      Src: /src/pldm/softoff/softoff.cpp:95,1
    - Dst: sdbusRule::interface
      Src: /src/pldm/softoff/softoff.cpp:96,1
    - Dst: std::bind
      Src: /src/pldm/softoff/softoff.cpp:97,1
    - Dst: std::mem_fn
      Src: /src/pldm/softoff/softoff.cpp:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ' bus'
    - event
    - ' instanceIdDb'
    argTypes:
    - sdbusplus::bus_t
    - sd_event*
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 99
    functionName: pldm::SoftPowerOff::SoftPowerOff
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - pldm::SoftPowerOff::parseConfig
    - std::make_unique<sdbusplus::match>
    - static_cast<unsigned>
    - std::bind
    - std::mem_fn
    - pldm::SoftPowerOff::getSensorInfo
    - error
    - auto::value
    - sdbusRule::member
    - value
    - sdbusRule::interface
    - sdbusRule::path
    - pldm::SoftPowerOff::getHostState
    - auto::is_discarded
    - sdbusRule::type::signal
    - pldm::SoftPowerOff::getEffecterID
    linkageType: ''
    returnType: void
    signature: "void SoftPowerOff::SoftPowerOff(sdbusplus::bus_t& bus, sd_event* event,\n
      \                          pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/softoff/softoff.cpp:106,1
    - Dst: std::get<std::string>
      Src: /src/pldm/softoff/softoff.cpp:111,1
    - Dst: std::get<std::string>
      Src: /src/pldm/softoff/softoff.cpp:113,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 131
    functionName: pldm::SoftPowerOff::getHostState
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::getHostState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/softoff/softoff.cpp:142,1
    - Dst: stop
      Src: /src/pldm/softoff/softoff.cpp:149,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: pldm::SoftPowerOff::hostSoftOffComplete
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 0
    functionsReached:
    - read
    - stop
    - error
    linkageType: ''
    returnType: void
    signature: void SoftPowerOff::hostSoftOffComplete(sdbusplus::message_t& msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/softoff/softoff.cpp:165,1
    - Dst: fs::exists
      Src: /src/pldm/softoff/softoff.cpp:167,1
    - Dst: fs::is_empty
      Src: /src/pldm/softoff/softoff.cpp:167,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:169,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/softoff/softoff.cpp:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: pldm::SoftPowerOff::parseConfig
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - fs::path
    linkageType: ''
    returnType: Json
    signature: Json SoftPowerOff::parseConfig()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/softoff/softoff.cpp:182,1
    - Dst: new_method_call
      Src: /src/pldm/softoff/softoff.cpp:186,1
    - Dst: auto::append
      Src: /src/pldm/softoff/softoff.cpp:189,1
    - Dst: call
      Src: /src/pldm/softoff/softoff.cpp:190,1
    - Dst: auto::read
      Src: /src/pldm/softoff/softoff.cpp:192,1
    - Dst: std::vector::size
      Src: /src/pldm/softoff/softoff.cpp:193,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/softoff/softoff.cpp:198,1
    - Dst: data
      Src: /src/pldm/softoff/softoff.cpp:198,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:209,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' entityType'
    - ' stateSetId'
    argTypes:
    - pldm::pdr::EntityType
    - pldm::pdr::StateSetId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: pldm::SoftPowerOff::getEffecterID
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - data
    - static_cast<unsigned>
    - error
    - call
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - auto::append
    - std::vector::size
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool SoftPowerOff::getEffecterID(pldm::pdr::EntityType& entityType,\n
      \                                pldm::pdr::StateSetId& stateSetId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/softoff/softoff.cpp:223,1
    - Dst: new_method_call
      Src: /src/pldm/softoff/softoff.cpp:225,1
    - Dst: auto::append
      Src: /src/pldm/softoff/softoff.cpp:228,1
    - Dst: call
      Src: /src/pldm/softoff/softoff.cpp:230,1
    - Dst: auto::read
      Src: /src/pldm/softoff/softoff.cpp:232,1
    - Dst: std::vector::size
      Src: /src/pldm/softoff/softoff.cpp:234,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:236,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:238,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/softoff/softoff.cpp:246,1
    - Dst: data
      Src: /src/pldm/softoff/softoff.cpp:246,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:249,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:251,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/softoff/softoff.cpp:265,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:281,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/softoff/softoff.cpp:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - ' entityType'
    - ' stateSetId'
    argTypes:
    - pldm::pdr::EntityType
    - pldm::pdr::StateSetId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 289
    functionName: pldm::SoftPowerOff::getSensorInfo
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - data
    - static_cast<unsigned>
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - call
    - auto::append
    - std::vector::size
    - auto::read
    - std::start_lifetime_as<state_sensor_possible_states>
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int SoftPowerOff::getSensorInfo(pldm::pdr::EntityType& entityType,\n
      \                               pldm::pdr::StateSetId& stateSetId)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::readHostEID
      Src: /src/pldm/softoff/softoff.cpp:297,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/softoff/softoff.cpp:299,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/softoff/softoff.cpp:303,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/softoff/softoff.cpp:321,1
    - Dst: std::array::data
      Src: /src/pldm/softoff/softoff.cpp:321,1
    - Dst: next
      Src: /src/pldm/softoff/softoff.cpp:323,1
    - Dst: auto::value
      Src: /src/pldm/softoff/softoff.cpp:328,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/softoff/softoff.cpp:329,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:333,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:334,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:345,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:346,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:348,1
    - Dst: Clock
      Src: /src/pldm/softoff/softoff.cpp:352,1
    - Dst: std::move
      Src: /src/pldm/softoff/softoff.cpp:353,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/softoff/softoff.cpp:358,1
    - Dst: PldmTransport::recvMsg
      Src: /src/pldm/softoff/softoff.cpp:372,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:375,1
    - Dst: set_enabled
      Src: /src/pldm/softoff/softoff.cpp:386,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/softoff/softoff.cpp:387,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/softoff/softoff.cpp:387,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/pldm/softoff/softoff.cpp:390,1
    - Dst: set_enabled
      Src: /src/pldm/softoff/softoff.cpp:397,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:398,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:402,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:404,1
    - Dst: duration_cast<microseconds>
      Src: /src/pldm/softoff/softoff.cpp:412,1
    - Dst: seconds
      Src: /src/pldm/softoff/softoff.cpp:412,1
    - Dst: pldm::SoftPowerOff::startTimer
      Src: /src/pldm/softoff/softoff.cpp:414,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:417,1
    - Dst: exit
      Src: /src/pldm/softoff/softoff.cpp:420,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:424,1
    - Dst: PldmTransport::getEventSource
      Src: /src/pldm/softoff/softoff.cpp:430,1
    - Dst: std::move
      Src: /src/pldm/softoff/softoff.cpp:430,1
    - Dst: PldmTransport::sendMsg
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: std::array::data
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: std::array::size
      Src: /src/pldm/softoff/softoff.cpp:433,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:436,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:437,1
    - Dst: pldm::SoftPowerOff::isCompleted
      Src: /src/pldm/softoff/softoff.cpp:444,1
    - Dst: pldm::SoftPowerOff::isTimerExpired
      Src: /src/pldm/softoff/softoff.cpp:444,1
    - Dst: run
      Src: /src/pldm/softoff/softoff.cpp:448,1
    - Dst: free
      Src: /src/pldm/softoff/softoff.cpp:452,1
    - Dst: error
      Src: /src/pldm/softoff/softoff.cpp:453,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 461
    functionName: pldm::SoftPowerOff::hostSoftOff
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 1
    functionsReached:
    - duration_cast<microseconds>
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - next
    - std::move
    - seconds
    - error
    - free
    - pldm::SoftPowerOff::isTimerExpired
    - pldm::utils::readHostEID
    - Clock
    - std::unique_ptr::get
    - set_enabled
    - pldm::utils::DBusHandler
    - PldmTransport::getEventSource
    - pldm_msg_hdr_correlate_response
    - pldm::SoftPowerOff::isCompleted
    - encode_set_state_effecter_states_req
    - static_cast<pldm_tid_t>
    - exit
    - PldmTransport::sendMsg
    - run
    - auto::value
    - std::array::size
    - PldmTransport::recvMsg
    - pldm::SoftPowerOff::startTimer
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::hostSoftOff(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/pldm/softoff/softoff.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' usec'
    argTypes:
    - std::chrono::microseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: pldm::SoftPowerOff::startTimer
    functionSourceFile: /src/pldm/softoff/softoff.cpp
    functionUses: 2
    functionsReached:
    - start
    linkageType: ''
    returnType: int
    signature: int SoftPowerOff::startTimer(const std::chrono::microseconds& usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:60,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:65,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:73,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: pldm::utils::findStateEffecterPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm_pdr_find_record_by_type
    - std::vector::emplace_back
    - std::start_lifetime_as<state_effecter_possible_states>
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::move
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateEffecterPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:113,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:118,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: pldm::utils::findStateSensorPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - pldm_pdr_find_record_by_type
    - std::move
    - std::vector::emplace_back
    - std::start_lifetime_as<state_sensor_possible_states>
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateSensorPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/pldm/common/utils.cpp:160,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:162,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:163,1
    - Dst: std::string::empty
      Src: /src/pldm/common/utils.cpp:169,1
    - Dst: atoi
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: pldm::utils::readHostEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::string::c_str
    - error
    - std::string::empty
    - atoi
    - static_cast<std::string>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t readHostEID()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mctpEid
    argTypes:
    - eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: pldm::utils::isValidEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidEID(eid mctpEid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: pldm::utils::getNumPadBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumPadBytes(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - data
    - year
    - month
    - day
    - hour
    - min
    - sec
    argTypes:
    - uint64_t
    - uint16_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: pldm::utils::uintToDate
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uintToDate(uint64_t data, uint16_t* year, uint8_t* month, uint8_t*
      day,\n                uint8_t* hour, uint8_t* min, uint8_t* sec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/common/utils.cpp:229,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::make_optional
      Src: /src/pldm/common/utils.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' effecterData'
    - effecterCount
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: pldm::utils::parseEffecterData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::move
    - std::make_optional
    linkageType: ''
    returnType: std::optional<std::vector<set_effecter_state_field>>
    signature: "std::optional<std::vector<set_effecter_state_field>> parseEffecterData(\n
      \   const std::vector<uint8_t>& effecterData, uint8_t effecterCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:251,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:253,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:266,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:267,1
    - Dst: std::map::begin
      Src: /src/pldm/common/utils.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: pldm::utils::DBusHandler::getService
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - std::map::begin
    - call
    - auto::append
    - auto::read
    - new_method_call
    - DbusInterfaceList
    linkageType: ''
    returnType: std::string
    signature: "std::string DBusHandler::getService(const char* path,\n                                    const
      char* interface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:275,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:276,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:279,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:280,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' searchPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pldm::utils::DBusHandler::getSubtree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreeResponse
    signature: "GetSubTreeResponse DBusHandler::getSubtree(\n    const std::string&
      searchPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:291,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:292,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:296,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:297,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' objectPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: pldm::utils::DBusHandler::getSubTreePaths
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreePathsResponse
    signature: "GetSubTreePathsResponse DBusHandler::getSubTreePaths(\n    const std::string&
      objectPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:306,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:307,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:310,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:311,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' ifaceList'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: pldm::utils::DBusHandler::getAncestors
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetAncestorsResponse
    signature: "GetAncestorsResponse DBusHandler::getAncestors(\n    const std::string&
      path, const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:319,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/common/utils.cpp:326,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:329,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:334,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:335,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: pldm::utils::reportError
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 49
    functionsReached:
    - error
    - call_noreply
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void reportError(const char* errorMsg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/common/utils.cpp:350,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:353,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: propertyName::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:357,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:362,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:363,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:367,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:368,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:372,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:373,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:377,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:378,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:382,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:383,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:387,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:388,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:392,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:393,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:397,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:398,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:402,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:403,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:407,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:408,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/common/utils.cpp:413,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:414,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:418,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ' dBusMap'
    - ' value'
    argTypes:
    - DBusMapping
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pldm::utils::DBusHandler::setDbusProperty
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<double>
    - propertyName::c_str
    - call_noreply
    - std::get<uint8_t>
    - getBus
    - std::get<uint32_t>
    - std::invalid_argument
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<bool>
    - setDbusValue
    - std::get<int16_t>
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    - std::get<int32_t>
    - std::get<int64_t>
    - objectPath::c_str
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - interface::c_str
    linkageType: ''
    returnType: void
    signature: "void DBusHandler::setDbusProperty(const DBusMapping& dBusMap,\n                                  const
      PropertyValue& value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:427,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:428,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:431,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: pldm::utils::DBusHandler::getDbusPropertyVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue DBusHandler::getDbusPropertyVariant(\n    const char*
      objPath, const char* dbusProp, const char* dbusInterface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:440,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:441,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:445,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:446,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' objectPath'
    - ' subtree'
    - depth
    - ' ifaceList'
    argTypes:
    - sdbusplus::object_path
    - sdbusplus::object_path
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: pldm::utils::DBusHandler::getAssociatedSubTree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    linkageType: ''
    returnType: GetAssociatedSubTreeResponse
    signature: "GetAssociatedSubTreeResponse DBusHandler::getAssociatedSubTree(\n
      \   const sdbusplus::object_path& objectPath,\n    const sdbusplus::object_path&
      subtree, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:455,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:456,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service
    - rootPath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: pldm::utils::DBusHandler::getManagedObj
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - call
    - new_method_call
    - DBusHandler::getBus
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree DBusHandler::getManagedObj(const char* service,\n
      \                                          const char* rootPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:466,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:468,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:469,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - serviceName
    - objPath
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: pldm::utils::DBusHandler::getDbusPropertiesVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - new_method_call
    - auto::append
    - DBusHandler::getBus
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap DBusHandler::getDbusPropertiesVariant(\n    const char*
      serviceName, const char* objPath,\n    const char* dbusInterface) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/common/utils.cpp:479,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/utils.cpp:483,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/common/utils.cpp:487,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/common/utils.cpp:491,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/common/utils.cpp:495,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/common/utils.cpp:499,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/common/utils.cpp:503,1
    - Dst: static_cast<bool>
      Src: /src/pldm/common/utils.cpp:507,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:511,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:515,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - type
    - ' value'
    argTypes:
    - std::string_view
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 523
    functionName: pldm::utils::jsonEntryToDbusVal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - error
    - static_cast<uint16_t>
    - static_cast<std::string>
    - static_cast<uint32_t>
    - static_cast<bool>
    - static_cast<int32_t>
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue jsonEntryToDbusVal(std::string_view type,\n                                 const
      nlohmann::json& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:534,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/common/utils.cpp:536,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:538,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - localOrRemote
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: pldm::utils::findStateEffecterId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::start_lifetime_as<state_effecter_possible_states>
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,\n
      \                            uint16_t entityInstance, uint16_t containerId,\n
      \                            uint16_t stateSetId, bool localOrRemote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:572,1
    - Dst: new_signal
      Src: /src/pldm/common/utils.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:576,1
    - Dst: auto::signal_send
      Src: /src/pldm/common/utils.cpp:578,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tid
    - sensorId
    - sensorOffset
    - eventState
    - previousEventState
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: pldm::utils::emitStateSensorEventSignal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - new_signal
    - DBusHandler::getBus
    - error
    - auto::signal_send
    - auto::append
    linkageType: ''
    returnType: int
    signature: "int emitStateSensorEventSignal(uint8_t tid, uint16_t sensorId,\n                               uint8_t
      sensorOffset, uint8_t eventState,\n                               uint8_t previousEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:591,1
    - Dst: DBusHandler
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:597,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:600,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' endpointObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: pldm::utils::recoverMctpEndpoint
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - c_str
    - error
    - call_noreply
    - DBusHandler
    - DBusHandler::getBus
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void recoverMctpEndpoint(const std::string& endpointObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/common/utils.cpp:614,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - pdrRepo
    - tid
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    argTypes:
    - pldm_pdr*
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: pldm::utils::findStateSensorId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::start_lifetime_as<state_sensor_possible_states>
    - pldm::utils::findStateSensorPDR
    - data
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateSensorId(const pldm_pdr* pdrRepo, uint8_t tid,\n
      \                          uint16_t entityType, uint16_t entityInstance,\n                           uint16_t
      containerId, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/common/utils.cpp:644,1
    - Dst: std::ranges::for_each
      Src: /src/pldm/common/utils.cpp:651,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - isTx
    - ' buffer'
    argTypes:
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 656
    functionName: pldm::utils::printBuffer
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ranges::for_each
    - std::format
    linkageType: ''
    returnType: void
    signature: void printBuffer(bool isTx, const std::vector<uint8_t>& buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:665,1
    - Dst: std::replace_if
      Src: /src/pldm/common/utils.cpp:666,1
    - Dst: std::string::begin
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: std::string::end
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: isprint
      Src: /src/pldm/common/utils.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::replace_if
    - reinterpret_cast<const char*>
    - std::string::begin
    - std::string::end
    - isprint
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:678,1
    - Dst: std::string_view::find
      Src: /src/pldm/common/utils.cpp:680,1
    - Dst: std::string_view::substr
      Src: /src/pldm/common/utils.cpp:681,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:682,1
    - Dst: std::string_view::remove_prefix
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::remove_suffix
      Src: /src/pldm/common/utils.cpp:685,1
    - Dst: std::string_view::size
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:689,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - srcStr
    - delim
    - trimStr
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: pldm::utils::split
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::find_first_not_of
    - std::string_view::find_last_not_of
    - std::string_view::empty
    - std::string_view::remove_prefix
    - std::string_view::remove_suffix
    - std::vector::emplace_back
    - std::string_view::size
    - std::string_view::substr
    - std::string_view::find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> split(std::string_view srcStr, std::string_view
      delim,\n                               std::string_view trimStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::current_zone
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: cb_now
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: pldm::utils::getCurrentSystemTime
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - std::chrono::current_zone
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string getCurrentSystemTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:710,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:711,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:713,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: pldm::utils::checkForFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkForFruPresence(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' containerId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: pldm::utils::checkIfLogicalBitSet
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkIfLogicalBitSet(const uint16_t& containerId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:738,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' fruObjPath'
    - present
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 746
    functionName: pldm::utils::setFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void setFruPresence(const std::string& fruObjPath, bool present)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: begin
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: end
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: find
      Src: /src/pldm/common/utils.cpp:751,1
    - Dst: erase
      Src: /src/pldm/common/utils.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: pldm::utils::trimNameForDbus
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - std::replace
    - end
    - begin
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view trimNameForDbus(std::string& name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/common/utils.cpp:763,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:805,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ' type'
    - ' value'
    - doubleValue
    argTypes:
    - std::string_view
    - pldm::utils::PropertyValue
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: pldm::utils::dbusPropValuesToDouble
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<int32_t>
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - contains
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool dbusPropValuesToDouble(const std::string_view& type,\n                            const
      pldm::utils::PropertyValue& value,\n                            double* doubleValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/common/utils.cpp:828,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: pldm::utils::fruFieldValuestring
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> fruFieldValuestring(const uint8_t* value,\n
      \                                              const uint8_t& length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/common/utils.cpp:836,1
    - Dst: std::memcpy
      Src: /src/pldm/common/utils.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: pldm::utils::fruFieldParserU32
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: "std::optional<uint32_t> fruFieldParserU32(const uint8_t* value,\n
      \                                         const uint8_t& length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:854,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:857,1
    - Dst: SensorPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 866
    functionName: pldm::utils::getStateSensorPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - SensorPDRs::emplace_back
    linkageType: ''
    returnType: SensorPDRs
    signature: SensorPDRs getStateSensorPDRsByType(uint16_t entityType, const pldm_pdr*
      repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateSensorPDRsByType
      Src: /src/pldm/common/utils.cpp:873,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 889
    functionName: pldm::utils::findSensorIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - std::vector::emplace_back
    - pldm::utils::getStateSensorPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::SensorID>
    signature: "std::vector<pldm::pdr::SensorID> findSensorIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:900,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:903,1
    - Dst: EffecterPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: pldm::utils::getStateEffecterPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - EffecterPDRs::emplace_back
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    linkageType: ''
    returnType: EffecterPDRs
    signature: "EffecterPDRs getStateEffecterPDRsByType(uint16_t entityType,\n                                        const
      pldm_pdr* repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateEffecterPDRsByType
      Src: /src/pldm/common/utils.cpp:918,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 931
    functionName: pldm::utils::findEffecterIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldm::utils::getStateEffecterPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::EffecterID>
    signature: "std::vector<pldm::pdr::EffecterID> findEffecterIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:937,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:940,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:945,1
    - Dst: std::variant<PendingAttributesList>
      Src: /src/pldm/common/utils.cpp:947,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:948,1
    - Dst: std::tie
      Src: /src/pldm/common/utils.cpp:954,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:958,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:960,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:965,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' biosAttrList'
    argTypes:
    - PendingAttributesList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 972
    functionName: pldm::utils::setBiosAttr
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - DBusHandler::getBus
    - std::get<int64_t>
    - std::variant<PendingAttributesList>
    - call_noreply
    - info
    - std::get<std::string>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void setBiosAttr(const PendingAttributesList& biosAttrList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/pldm/common/utils.cpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: pldm::utils::generateSwId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: long int
    signature: long int generateSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:983,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:985,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/utils.cpp:987,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:990,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:992,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:993,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:995,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:998,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1003,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1006,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1007,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1012,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1014,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1017
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - fstat
    - std::system_category
    - error
    - static_cast<char*>
    - std::system_error
    - std::runtime_error
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - mmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::MMapHandler(int fd, std::optional<size_t> size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1027,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1028,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: string
      Src: /src/pldm/common/utils.cpp:1030,1
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:1036,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1039,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1041,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:1046,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:1048,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1049,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1051,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1053,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:1055,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1060,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1063,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1064,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1068,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1071,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1081,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' path'
    - size
    argTypes:
    - std::filesystem::path
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1086
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - c_str
    - std::system_category
    - error
    - fstat
    - static_cast<char*>
    - mmap
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - std::system_error
    - close
    - string
    - open
    linkageType: ''
    returnType: void
    signature: "void MMapHandler::MMapHandler(const std::filesystem::path& path,\n
      \                        std::optional<size_t> size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/pldm/common/utils.cpp:1092,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: MMapHandler::~MMapHandler()
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - munmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::~MMapHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/common/utils.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1119
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> MMapHandler::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/common/utils.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> MMapHandler::getBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> MMapHandler::getChars() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<char>
    signature: std::span<char> MMapHandler::getChars()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: pldm::utils::MMapHandler::getSize
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MMapHandler::getSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:60,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:65,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:73,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: pldm::utils::findStateEffecterPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm_pdr_find_record_by_type
    - std::vector::emplace_back
    - std::start_lifetime_as<state_effecter_possible_states>
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::move
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateEffecterPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:113,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:118,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: pldm::utils::findStateSensorPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 5
    functionsReached:
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - pldm_pdr_find_record_by_type
    - std::move
    - std::vector::emplace_back
    - std::start_lifetime_as<state_sensor_possible_states>
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateSensorPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/pldm/common/utils.cpp:160,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:162,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:163,1
    - Dst: std::string::empty
      Src: /src/pldm/common/utils.cpp:169,1
    - Dst: atoi
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: pldm::utils::readHostEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::string::c_str
    - error
    - std::string::empty
    - atoi
    - static_cast<std::string>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t readHostEID()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mctpEid
    argTypes:
    - eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: pldm::utils::isValidEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidEID(eid mctpEid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: pldm::utils::getNumPadBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumPadBytes(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - data
    - year
    - month
    - day
    - hour
    - min
    - sec
    argTypes:
    - uint64_t
    - uint16_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: pldm::utils::uintToDate
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uintToDate(uint64_t data, uint16_t* year, uint8_t* month, uint8_t*
      day,\n                uint8_t* hour, uint8_t* min, uint8_t* sec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/common/utils.cpp:229,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::make_optional
      Src: /src/pldm/common/utils.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' effecterData'
    - effecterCount
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: pldm::utils::parseEffecterData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::move
    - std::make_optional
    linkageType: ''
    returnType: std::optional<std::vector<set_effecter_state_field>>
    signature: "std::optional<std::vector<set_effecter_state_field>> parseEffecterData(\n
      \   const std::vector<uint8_t>& effecterData, uint8_t effecterCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:251,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:253,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:266,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:267,1
    - Dst: std::map::begin
      Src: /src/pldm/common/utils.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: pldm::utils::DBusHandler::getService
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 2
    functionsReached:
    - DBusHandler::getBus
    - std::map::begin
    - call
    - auto::append
    - auto::read
    - new_method_call
    - DbusInterfaceList
    linkageType: ''
    returnType: std::string
    signature: "std::string DBusHandler::getService(const char* path,\n                                    const
      char* interface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:275,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:276,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:279,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:280,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' searchPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pldm::utils::DBusHandler::getSubtree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreeResponse
    signature: "GetSubTreeResponse DBusHandler::getSubtree(\n    const std::string&
      searchPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:291,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:292,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:296,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:297,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' objectPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: pldm::utils::DBusHandler::getSubTreePaths
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreePathsResponse
    signature: "GetSubTreePathsResponse DBusHandler::getSubTreePaths(\n    const std::string&
      objectPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:306,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:307,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:310,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:311,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' ifaceList'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: pldm::utils::DBusHandler::getAncestors
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetAncestorsResponse
    signature: "GetAncestorsResponse DBusHandler::getAncestors(\n    const std::string&
      path, const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:319,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/common/utils.cpp:326,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:329,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:334,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:335,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: pldm::utils::reportError
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 49
    functionsReached:
    - error
    - call_noreply
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void reportError(const char* errorMsg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/common/utils.cpp:350,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:353,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: propertyName::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:357,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:362,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:363,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:367,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:368,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:372,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:373,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:377,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:378,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:382,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:383,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:387,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:388,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:392,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:393,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:397,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:398,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:402,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:403,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:407,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:408,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/common/utils.cpp:413,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:414,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:418,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ' dBusMap'
    - ' value'
    argTypes:
    - DBusMapping
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pldm::utils::DBusHandler::setDbusProperty
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<double>
    - propertyName::c_str
    - call_noreply
    - std::get<uint8_t>
    - getBus
    - std::get<uint32_t>
    - std::invalid_argument
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<bool>
    - setDbusValue
    - std::get<int16_t>
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    - std::get<int32_t>
    - std::get<int64_t>
    - objectPath::c_str
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - interface::c_str
    linkageType: ''
    returnType: void
    signature: "void DBusHandler::setDbusProperty(const DBusMapping& dBusMap,\n                                  const
      PropertyValue& value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:427,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:428,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:431,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: pldm::utils::DBusHandler::getDbusPropertyVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue DBusHandler::getDbusPropertyVariant(\n    const char*
      objPath, const char* dbusProp, const char* dbusInterface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:440,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:441,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:445,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:446,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' objectPath'
    - ' subtree'
    - depth
    - ' ifaceList'
    argTypes:
    - sdbusplus::object_path
    - sdbusplus::object_path
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: pldm::utils::DBusHandler::getAssociatedSubTree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    linkageType: ''
    returnType: GetAssociatedSubTreeResponse
    signature: "GetAssociatedSubTreeResponse DBusHandler::getAssociatedSubTree(\n
      \   const sdbusplus::object_path& objectPath,\n    const sdbusplus::object_path&
      subtree, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:455,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:456,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service
    - rootPath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: pldm::utils::DBusHandler::getManagedObj
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - call
    - new_method_call
    - DBusHandler::getBus
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree DBusHandler::getManagedObj(const char* service,\n
      \                                          const char* rootPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:466,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:468,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:469,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - serviceName
    - objPath
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: pldm::utils::DBusHandler::getDbusPropertiesVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - new_method_call
    - auto::append
    - DBusHandler::getBus
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap DBusHandler::getDbusPropertiesVariant(\n    const char*
      serviceName, const char* objPath,\n    const char* dbusInterface) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/common/utils.cpp:479,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/utils.cpp:483,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/common/utils.cpp:487,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/common/utils.cpp:491,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/common/utils.cpp:495,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/common/utils.cpp:499,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/common/utils.cpp:503,1
    - Dst: static_cast<bool>
      Src: /src/pldm/common/utils.cpp:507,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:511,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:515,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - type
    - ' value'
    argTypes:
    - std::string_view
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 523
    functionName: pldm::utils::jsonEntryToDbusVal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - error
    - static_cast<uint16_t>
    - static_cast<std::string>
    - static_cast<uint32_t>
    - static_cast<bool>
    - static_cast<int32_t>
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue jsonEntryToDbusVal(std::string_view type,\n                                 const
      nlohmann::json& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:534,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/common/utils.cpp:536,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:538,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - localOrRemote
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: pldm::utils::findStateEffecterId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::start_lifetime_as<state_effecter_possible_states>
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,\n
      \                            uint16_t entityInstance, uint16_t containerId,\n
      \                            uint16_t stateSetId, bool localOrRemote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:572,1
    - Dst: new_signal
      Src: /src/pldm/common/utils.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:576,1
    - Dst: auto::signal_send
      Src: /src/pldm/common/utils.cpp:578,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tid
    - sensorId
    - sensorOffset
    - eventState
    - previousEventState
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: pldm::utils::emitStateSensorEventSignal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - new_signal
    - DBusHandler::getBus
    - error
    - auto::signal_send
    - auto::append
    linkageType: ''
    returnType: int
    signature: "int emitStateSensorEventSignal(uint8_t tid, uint16_t sensorId,\n                               uint8_t
      sensorOffset, uint8_t eventState,\n                               uint8_t previousEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:591,1
    - Dst: DBusHandler
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:597,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:600,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' endpointObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: pldm::utils::recoverMctpEndpoint
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - c_str
    - error
    - call_noreply
    - DBusHandler
    - DBusHandler::getBus
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void recoverMctpEndpoint(const std::string& endpointObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/common/utils.cpp:614,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - pdrRepo
    - tid
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    argTypes:
    - pldm_pdr*
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: pldm::utils::findStateSensorId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::start_lifetime_as<state_sensor_possible_states>
    - pldm::utils::findStateSensorPDR
    - data
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateSensorId(const pldm_pdr* pdrRepo, uint8_t tid,\n
      \                          uint16_t entityType, uint16_t entityInstance,\n                           uint16_t
      containerId, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/common/utils.cpp:644,1
    - Dst: std::ranges::for_each
      Src: /src/pldm/common/utils.cpp:651,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - isTx
    - ' buffer'
    argTypes:
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 656
    functionName: pldm::utils::printBuffer
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ranges::for_each
    - std::format
    linkageType: ''
    returnType: void
    signature: void printBuffer(bool isTx, const std::vector<uint8_t>& buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:665,1
    - Dst: std::replace_if
      Src: /src/pldm/common/utils.cpp:666,1
    - Dst: std::string::begin
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: std::string::end
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: isprint
      Src: /src/pldm/common/utils.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::replace_if
    - reinterpret_cast<const char*>
    - std::string::begin
    - std::string::end
    - isprint
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:678,1
    - Dst: std::string_view::find
      Src: /src/pldm/common/utils.cpp:680,1
    - Dst: std::string_view::substr
      Src: /src/pldm/common/utils.cpp:681,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:682,1
    - Dst: std::string_view::remove_prefix
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::remove_suffix
      Src: /src/pldm/common/utils.cpp:685,1
    - Dst: std::string_view::size
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:689,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - srcStr
    - delim
    - trimStr
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: pldm::utils::split
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::find_first_not_of
    - std::string_view::find_last_not_of
    - std::string_view::empty
    - std::string_view::remove_prefix
    - std::string_view::remove_suffix
    - std::vector::emplace_back
    - std::string_view::size
    - std::string_view::substr
    - std::string_view::find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> split(std::string_view srcStr, std::string_view
      delim,\n                               std::string_view trimStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::current_zone
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: cb_now
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: pldm::utils::getCurrentSystemTime
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - std::chrono::current_zone
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string getCurrentSystemTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:710,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:711,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:713,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: pldm::utils::checkForFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkForFruPresence(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' containerId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: pldm::utils::checkIfLogicalBitSet
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkIfLogicalBitSet(const uint16_t& containerId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:738,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' fruObjPath'
    - present
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 746
    functionName: pldm::utils::setFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void setFruPresence(const std::string& fruObjPath, bool present)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: begin
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: end
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: find
      Src: /src/pldm/common/utils.cpp:751,1
    - Dst: erase
      Src: /src/pldm/common/utils.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: pldm::utils::trimNameForDbus
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - std::replace
    - end
    - begin
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view trimNameForDbus(std::string& name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/common/utils.cpp:763,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:805,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ' type'
    - ' value'
    - doubleValue
    argTypes:
    - std::string_view
    - pldm::utils::PropertyValue
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: pldm::utils::dbusPropValuesToDouble
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<int32_t>
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - contains
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool dbusPropValuesToDouble(const std::string_view& type,\n                            const
      pldm::utils::PropertyValue& value,\n                            double* doubleValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/common/utils.cpp:828,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: pldm::utils::fruFieldValuestring
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> fruFieldValuestring(const uint8_t* value,\n
      \                                              const uint8_t& length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/common/utils.cpp:836,1
    - Dst: std::memcpy
      Src: /src/pldm/common/utils.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: pldm::utils::fruFieldParserU32
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: "std::optional<uint32_t> fruFieldParserU32(const uint8_t* value,\n
      \                                         const uint8_t& length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:854,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:857,1
    - Dst: SensorPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 866
    functionName: pldm::utils::getStateSensorPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 1
    functionsReached:
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - SensorPDRs::emplace_back
    linkageType: ''
    returnType: SensorPDRs
    signature: SensorPDRs getStateSensorPDRsByType(uint16_t entityType, const pldm_pdr*
      repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateSensorPDRsByType
      Src: /src/pldm/common/utils.cpp:873,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 889
    functionName: pldm::utils::findSensorIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - std::vector::emplace_back
    - pldm::utils::getStateSensorPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::SensorID>
    signature: "std::vector<pldm::pdr::SensorID> findSensorIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:900,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:903,1
    - Dst: EffecterPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: pldm::utils::getStateEffecterPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 1
    functionsReached:
    - EffecterPDRs::emplace_back
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    linkageType: ''
    returnType: EffecterPDRs
    signature: "EffecterPDRs getStateEffecterPDRsByType(uint16_t entityType,\n                                        const
      pldm_pdr* repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateEffecterPDRsByType
      Src: /src/pldm/common/utils.cpp:918,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 931
    functionName: pldm::utils::findEffecterIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldm::utils::getStateEffecterPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::EffecterID>
    signature: "std::vector<pldm::pdr::EffecterID> findEffecterIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:937,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:940,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:945,1
    - Dst: std::variant<PendingAttributesList>
      Src: /src/pldm/common/utils.cpp:947,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:948,1
    - Dst: std::tie
      Src: /src/pldm/common/utils.cpp:954,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:958,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:960,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:965,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' biosAttrList'
    argTypes:
    - PendingAttributesList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 972
    functionName: pldm::utils::setBiosAttr
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - DBusHandler::getBus
    - std::get<int64_t>
    - std::variant<PendingAttributesList>
    - call_noreply
    - info
    - std::get<std::string>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void setBiosAttr(const PendingAttributesList& biosAttrList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/pldm/common/utils.cpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: pldm::utils::generateSwId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: long int
    signature: long int generateSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:983,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:985,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/utils.cpp:987,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:990,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:992,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:993,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:995,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:998,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1003,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1006,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1007,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1012,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1014,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1017
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - fstat
    - std::system_category
    - error
    - static_cast<char*>
    - std::system_error
    - std::runtime_error
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - mmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::MMapHandler(int fd, std::optional<size_t> size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1027,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1028,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: string
      Src: /src/pldm/common/utils.cpp:1030,1
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:1036,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1039,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1041,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:1046,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:1048,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1049,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1051,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1053,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:1055,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1060,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1063,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1064,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1068,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1071,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1081,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' path'
    - size
    argTypes:
    - std::filesystem::path
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1086
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - c_str
    - std::system_category
    - error
    - fstat
    - static_cast<char*>
    - mmap
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - std::system_error
    - close
    - string
    - open
    linkageType: ''
    returnType: void
    signature: "void MMapHandler::MMapHandler(const std::filesystem::path& path,\n
      \                        std::optional<size_t> size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/pldm/common/utils.cpp:1092,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: MMapHandler::~MMapHandler()
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - munmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::~MMapHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/common/utils.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1119
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> MMapHandler::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/common/utils.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> MMapHandler::getBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> MMapHandler::getChars() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<char>
    signature: std::span<char> MMapHandler::getChars()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: pldm::utils::MMapHandler::getSize
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MMapHandler::getSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:60,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:65,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:73,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: pldm::utils::findStateEffecterPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm_pdr_find_record_by_type
    - std::vector::emplace_back
    - std::start_lifetime_as<state_effecter_possible_states>
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::move
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateEffecterPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:113,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:118,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: pldm::utils::findStateSensorPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 6
    functionsReached:
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - pldm_pdr_find_record_by_type
    - std::move
    - std::vector::emplace_back
    - std::start_lifetime_as<state_sensor_possible_states>
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateSensorPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/pldm/common/utils.cpp:160,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:162,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:163,1
    - Dst: std::string::empty
      Src: /src/pldm/common/utils.cpp:169,1
    - Dst: atoi
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: pldm::utils::readHostEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::string::c_str
    - error
    - std::string::empty
    - atoi
    - static_cast<std::string>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t readHostEID()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mctpEid
    argTypes:
    - eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: pldm::utils::isValidEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidEID(eid mctpEid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: pldm::utils::getNumPadBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumPadBytes(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - data
    - year
    - month
    - day
    - hour
    - min
    - sec
    argTypes:
    - uint64_t
    - uint16_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: pldm::utils::uintToDate
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uintToDate(uint64_t data, uint16_t* year, uint8_t* month, uint8_t*
      day,\n                uint8_t* hour, uint8_t* min, uint8_t* sec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/common/utils.cpp:229,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::make_optional
      Src: /src/pldm/common/utils.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' effecterData'
    - effecterCount
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: pldm::utils::parseEffecterData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::move
    - std::make_optional
    linkageType: ''
    returnType: std::optional<std::vector<set_effecter_state_field>>
    signature: "std::optional<std::vector<set_effecter_state_field>> parseEffecterData(\n
      \   const std::vector<uint8_t>& effecterData, uint8_t effecterCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:251,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:253,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:266,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:267,1
    - Dst: std::map::begin
      Src: /src/pldm/common/utils.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: pldm::utils::DBusHandler::getService
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - DBusHandler::getBus
    - std::map::begin
    - call
    - auto::append
    - auto::read
    - new_method_call
    - DbusInterfaceList
    linkageType: ''
    returnType: std::string
    signature: "std::string DBusHandler::getService(const char* path,\n                                    const
      char* interface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:275,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:276,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:279,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:280,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' searchPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pldm::utils::DBusHandler::getSubtree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreeResponse
    signature: "GetSubTreeResponse DBusHandler::getSubtree(\n    const std::string&
      searchPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:291,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:292,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:296,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:297,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' objectPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: pldm::utils::DBusHandler::getSubTreePaths
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreePathsResponse
    signature: "GetSubTreePathsResponse DBusHandler::getSubTreePaths(\n    const std::string&
      objectPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:306,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:307,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:310,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:311,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' ifaceList'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: pldm::utils::DBusHandler::getAncestors
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetAncestorsResponse
    signature: "GetAncestorsResponse DBusHandler::getAncestors(\n    const std::string&
      path, const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:319,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/common/utils.cpp:326,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:329,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:334,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:335,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: pldm::utils::reportError
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 49
    functionsReached:
    - error
    - call_noreply
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void reportError(const char* errorMsg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/common/utils.cpp:350,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:353,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: propertyName::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:357,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:362,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:363,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:367,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:368,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:372,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:373,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:377,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:378,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:382,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:383,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:387,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:388,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:392,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:393,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:397,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:398,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:402,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:403,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:407,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:408,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/common/utils.cpp:413,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:414,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:418,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ' dBusMap'
    - ' value'
    argTypes:
    - DBusMapping
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pldm::utils::DBusHandler::setDbusProperty
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<double>
    - propertyName::c_str
    - call_noreply
    - std::get<uint8_t>
    - getBus
    - std::get<uint32_t>
    - std::invalid_argument
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<bool>
    - setDbusValue
    - std::get<int16_t>
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    - std::get<int32_t>
    - std::get<int64_t>
    - objectPath::c_str
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - interface::c_str
    linkageType: ''
    returnType: void
    signature: "void DBusHandler::setDbusProperty(const DBusMapping& dBusMap,\n                                  const
      PropertyValue& value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:427,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:428,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:431,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: pldm::utils::DBusHandler::getDbusPropertyVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue DBusHandler::getDbusPropertyVariant(\n    const char*
      objPath, const char* dbusProp, const char* dbusInterface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:440,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:441,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:445,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:446,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' objectPath'
    - ' subtree'
    - depth
    - ' ifaceList'
    argTypes:
    - sdbusplus::object_path
    - sdbusplus::object_path
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: pldm::utils::DBusHandler::getAssociatedSubTree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    linkageType: ''
    returnType: GetAssociatedSubTreeResponse
    signature: "GetAssociatedSubTreeResponse DBusHandler::getAssociatedSubTree(\n
      \   const sdbusplus::object_path& objectPath,\n    const sdbusplus::object_path&
      subtree, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:455,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:456,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service
    - rootPath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: pldm::utils::DBusHandler::getManagedObj
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - call
    - new_method_call
    - DBusHandler::getBus
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree DBusHandler::getManagedObj(const char* service,\n
      \                                          const char* rootPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:466,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:468,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:469,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - serviceName
    - objPath
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: pldm::utils::DBusHandler::getDbusPropertiesVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - new_method_call
    - auto::append
    - DBusHandler::getBus
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap DBusHandler::getDbusPropertiesVariant(\n    const char*
      serviceName, const char* objPath,\n    const char* dbusInterface) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/common/utils.cpp:479,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/utils.cpp:483,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/common/utils.cpp:487,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/common/utils.cpp:491,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/common/utils.cpp:495,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/common/utils.cpp:499,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/common/utils.cpp:503,1
    - Dst: static_cast<bool>
      Src: /src/pldm/common/utils.cpp:507,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:511,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:515,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - type
    - ' value'
    argTypes:
    - std::string_view
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 523
    functionName: pldm::utils::jsonEntryToDbusVal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - error
    - static_cast<uint16_t>
    - static_cast<std::string>
    - static_cast<uint32_t>
    - static_cast<bool>
    - static_cast<int32_t>
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue jsonEntryToDbusVal(std::string_view type,\n                                 const
      nlohmann::json& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:534,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/common/utils.cpp:536,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:538,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - localOrRemote
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: pldm::utils::findStateEffecterId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::start_lifetime_as<state_effecter_possible_states>
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,\n
      \                            uint16_t entityInstance, uint16_t containerId,\n
      \                            uint16_t stateSetId, bool localOrRemote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:572,1
    - Dst: new_signal
      Src: /src/pldm/common/utils.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:576,1
    - Dst: auto::signal_send
      Src: /src/pldm/common/utils.cpp:578,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tid
    - sensorId
    - sensorOffset
    - eventState
    - previousEventState
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: pldm::utils::emitStateSensorEventSignal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - new_signal
    - DBusHandler::getBus
    - error
    - auto::signal_send
    - auto::append
    linkageType: ''
    returnType: int
    signature: "int emitStateSensorEventSignal(uint8_t tid, uint16_t sensorId,\n                               uint8_t
      sensorOffset, uint8_t eventState,\n                               uint8_t previousEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:591,1
    - Dst: DBusHandler
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:597,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:600,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' endpointObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: pldm::utils::recoverMctpEndpoint
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - c_str
    - error
    - call_noreply
    - DBusHandler
    - DBusHandler::getBus
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void recoverMctpEndpoint(const std::string& endpointObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/common/utils.cpp:614,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - pdrRepo
    - tid
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    argTypes:
    - pldm_pdr*
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: pldm::utils::findStateSensorId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::start_lifetime_as<state_sensor_possible_states>
    - pldm::utils::findStateSensorPDR
    - data
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateSensorId(const pldm_pdr* pdrRepo, uint8_t tid,\n
      \                          uint16_t entityType, uint16_t entityInstance,\n                           uint16_t
      containerId, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/common/utils.cpp:644,1
    - Dst: std::ranges::for_each
      Src: /src/pldm/common/utils.cpp:651,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - isTx
    - ' buffer'
    argTypes:
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 656
    functionName: pldm::utils::printBuffer
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ranges::for_each
    - std::format
    linkageType: ''
    returnType: void
    signature: void printBuffer(bool isTx, const std::vector<uint8_t>& buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:665,1
    - Dst: std::replace_if
      Src: /src/pldm/common/utils.cpp:666,1
    - Dst: std::string::begin
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: std::string::end
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: isprint
      Src: /src/pldm/common/utils.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::replace_if
    - reinterpret_cast<const char*>
    - std::string::begin
    - std::string::end
    - isprint
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:678,1
    - Dst: std::string_view::find
      Src: /src/pldm/common/utils.cpp:680,1
    - Dst: std::string_view::substr
      Src: /src/pldm/common/utils.cpp:681,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:682,1
    - Dst: std::string_view::remove_prefix
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::remove_suffix
      Src: /src/pldm/common/utils.cpp:685,1
    - Dst: std::string_view::size
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:689,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - srcStr
    - delim
    - trimStr
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: pldm::utils::split
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::find_first_not_of
    - std::string_view::find_last_not_of
    - std::string_view::empty
    - std::string_view::remove_prefix
    - std::string_view::remove_suffix
    - std::vector::emplace_back
    - std::string_view::size
    - std::string_view::substr
    - std::string_view::find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> split(std::string_view srcStr, std::string_view
      delim,\n                               std::string_view trimStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::current_zone
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: cb_now
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: pldm::utils::getCurrentSystemTime
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - std::chrono::current_zone
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string getCurrentSystemTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:710,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:711,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:713,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: pldm::utils::checkForFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkForFruPresence(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' containerId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: pldm::utils::checkIfLogicalBitSet
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkIfLogicalBitSet(const uint16_t& containerId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:738,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' fruObjPath'
    - present
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 746
    functionName: pldm::utils::setFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void setFruPresence(const std::string& fruObjPath, bool present)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: begin
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: end
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: find
      Src: /src/pldm/common/utils.cpp:751,1
    - Dst: erase
      Src: /src/pldm/common/utils.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: pldm::utils::trimNameForDbus
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - std::replace
    - end
    - begin
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view trimNameForDbus(std::string& name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/common/utils.cpp:763,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:805,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ' type'
    - ' value'
    - doubleValue
    argTypes:
    - std::string_view
    - pldm::utils::PropertyValue
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: pldm::utils::dbusPropValuesToDouble
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<int32_t>
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - contains
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool dbusPropValuesToDouble(const std::string_view& type,\n                            const
      pldm::utils::PropertyValue& value,\n                            double* doubleValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/common/utils.cpp:828,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: pldm::utils::fruFieldValuestring
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> fruFieldValuestring(const uint8_t* value,\n
      \                                              const uint8_t& length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/common/utils.cpp:836,1
    - Dst: std::memcpy
      Src: /src/pldm/common/utils.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: pldm::utils::fruFieldParserU32
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: "std::optional<uint32_t> fruFieldParserU32(const uint8_t* value,\n
      \                                         const uint8_t& length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:854,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:857,1
    - Dst: SensorPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 866
    functionName: pldm::utils::getStateSensorPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 2
    functionsReached:
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - SensorPDRs::emplace_back
    linkageType: ''
    returnType: SensorPDRs
    signature: SensorPDRs getStateSensorPDRsByType(uint16_t entityType, const pldm_pdr*
      repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateSensorPDRsByType
      Src: /src/pldm/common/utils.cpp:873,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 889
    functionName: pldm::utils::findSensorIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - std::vector::emplace_back
    - pldm::utils::getStateSensorPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::SensorID>
    signature: "std::vector<pldm::pdr::SensorID> findSensorIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:900,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:903,1
    - Dst: EffecterPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: pldm::utils::getStateEffecterPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 2
    functionsReached:
    - EffecterPDRs::emplace_back
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    linkageType: ''
    returnType: EffecterPDRs
    signature: "EffecterPDRs getStateEffecterPDRsByType(uint16_t entityType,\n                                        const
      pldm_pdr* repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateEffecterPDRsByType
      Src: /src/pldm/common/utils.cpp:918,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 931
    functionName: pldm::utils::findEffecterIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldm::utils::getStateEffecterPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::EffecterID>
    signature: "std::vector<pldm::pdr::EffecterID> findEffecterIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:937,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:940,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:945,1
    - Dst: std::variant<PendingAttributesList>
      Src: /src/pldm/common/utils.cpp:947,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:948,1
    - Dst: std::tie
      Src: /src/pldm/common/utils.cpp:954,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:958,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:960,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:965,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' biosAttrList'
    argTypes:
    - PendingAttributesList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 972
    functionName: pldm::utils::setBiosAttr
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - DBusHandler::getBus
    - std::get<int64_t>
    - std::variant<PendingAttributesList>
    - call_noreply
    - info
    - std::get<std::string>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void setBiosAttr(const PendingAttributesList& biosAttrList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/pldm/common/utils.cpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: pldm::utils::generateSwId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: long int
    signature: long int generateSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:983,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:985,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/utils.cpp:987,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:990,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:992,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:993,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:995,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:998,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1003,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1006,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1007,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1012,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1014,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1017
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - fstat
    - std::system_category
    - error
    - static_cast<char*>
    - std::system_error
    - std::runtime_error
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - mmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::MMapHandler(int fd, std::optional<size_t> size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1027,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1028,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: string
      Src: /src/pldm/common/utils.cpp:1030,1
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:1036,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1039,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1041,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:1046,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:1048,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1049,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1051,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1053,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:1055,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1060,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1063,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1064,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1068,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1071,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1081,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' path'
    - size
    argTypes:
    - std::filesystem::path
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1086
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - c_str
    - std::system_category
    - error
    - fstat
    - static_cast<char*>
    - mmap
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - std::system_error
    - close
    - string
    - open
    linkageType: ''
    returnType: void
    signature: "void MMapHandler::MMapHandler(const std::filesystem::path& path,\n
      \                        std::optional<size_t> size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/pldm/common/utils.cpp:1092,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: MMapHandler::~MMapHandler()
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - munmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::~MMapHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/common/utils.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1119
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> MMapHandler::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/common/utils.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> MMapHandler::getBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> MMapHandler::getChars() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<char>
    signature: std::span<char> MMapHandler::getChars()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: pldm::utils::MMapHandler::getSize
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MMapHandler::getSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:60,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:65,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:73,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:83,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 99
    functionName: pldm::utils::findStateEffecterPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm_pdr_find_record_by_type
    - std::vector::emplace_back
    - std::start_lifetime_as<state_effecter_possible_states>
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::move
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateEffecterPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:113,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:118,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:136,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - entityID
    - stateSetId
    - repo
    argTypes:
    - uint16_t
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 154
    functionName: pldm::utils::findStateSensorPDR
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 7
    functionsReached:
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - pldm_pdr_find_record_by_type
    - std::move
    - std::vector::emplace_back
    - std::start_lifetime_as<state_sensor_possible_states>
    linkageType: ''
    returnType: std::vector<std::vector<uint8_t>>
    signature: "std::vector<std::vector<uint8_t>> findStateSensorPDR(\n    uint8_t
      /*tid*/, uint16_t entityID, uint16_t stateSetId,\n    const pldm_pdr* repo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/pldm/common/utils.cpp:160,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:162,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:163,1
    - Dst: std::string::empty
      Src: /src/pldm/common/utils.cpp:169,1
    - Dst: atoi
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:171,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 180
    functionName: pldm::utils::readHostEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - std::ifstream::good
    - std::string::c_str
    - error
    - std::string::empty
    - atoi
    - static_cast<std::string>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t readHostEID()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - mctpEid
    argTypes:
    - eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: pldm::utils::isValidEID
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidEID(eid mctpEid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: pldm::utils::getNumPadBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumPadBytes(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - data
    - year
    - month
    - day
    - hour
    - min
    - sec
    argTypes:
    - uint64_t
    - uint16_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: pldm::utils::uintToDate
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool uintToDate(uint64_t data, uint16_t* year, uint8_t* month, uint8_t*
      day,\n                uint8_t* hour, uint8_t* min, uint8_t* sec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/common/utils.cpp:229,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:240,1
    - Dst: std::make_optional
      Src: /src/pldm/common/utils.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/common/utils.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' effecterData'
    - effecterCount
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: pldm::utils::parseEffecterData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - size
    - std::move
    - std::make_optional
    linkageType: ''
    returnType: std::optional<std::vector<set_effecter_state_field>>
    signature: "std::optional<std::vector<set_effecter_state_field>> parseEffecterData(\n
      \   const std::vector<uint8_t>& effecterData, uint8_t effecterCount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:251,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:253,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:259,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: DbusInterfaceList
      Src: /src/pldm/common/utils.cpp:263,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:266,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:267,1
    - Dst: std::map::begin
      Src: /src/pldm/common/utils.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - interface
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: pldm::utils::DBusHandler::getService
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 6
    functionsReached:
    - DBusHandler::getBus
    - std::map::begin
    - call
    - auto::append
    - auto::read
    - new_method_call
    - DbusInterfaceList
    linkageType: ''
    returnType: std::string
    signature: "std::string DBusHandler::getService(const char* path,\n                                    const
      char* interface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:275,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:276,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:279,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:280,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' searchPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pldm::utils::DBusHandler::getSubtree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreeResponse
    signature: "GetSubTreeResponse DBusHandler::getSubtree(\n    const std::string&
      searchPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:291,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:292,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:296,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:297,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' objectPath'
    - depth
    - ' ifaceList'
    argTypes:
    - std::string
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: pldm::utils::DBusHandler::getSubTreePaths
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - auto::append
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetSubTreePathsResponse
    signature: "GetSubTreePathsResponse DBusHandler::getSubTreePaths(\n    const std::string&
      objectPath, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:306,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:307,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:310,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:311,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' path'
    - ' ifaceList'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: pldm::utils::DBusHandler::getAncestors
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: GetAncestorsResponse
    signature: "GetAncestorsResponse DBusHandler::getAncestors(\n    const std::string&
      path, const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:319,1
    - Dst: sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
      Src: /src/pldm/common/utils.cpp:326,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:329,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:334,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:335,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errorMsg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: pldm::utils::reportError
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 49
    functionsReached:
    - error
    - call_noreply
    - sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void reportError(const char* errorMsg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getBus
      Src: /src/pldm/common/utils.cpp:350,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:352,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:353,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: objectPath::c_str
      Src: /src/pldm/common/utils.cpp:354,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: interface::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: propertyName::c_str
      Src: /src/pldm/common/utils.cpp:355,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:357,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:362,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:363,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:367,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:368,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:372,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:373,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:377,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:378,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:382,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:383,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:387,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:388,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:392,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:393,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:397,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:398,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:402,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:403,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:407,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:408,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/common/utils.cpp:413,1
    - Dst: setDbusValue
      Src: /src/pldm/common/utils.cpp:414,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:418,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ' dBusMap'
    - ' value'
    argTypes:
    - DBusMapping
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pldm::utils::DBusHandler::setDbusProperty
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<double>
    - propertyName::c_str
    - call_noreply
    - std::get<uint8_t>
    - getBus
    - std::get<uint32_t>
    - std::invalid_argument
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<bool>
    - setDbusValue
    - std::get<int16_t>
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    - std::get<int32_t>
    - std::get<int64_t>
    - objectPath::c_str
    - std::get<std::string>
    - std::get<std::vector<std::string>>
    - interface::c_str
    linkageType: ''
    returnType: void
    signature: "void DBusHandler::setDbusProperty(const DBusMapping& dBusMap,\n                                  const
      PropertyValue& value) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:427,1
    - Dst: pldm::utils::DBusHandler::getService
      Src: /src/pldm/common/utils.cpp:428,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:430,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:431,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: pldm::utils::DBusHandler::getDbusPropertyVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - auto::c_str
    - auto::append
    - new_method_call
    - pldm::utils::DBusHandler::getService
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue DBusHandler::getDbusPropertyVariant(\n    const char*
      objPath, const char* dbusProp, const char* dbusInterface) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:440,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:441,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:445,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:446,1
    - Dst: auto::unpack
      Src: /src/pldm/common/utils.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' objectPath'
    - ' subtree'
    - depth
    - ' ifaceList'
    argTypes:
    - sdbusplus::object_path
    - sdbusplus::object_path
    - int
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: pldm::utils::DBusHandler::getAssociatedSubTree
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - auto::unpack
    - call
    - auto::append
    - new_method_call
    linkageType: ''
    returnType: GetAssociatedSubTreeResponse
    signature: "GetAssociatedSubTreeResponse DBusHandler::getAssociatedSubTree(\n
      \   const sdbusplus::object_path& objectPath,\n    const sdbusplus::object_path&
      subtree, int depth,\n    const std::vector<std::string>& ifaceList) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:455,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:456,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - service
    - rootPath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: pldm::utils::DBusHandler::getManagedObj
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 4
    functionsReached:
    - call
    - new_method_call
    - DBusHandler::getBus
    linkageType: ''
    returnType: ObjectValueTree
    signature: "ObjectValueTree DBusHandler::getManagedObj(const char* service,\n
      \                                          const char* rootPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:466,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:468,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:469,1
    - Dst: call
      Src: /src/pldm/common/utils.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - serviceName
    - objPath
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: pldm::utils::DBusHandler::getDbusPropertiesVariant
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - call
    - new_method_call
    - auto::append
    - DBusHandler::getBus
    linkageType: ''
    returnType: PropertyMap
    signature: "PropertyMap DBusHandler::getDbusPropertiesVariant(\n    const char*
      serviceName, const char* objPath,\n    const char* dbusInterface) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/common/utils.cpp:479,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/utils.cpp:483,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/common/utils.cpp:487,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/common/utils.cpp:491,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/common/utils.cpp:495,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/common/utils.cpp:499,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/common/utils.cpp:503,1
    - Dst: static_cast<bool>
      Src: /src/pldm/common/utils.cpp:507,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:511,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/utils.cpp:515,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - type
    - ' value'
    argTypes:
    - std::string_view
    - nlohmann::json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 523
    functionName: pldm::utils::jsonEntryToDbusVal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint64_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - error
    - static_cast<uint16_t>
    - static_cast<std::string>
    - static_cast<uint32_t>
    - static_cast<bool>
    - static_cast<int32_t>
    linkageType: ''
    returnType: PropertyValue
    signature: "PropertyValue jsonEntryToDbusVal(std::string_view type,\n                                 const
      nlohmann::json& value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:534,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/common/utils.cpp:536,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:538,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/common/utils.cpp:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    - localOrRemote
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: pldm::utils::findStateEffecterId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::start_lifetime_as<state_effecter_possible_states>
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - pldm_pdr_record_is_remote
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,\n
      \                            uint16_t entityInstance, uint16_t containerId,\n
      \                            uint16_t stateSetId, bool localOrRemote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:572,1
    - Dst: new_signal
      Src: /src/pldm/common/utils.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:576,1
    - Dst: auto::signal_send
      Src: /src/pldm/common/utils.cpp:578,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tid
    - sensorId
    - sensorOffset
    - eventState
    - previousEventState
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 587
    functionName: pldm::utils::emitStateSensorEventSignal
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - new_signal
    - DBusHandler::getBus
    - error
    - auto::signal_send
    - auto::append
    linkageType: ''
    returnType: int
    signature: "int emitStateSensorEventSignal(uint8_t tid, uint16_t sensorId,\n                               uint8_t
      sensorOffset, uint8_t eventState,\n                               uint8_t previousEventState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:591,1
    - Dst: DBusHandler
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:594,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:597,1
    - Dst: std::string::c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:598,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:600,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' endpointObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 608
    functionName: pldm::utils::recoverMctpEndpoint
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - c_str
    - error
    - call_noreply
    - DBusHandler
    - DBusHandler::getBus
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void recoverMctpEndpoint(const std::string& endpointObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::findStateSensorPDR
      Src: /src/pldm/common/utils.cpp:614,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:618,1
    - Dst: std::start_lifetime_as<state_sensor_possible_states>
      Src: /src/pldm/common/utils.cpp:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 6
    argNames:
    - pdrRepo
    - tid
    - entityType
    - entityInstance
    - containerId
    - stateSetId
    argTypes:
    - pldm_pdr*
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 640
    functionName: pldm::utils::findStateSensorId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::start_lifetime_as<state_sensor_possible_states>
    - pldm::utils::findStateSensorPDR
    - data
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t findStateSensorId(const pldm_pdr* pdrRepo, uint8_t tid,\n
      \                          uint16_t entityType, uint16_t entityInstance,\n                           uint16_t
      containerId, uint16_t stateSetId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/common/utils.cpp:644,1
    - Dst: std::ranges::for_each
      Src: /src/pldm/common/utils.cpp:651,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - isTx
    - ' buffer'
    argTypes:
    - bool
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 656
    functionName: pldm::utils::printBuffer
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ranges::for_each
    - std::format
    linkageType: ''
    returnType: void
    signature: void printBuffer(bool isTx, const std::vector<uint8_t>& buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:665,1
    - Dst: std::replace_if
      Src: /src/pldm/common/utils.cpp:666,1
    - Dst: std::string::begin
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: std::string::end
      Src: /src/pldm/common/utils.cpp:667,1
    - Dst: isprint
      Src: /src/pldm/common/utils.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: pldm::utils::toString
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::replace_if
    - reinterpret_cast<const char*>
    - std::string::begin
    - std::string::end
    - isprint
    linkageType: ''
    returnType: std::string
    signature: std::string toString(const struct variable_field& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:678,1
    - Dst: std::string_view::find
      Src: /src/pldm/common/utils.cpp:680,1
    - Dst: std::string_view::substr
      Src: /src/pldm/common/utils.cpp:681,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:682,1
    - Dst: std::string_view::remove_prefix
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::find_first_not_of
      Src: /src/pldm/common/utils.cpp:684,1
    - Dst: std::string_view::remove_suffix
      Src: /src/pldm/common/utils.cpp:685,1
    - Dst: std::string_view::size
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::find_last_not_of
      Src: /src/pldm/common/utils.cpp:686,1
    - Dst: std::string_view::empty
      Src: /src/pldm/common/utils.cpp:689,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - srcStr
    - delim
    - trimStr
    argTypes:
    - std::string_view
    - std::string_view
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: pldm::utils::split
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::string_view::find_first_not_of
    - std::string_view::find_last_not_of
    - std::string_view::empty
    - std::string_view::remove_prefix
    - std::string_view::remove_suffix
    - std::vector::emplace_back
    - std::string_view::size
    - std::string_view::substr
    - std::string_view::find
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> split(std::string_view srcStr, std::string_view
      delim,\n                               std::string_view trimStr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::current_zone
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: cb_now
      Src: /src/pldm/common/utils.cpp:701,1
    - Dst: std::format
      Src: /src/pldm/common/utils.cpp:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: pldm::utils::getCurrentSystemTime
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - std::chrono::current_zone
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string getCurrentSystemTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:710,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:711,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/utils.cpp:713,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' objPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: pldm::utils::checkForFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - error
    - std::get<bool>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: bool
    signature: bool checkForFruPresence(const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' containerId'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: pldm::utils::checkIfLogicalBitSet
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkIfLogicalBitSet(const uint16_t& containerId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:738,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' fruObjPath'
    - present
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 746
    functionName: pldm::utils::setFruPresence
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 8
    functionsReached:
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: void
    signature: void setFruPresence(const std::string& fruObjPath, bool present)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::replace
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: begin
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: end
      Src: /src/pldm/common/utils.cpp:750,1
    - Dst: find
      Src: /src/pldm/common/utils.cpp:751,1
    - Dst: erase
      Src: /src/pldm/common/utils.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: pldm::utils::trimNameForDbus
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - find
    - erase
    - std::replace
    - end
    - begin
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view trimNameForDbus(std::string& name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/common/utils.cpp:763,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/utils.cpp:777,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/utils.cpp:781,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/utils.cpp:785,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/utils.cpp:789,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/utils.cpp:793,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:797,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/utils.cpp:801,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/utils.cpp:805,1
    - Dst: std::get<double>
      Src: /src/pldm/common/utils.cpp:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ' type'
    - ' value'
    - doubleValue
    argTypes:
    - std::string_view
    - pldm::utils::PropertyValue
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 818
    functionName: pldm::utils::dbusPropValuesToDouble
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::get<int32_t>
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - contains
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool dbusPropValuesToDouble(const std::string_view& type,\n                            const
      pldm::utils::PropertyValue& value,\n                            double* doubleValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/common/utils.cpp:828,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/common/utils.cpp:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: pldm::utils::fruFieldValuestring
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> fruFieldValuestring(const uint8_t* value,\n
      \                                              const uint8_t& length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/common/utils.cpp:836,1
    - Dst: std::memcpy
      Src: /src/pldm/common/utils.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - ' length'
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: pldm::utils::fruFieldParserU32
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - std::memcpy
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: "std::optional<uint32_t> fruFieldParserU32(const uint8_t* value,\n
      \                                         const uint8_t& length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:854,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/common/utils.cpp:857,1
    - Dst: SensorPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 866
    functionName: pldm::utils::getStateSensorPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - SensorPDRs::emplace_back
    linkageType: ''
    returnType: SensorPDRs
    signature: SensorPDRs getStateSensorPDRsByType(uint16_t entityType, const pldm_pdr*
      repo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateSensorPDRsByType
      Src: /src/pldm/common/utils.cpp:873,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:878,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 889
    functionName: pldm::utils::findSensorIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - std::vector::emplace_back
    - pldm::utils::getStateSensorPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::SensorID>
    signature: "std::vector<pldm::pdr::SensorID> findSensorIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/common/utils.cpp:900,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/common/utils.cpp:903,1
    - Dst: EffecterPDRs::emplace_back
      Src: /src/pldm/common/utils.cpp:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - entityType
    - repo
    argTypes:
    - uint16_t
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 911
    functionName: pldm::utils::getStateEffecterPDRsByType
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 3
    functionsReached:
    - EffecterPDRs::emplace_back
    - pldm_pdr_find_record_by_type
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    linkageType: ''
    returnType: EffecterPDRs
    signature: "EffecterPDRs getStateEffecterPDRsByType(uint16_t entityType,\n                                        const
      pldm_pdr* repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::getStateEffecterPDRsByType
      Src: /src/pldm/common/utils.cpp:918,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: data
      Src: /src/pldm/common/utils.cpp:922,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/common/utils.cpp:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pdrRepo
    - entityType
    - entityInstance
    - containerId
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 931
    functionName: pldm::utils::findEffecterIds
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldm::utils::getStateEffecterPDRsByType
    - data
    linkageType: ''
    returnType: std::vector<pldm::pdr::EffecterID>
    signature: "std::vector<pldm::pdr::EffecterID> findEffecterIds(\n    const pldm_pdr*
      pdrRepo, uint16_t entityType, uint16_t entityInstance,\n    uint16_t containerId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.cpp:937,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.cpp:940,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.cpp:943,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.cpp:945,1
    - Dst: std::variant<PendingAttributesList>
      Src: /src/pldm/common/utils.cpp:947,1
    - Dst: call_noreply
      Src: /src/pldm/common/utils.cpp:948,1
    - Dst: std::tie
      Src: /src/pldm/common/utils.cpp:954,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:958,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/utils.cpp:960,1
    - Dst: info
      Src: /src/pldm/common/utils.cpp:965,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/utils.cpp:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' biosAttrList'
    argTypes:
    - PendingAttributesList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 972
    functionName: pldm::utils::setBiosAttr
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - DBusHandler::getBus
    - std::get<int64_t>
    - std::variant<PendingAttributesList>
    - call_noreply
    - info
    - std::get<std::string>
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void setBiosAttr(const PendingAttributesList& biosAttrList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/pldm/common/utils.cpp:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: pldm::utils::generateSwId
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: long int
    signature: long int generateSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:983,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:985,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/utils.cpp:987,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:990,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:992,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:993,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:995,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:998,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1003,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1006,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1007,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1012,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1014,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1017
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - fstat
    - std::system_category
    - error
    - static_cast<char*>
    - std::system_error
    - std::runtime_error
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - mmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::MMapHandler(int fd, std::optional<size_t> size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1023,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1027,1
    - Dst: c_str
      Src: /src/pldm/common/utils.cpp:1028,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1029,1
    - Dst: string
      Src: /src/pldm/common/utils.cpp:1030,1
    - Dst: fstat
      Src: /src/pldm/common/utils.cpp:1036,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1039,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1041,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1042,1
    - Dst: std::optional<size_t>::has_value
      Src: /src/pldm/common/utils.cpp:1046,1
    - Dst: std::optional<size_t>::value
      Src: /src/pldm/common/utils.cpp:1048,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1049,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1051,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1053,1
    - Dst: std::invalid_argument
      Src: /src/pldm/common/utils.cpp:1055,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/common/utils.cpp:1060,1
    - Dst: static_cast<char*>
      Src: /src/pldm/common/utils.cpp:1063,1
    - Dst: mmap
      Src: /src/pldm/common/utils.cpp:1064,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1068,1
    - Dst: error
      Src: /src/pldm/common/utils.cpp:1071,1
    - Dst: std::system_error
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: std::system_category
      Src: /src/pldm/common/utils.cpp:1073,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1081,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - ' path'
    - size
    argTypes:
    - std::filesystem::path
    - std::optional<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1086
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<size_t>
    - c_str
    - std::system_category
    - error
    - fstat
    - static_cast<char*>
    - mmap
    - std::optional<size_t>::value
    - std::optional<size_t>::has_value
    - std::system_error
    - close
    - string
    - open
    linkageType: ''
    returnType: void
    signature: "void MMapHandler::MMapHandler(const std::filesystem::path& path,\n
      \                        std::optional<size_t> size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/pldm/common/utils.cpp:1092,1
    - Dst: close
      Src: /src/pldm/common/utils.cpp:1098,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: MMapHandler::~MMapHandler()
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - close
    - munmap
    linkageType: ''
    returnType: void
    signature: void MMapHandler::~MMapHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: pldm::utils::MMapHandler::getData
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * MMapHandler::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/common/utils.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1119
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: std::span<const uint8_t>
    signature: std::span<const uint8_t> MMapHandler::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/common/utils.cpp:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1128
    functionName: pldm::utils::MMapHandler::getBytes
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: std::span<uint8_t>
    signature: std::span<uint8_t> MMapHandler::getBytes()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1137
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<const char>
    signature: std::span<const char> MMapHandler::getChars() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1146
    functionName: pldm::utils::MMapHandler::getChars
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::span<char>
    signature: std::span<char> MMapHandler::getChars()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: pldm::utils::MMapHandler::getSize
    functionSourceFile: /src/pldm/common/utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MMapHandler::getSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/pldm/common/bios_utils.hpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/bios_utils.hpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::bios::utils::BIOSTableIter::iterator::iterator
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: void iterator(const void* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/bios_utils.hpp:71,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/pldm/common/bios_utils.hpp:72,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: '* operator*() const'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - get
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_next
      Src: /src/pldm/common/bios_utils.hpp:81,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: '& operator++()'
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_next
    - get
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/pldm/common/bios_utils.hpp:91,1
    - Dst: get
      Src: /src/pldm/common/bios_utils.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: operator==(const EndSentinel&) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_is_end
    - get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EndSentinel&) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' endSentinel'
    argTypes:
    - EndSentinel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator!=(const EndSentinel& endSentinel) const
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EndSentinel& endSentinel) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pldm::bios::utils::BIOSTableIter::BIOSTableIter
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTableIter(const void* data, size_t length) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/pldm/common/bios_utils.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm::bios::utils::BIOSTableIter::begin
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pldm::bios::utils::BIOSTableIter::end
    functionSourceFile: /src/pldm/common/bios_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EndSentinel
    signature: EndSentinel end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(const InstanceIdError&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(InstanceIdError&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const InstanceIdError&) noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstanceIdError
    signature: InstanceIdError & operator=(const InstanceIdError&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(InstanceIdError&&) noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstanceIdError
    signature: InstanceIdError & operator=(InstanceIdError&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~InstanceIdError() noexcept override
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InstanceIdError() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::InstanceIdError::rcToMsg
      Src: /src/pldm/common/instance_id.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached:
    - pldm::InstanceIdError::rcToMsg
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rc
    - ' m'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc, const std::string& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/common/instance_id.hpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - rc
    - ' m'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc, std::string&& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::InstanceIdError::rc
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rc() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '& msg() const noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & msg() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::InstanceIdError::rcToMsg
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 1
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::string
    signature: std::string rcToMsg(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/common/instance_id.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::InstanceIdError::what
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_init_default
      Src: /src/pldm/common/instance_id.hpp:84,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: pldm::InstanceIdDb::InstanceIdDb
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 1
    functionsReached:
    - pldm_instance_db_init_default
    - std::system_category
    linkageType: ''
    returnType: void
    signature: void InstanceIdDb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_init
      Src: /src/pldm/common/instance_id.hpp:97,1
    - Dst: c_str
      Src: /src/pldm/common/instance_id.hpp:97,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::InstanceIdDb::InstanceIdDb
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 1
    functionsReached:
    - c_str
    - pldm_instance_db_init
    - std::system_category
    linkageType: ''
    returnType: void
    signature: void InstanceIdDb(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_destroy
      Src: /src/pldm/common/instance_id.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: ~InstanceIdDb()
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    linkageType: ''
    returnType: void
    signature: void ~InstanceIdDb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_id_alloc
      Src: /src/pldm/common/instance_id.hpp:123,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:129,1
    - Dst: pldm::InstanceIdError::rcToMsg
      Src: /src/pldm/common/instance_id.hpp:129,1
    - Dst: error
      Src: /src/pldm/common/instance_id.hpp:130,1
    - Dst: std::unexpected
      Src: /src/pldm/common/instance_id.hpp:132,1
    - Dst: std::move
      Src: /src/pldm/common/instance_id.hpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: pldm::InstanceIdDb::next
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdError::rcToMsg
    - error
    - std::unexpected
    - pldm_instance_id_alloc
    - std::move
    - std::to_string
    linkageType: ''
    returnType: std::expected<uint8_t, InstanceIdError>
    signature: std::expected<uint8_t, InstanceIdError> next(uint8_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_id_free
      Src: /src/pldm/common/instance_id.hpp:144,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/instance_id.hpp:147,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:149,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tid
    - instanceId
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: pldm::InstanceIdDb::free
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm_instance_id_free
    - std::runtime_error
    - std::system_category
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void free(uint8_t tid, uint8_t instanceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(const InstanceIdError&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(InstanceIdError&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const InstanceIdError&) noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstanceIdError
    signature: InstanceIdError & operator=(const InstanceIdError&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(InstanceIdError&&) noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InstanceIdError
    signature: InstanceIdError & operator=(InstanceIdError&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~InstanceIdError() noexcept override
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InstanceIdError() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::InstanceIdError::rcToMsg
      Src: /src/pldm/common/instance_id.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached:
    - pldm::InstanceIdError::rcToMsg
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rc
    - ' m'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc, const std::string& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/common/instance_id.hpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - rc
    - ' m'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::InstanceIdError::InstanceIdError
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 24
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void InstanceIdError(int rc, std::string&& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pldm::InstanceIdError::rc
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rc() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '& msg() const noexcept'
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & msg() const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: pldm::InstanceIdError::rcToMsg
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 3
    functionsReached:
    - std::system_category
    linkageType: ''
    returnType: std::string
    signature: std::string rcToMsg(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/common/instance_id.hpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pldm::InstanceIdError::what
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_init_default
      Src: /src/pldm/common/instance_id.hpp:84,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: pldm::InstanceIdDb::InstanceIdDb
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 1
    functionsReached:
    - pldm_instance_db_init_default
    - std::system_category
    linkageType: ''
    returnType: void
    signature: void InstanceIdDb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_init
      Src: /src/pldm/common/instance_id.hpp:97,1
    - Dst: c_str
      Src: /src/pldm/common/instance_id.hpp:97,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::InstanceIdDb::InstanceIdDb
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 1
    functionsReached:
    - c_str
    - pldm_instance_db_init
    - std::system_category
    linkageType: ''
    returnType: void
    signature: void InstanceIdDb(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_destroy
      Src: /src/pldm/common/instance_id.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: ~InstanceIdDb()
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    linkageType: ''
    returnType: void
    signature: void ~InstanceIdDb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_id_alloc
      Src: /src/pldm/common/instance_id.hpp:123,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:129,1
    - Dst: pldm::InstanceIdError::rcToMsg
      Src: /src/pldm/common/instance_id.hpp:129,1
    - Dst: error
      Src: /src/pldm/common/instance_id.hpp:130,1
    - Dst: std::unexpected
      Src: /src/pldm/common/instance_id.hpp:132,1
    - Dst: std::move
      Src: /src/pldm/common/instance_id.hpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: pldm::InstanceIdDb::next
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm::InstanceIdError::rcToMsg
    - error
    - std::unexpected
    - pldm_instance_id_alloc
    - std::move
    - std::to_string
    linkageType: ''
    returnType: std::expected<uint8_t, InstanceIdError>
    signature: std::expected<uint8_t, InstanceIdError> next(uint8_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_id_free
      Src: /src/pldm/common/instance_id.hpp:144,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/instance_id.hpp:147,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:148,1
    - Dst: std::to_string
      Src: /src/pldm/common/instance_id.hpp:149,1
    - Dst: std::system_category
      Src: /src/pldm/common/instance_id.hpp:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tid
    - instanceId
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: pldm::InstanceIdDb::free
    functionSourceFile: /src/pldm/common/instance_id.hpp
    functionUses: 0
    functionsReached:
    - pldm_instance_id_free
    - std::runtime_error
    - std::system_category
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void free(uint8_t tid, uint8_t instanceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EntityKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator==(const EntityKey& e) const
    functionSourceFile: /src/pldm/common/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EntityKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EntityKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator==(const EntityKey& e) const
    functionSourceFile: /src/pldm/common/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EntityKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EntityKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator==(const EntityKey& e) const
    functionSourceFile: /src/pldm/common/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EntityKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - EntityKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: operator==(const EntityKey& e) const
    functionSourceFile: /src/pldm/common/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EntityKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::launder
      Src: /src/pldm/common/start_lifetime_as.hpp:29,1
    - Dst: reinterpret_cast<T*>
      Src: /src/pldm/common/start_lifetime_as.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: std::start_lifetime_as
    functionSourceFile: /src/pldm/common/start_lifetime_as.hpp
    functionUses: 0
    functionsReached:
    - std::launder
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * start_lifetime_as(void* p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::launder
      Src: /src/pldm/common/start_lifetime_as.hpp:35,1
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/start_lifetime_as.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: std::start_lifetime_as
    functionSourceFile: /src/pldm/common/start_lifetime_as.hpp
    functionUses: 0
    functionsReached:
    - std::launder
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * start_lifetime_as(const void* p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::launder
      Src: /src/pldm/common/start_lifetime_as.hpp:29,1
    - Dst: reinterpret_cast<T*>
      Src: /src/pldm/common/start_lifetime_as.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: std::start_lifetime_as
    functionSourceFile: /src/pldm/common/start_lifetime_as.hpp
    functionUses: 0
    functionsReached:
    - std::launder
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * start_lifetime_as(void* p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::launder
      Src: /src/pldm/common/start_lifetime_as.hpp:35,1
    - Dst: reinterpret_cast<const T*>
      Src: /src/pldm/common/start_lifetime_as.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: std::start_lifetime_as
    functionSourceFile: /src/pldm/common/start_lifetime_as.hpp
    functionUses: 0
    functionsReached:
    - std::launder
    - reinterpret_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * start_lifetime_as(const void* p) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PldmTransport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: PldmTransport::PldmTransport
    functionSourceFile: /src/pldm/common/transport.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmTransport(const PldmTransport& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PldmTransport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: PldmTransport::PldmTransport
    functionSourceFile: /src/pldm/common/transport.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmTransport(PldmTransport&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PldmTransport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(const PldmTransport& other)'
    functionSourceFile: /src/pldm/common/transport.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmTransport
    signature: PldmTransport & operator=(const PldmTransport& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PldmTransport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(PldmTransport&& other)'
    functionSourceFile: /src/pldm/common/transport.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmTransport
    signature: PldmTransport & operator=(PldmTransport&& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_mctp_demux_init
      Src: /src/pldm/common/transport.cpp:37,1
    - Dst: std::views::iota
      Src: /src/pldm/common/transport.cpp:44,1
    - Dst: pldm_transport_mctp_demux_map_tid
      Src: /src/pldm/common/transport.cpp:46,1
    - Dst: pldm_transport_mctp_demux_destroy
      Src: /src/pldm/common/transport.cpp:49,1
    - Dst: pldm_transport_mctp_demux_core
      Src: /src/pldm/common/transport.cpp:55,1
    - Dst: pldm_transport_mctp_demux_init_pollfd
      Src: /src/pldm/common/transport.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' impl'
    - ' pollfd'
    argTypes:
    - TransportImpl
    - pollfd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: pldm_transport_impl_mctp_demux_init
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_mctp_demux_map_tid
    - std::views::iota
    - pldm_transport_mctp_demux_init
    - pldm_transport_mctp_demux_init_pollfd
    - pldm_transport_mctp_demux_core
    - pldm_transport_mctp_demux_destroy
    linkageType: ''
    returnType: struct pldm_transport
    signature: "struct pldm_transport *\n    pldm_transport_impl_mctp_demux_init(TransportImpl&
      impl, pollfd& pollfd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_af_mctp_init
      Src: /src/pldm/common/transport.cpp:69,1
    - Dst: std::views::iota
      Src: /src/pldm/common/transport.cpp:76,1
    - Dst: pldm_transport_af_mctp_map_tid
      Src: /src/pldm/common/transport.cpp:78,1
    - Dst: pldm_transport_af_mctp_destroy
      Src: /src/pldm/common/transport.cpp:81,1
    - Dst: pldm_transport_af_mctp_bind
      Src: /src/pldm/common/transport.cpp:87,1
    - Dst: pldm_transport_af_mctp_core
      Src: /src/pldm/common/transport.cpp:92,1
    - Dst: pldm_transport_af_mctp_init_pollfd
      Src: /src/pldm/common/transport.cpp:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ' impl'
    - ' pollfd'
    - listening
    argTypes:
    - TransportImpl
    - pollfd
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: pldm_transport_impl_af_mctp_init
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - pldm_transport_af_mctp_init
    - pldm_transport_af_mctp_core
    - pldm_transport_af_mctp_bind
    - pldm_transport_af_mctp_init_pollfd
    - pldm_transport_af_mctp_destroy
    - pldm_transport_af_mctp_map_tid
    linkageType: ''
    returnType: struct pldm_transport
    signature: "struct pldm_transport * pldm_transport_impl_af_mctp_init(\n    TransportImpl&
      impl, pollfd& pollfd, bool listening)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_impl_mctp_demux_init
      Src: /src/pldm/common/transport.cpp:106,1
    - Dst: pldm_transport_impl_af_mctp_init
      Src: /src/pldm/common/transport.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' impl'
    - ' pollfd'
    - listening
    argTypes:
    - TransportImpl
    - pollfd
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: transport_impl_init
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_impl_mctp_demux_init
    - pldm_transport_impl_af_mctp_init
    linkageType: ''
    returnType: struct pldm_transport
    signature: "struct pldm_transport * transport_impl_init(TransportImpl& impl, pollfd&
      pollfd,\n                                           [[maybe_unused]] bool listening)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_mctp_demux_destroy
      Src: /src/pldm/common/transport.cpp:117,1
    - Dst: pldm_transport_af_mctp_destroy
      Src: /src/pldm/common/transport.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' impl'
    argTypes:
    - TransportImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: transport_impl_destroy
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_af_mctp_destroy
    - pldm_transport_mctp_demux_destroy
    linkageType: ''
    returnType: void
    signature: void transport_impl_destroy(TransportImpl& impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transport_impl_init
      Src: /src/pldm/common/transport.cpp:125,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/transport.cpp:129,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/transport.cpp:132,1
    - Dst: std::runtime_error
      Src: /src/pldm/common/transport.cpp:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - listening
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: PldmTransport::PldmTransport
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - transport_impl_init
    linkageType: ''
    returnType: void
    signature: void PldmTransport::PldmTransport(bool listening)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transport_impl_destroy
      Src: /src/pldm/common/transport.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: PldmTransport::~PldmTransport()
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 0
    functionsReached:
    - transport_impl_destroy
    linkageType: ''
    returnType: void
    signature: void PldmTransport::~PldmTransport()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: PldmTransport::getEventSource
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PldmTransport::getEventSource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_send_msg
      Src: /src/pldm/common/transport.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tid
    - tx
    - len
    argTypes:
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: PldmTransport::sendMsg
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 4
    functionsReached:
    - pldm_transport_send_msg
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t PldmTransport::sendMsg(pldm_tid_t tid, const void*
      tx,\n                                           size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_recv_msg
      Src: /src/pldm/common/transport.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' tid'
    - ' rx'
    - ' len'
    argTypes:
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: PldmTransport::recvMsg
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 4
    functionsReached:
    - pldm_transport_recv_msg
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t PldmTransport::recvMsg(pldm_tid_t& tid, void*&
      rx,\n                                           size_t& len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_send_recv_msg
      Src: /src/pldm/common/transport.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tid
    - tx
    - txLen
    - ' rx'
    - ' rxLen'
    argTypes:
    - pldm_tid_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: PldmTransport::sendRecvMsg
    functionSourceFile: /src/pldm/common/transport.cpp
    functionUses: 1
    functionsReached:
    - pldm_transport_send_recv_msg
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t PldmTransport::sendRecvMsg(\n    pldm_tid_t tid,
      const void* tx, size_t txLen, void*& rx, size_t& rxLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(const CustomFD&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(CustomFD&&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/pldm/common/utils.hpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: ~CustomFD()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~CustomFD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()() const
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - decimal
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: pldm::utils::decimalToBcd
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T decimalToBcd(T decimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~DBusHandlerInterface()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBusHandlerInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/common/utils.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '& getBus()'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::bus::new_default
    linkageType: ''
    returnType: auto
    signature: auto & getBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getDbusPropertyVariant
      Src: /src/pldm/common/utils.hpp:383,1
    - Dst: std::get<Property>
      Src: /src/pldm/common/utils.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: pldm::utils::DBusHandler::getDbusProperty
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - std::get<Property>
    - pldm::utils::DBusHandler::getDbusPropertyVariant
    linkageType: ''
    returnType: auto
    signature: "auto getDbusProperty(const char* objPath, const char* dbusProp,\n
      \                        const char* dbusInterface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/common/utils.hpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: pldm::utils::DBusHandler::getInventoryObjects
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: auto
    signature: auto & getInventoryObjects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::parent_path
      Src: /src/pldm/common/utils.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbusObj'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: pldm::utils::findParent
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - fs::path::parent_path
    linkageType: ''
    returnType: std::string
    signature: std::string findParent(const std::string& dbusObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.hpp:722,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.hpp:725,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.hpp:727,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.hpp:728,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.hpp:730,1
    - Dst: call
      Src: /src/pldm/common/utils.hpp:731,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.hpp:732,1
    - Dst: std::get_if<T>
      Src: /src/pldm/common/utils.hpp:733,1
    - Dst: info
      Src: /src/pldm/common/utils.hpp:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dbusAttrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 745
    functionName: pldm::utils::getBiosAttrValue
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - info
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - std::get_if<T>
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getBiosAttrValue(const std::string& dbusAttrName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: '& operator=(const MMapHandler&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: '& operator=(MMapHandler&& other)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(const CustomFD&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(CustomFD&&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/pldm/common/utils.hpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: ~CustomFD()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~CustomFD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()() const
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - decimal
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: pldm::utils::decimalToBcd
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T decimalToBcd(T decimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~DBusHandlerInterface()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBusHandlerInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/common/utils.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '& getBus()'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::bus::new_default
    linkageType: ''
    returnType: auto
    signature: auto & getBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getDbusPropertyVariant
      Src: /src/pldm/common/utils.hpp:383,1
    - Dst: std::get<Property>
      Src: /src/pldm/common/utils.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: pldm::utils::DBusHandler::getDbusProperty
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - std::get<Property>
    - pldm::utils::DBusHandler::getDbusPropertyVariant
    linkageType: ''
    returnType: auto
    signature: "auto getDbusProperty(const char* objPath, const char* dbusProp,\n
      \                        const char* dbusInterface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/common/utils.hpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: pldm::utils::DBusHandler::getInventoryObjects
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: auto
    signature: auto & getInventoryObjects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::parent_path
      Src: /src/pldm/common/utils.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbusObj'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: pldm::utils::findParent
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - fs::path::parent_path
    linkageType: ''
    returnType: std::string
    signature: std::string findParent(const std::string& dbusObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.hpp:722,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.hpp:725,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.hpp:727,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.hpp:728,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.hpp:730,1
    - Dst: call
      Src: /src/pldm/common/utils.hpp:731,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.hpp:732,1
    - Dst: std::get_if<T>
      Src: /src/pldm/common/utils.hpp:733,1
    - Dst: info
      Src: /src/pldm/common/utils.hpp:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dbusAttrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 745
    functionName: pldm::utils::getBiosAttrValue
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - info
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - std::get_if<T>
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getBiosAttrValue(const std::string& dbusAttrName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: '& operator=(const MMapHandler&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: '& operator=(MMapHandler&& other)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(const CustomFD&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(CustomFD&&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/pldm/common/utils.hpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: ~CustomFD()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~CustomFD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()() const
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - decimal
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: pldm::utils::decimalToBcd
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T decimalToBcd(T decimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~DBusHandlerInterface()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBusHandlerInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/common/utils.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '& getBus()'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::bus::new_default
    linkageType: ''
    returnType: auto
    signature: auto & getBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getDbusPropertyVariant
      Src: /src/pldm/common/utils.hpp:383,1
    - Dst: std::get<Property>
      Src: /src/pldm/common/utils.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: pldm::utils::DBusHandler::getDbusProperty
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - std::get<Property>
    - pldm::utils::DBusHandler::getDbusPropertyVariant
    linkageType: ''
    returnType: auto
    signature: "auto getDbusProperty(const char* objPath, const char* dbusProp,\n
      \                        const char* dbusInterface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/common/utils.hpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: pldm::utils::DBusHandler::getInventoryObjects
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: auto
    signature: auto & getInventoryObjects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::parent_path
      Src: /src/pldm/common/utils.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbusObj'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: pldm::utils::findParent
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - fs::path::parent_path
    linkageType: ''
    returnType: std::string
    signature: std::string findParent(const std::string& dbusObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.hpp:722,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.hpp:725,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.hpp:727,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.hpp:728,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.hpp:730,1
    - Dst: call
      Src: /src/pldm/common/utils.hpp:731,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.hpp:732,1
    - Dst: std::get_if<T>
      Src: /src/pldm/common/utils.hpp:733,1
    - Dst: info
      Src: /src/pldm/common/utils.hpp:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dbusAttrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 745
    functionName: pldm::utils::getBiosAttrValue
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - info
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - std::get_if<T>
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getBiosAttrValue(const std::string& dbusAttrName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: '& operator=(const MMapHandler&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: '& operator=(MMapHandler&& other)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(const CustomFD&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(const CustomFD&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(CustomFD&&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomFD
    signature: CustomFD & operator=(CustomFD&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::utils::CustomFD
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomFD(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/pldm/common/utils.hpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: ~CustomFD()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~CustomFD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator()() const
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator()() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - decimal
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: pldm::utils::decimalToBcd
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T decimalToBcd(T decimal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~DBusHandlerInterface()
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DBusHandlerInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/common/utils.hpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: '& getBus()'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::bus::new_default
    linkageType: ''
    returnType: auto
    signature: auto & getBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getDbusPropertyVariant
      Src: /src/pldm/common/utils.hpp:383,1
    - Dst: std::get<Property>
      Src: /src/pldm/common/utils.hpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - objPath
    - dbusProp
    - dbusInterface
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: pldm::utils::DBusHandler::getDbusProperty
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - std::get<Property>
    - pldm::utils::DBusHandler::getDbusPropertyVariant
    linkageType: ''
    returnType: auto
    signature: "auto getDbusProperty(const char* objPath, const char* dbusProp,\n
      \                        const char* dbusInterface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getManagedObj
      Src: /src/pldm/common/utils.hpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: pldm::utils::DBusHandler::getInventoryObjects
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - pldm::utils::DBusHandler::getManagedObj
    linkageType: ''
    returnType: auto
    signature: auto & getInventoryObjects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::parent_path
      Src: /src/pldm/common/utils.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dbusObj'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: pldm::utils::findParent
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - fs::path::parent_path
    linkageType: ''
    returnType: std::string
    signature: std::string findParent(const std::string& dbusObj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getBus
      Src: /src/pldm/common/utils.hpp:722,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/common/utils.hpp:725,1
    - Dst: new_method_call
      Src: /src/pldm/common/utils.hpp:727,1
    - Dst: auto::c_str
      Src: /src/pldm/common/utils.hpp:728,1
    - Dst: auto::append
      Src: /src/pldm/common/utils.hpp:730,1
    - Dst: call
      Src: /src/pldm/common/utils.hpp:731,1
    - Dst: auto::read
      Src: /src/pldm/common/utils.hpp:732,1
    - Dst: std::get_if<T>
      Src: /src/pldm/common/utils.hpp:733,1
    - Dst: info
      Src: /src/pldm/common/utils.hpp:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' dbusAttrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 745
    functionName: pldm::utils::getBiosAttrValue
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached:
    - DBusHandler::getBus
    - call
    - info
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - auto::read
    - new_method_call
    - std::get_if<T>
    linkageType: ''
    returnType: std::optional<T>
    signature: std::optional<T> getBiosAttrValue(const std::string& dbusAttrName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: '& operator=(const MMapHandler&)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(const MMapHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: pldm::utils::MMapHandler::MMapHandler
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MMapHandler(MMapHandler&& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MMapHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 798
    functionName: '& operator=(MMapHandler&& other)'
    functionSourceFile: /src/pldm/common/utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MMapHandler
    signature: MMapHandler & operator=(MMapHandler&& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlightRecorderCassette
      Src: /src/pldm/common/flight_recorder.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - FlightRecorderCassette
    linkageType: ''
    returnType: void
    signature: void FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const FlightRecorder&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(FlightRecorder&&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~FlightRecorder()
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& GetInstance()'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & GetInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/pldm/common/flight_recorder.hpp:78,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/common/flight_recorder.hpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' buffer'
    - isRequest
    argTypes:
    - FlightRecorderData
    - ReqOrResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pldm::flightrecorder::FlightRecorder::saveRecord
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: void
    signature: void saveRecord(const FlightRecorderData& buffer, ReqOrResponse isRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/common/flight_recorder.hpp:95,1
    - Dst: std::get<FlightRecorderTimeStamp>
      Src: /src/pldm/common/flight_recorder.hpp:100,1
    - Dst: std::get<ReqOrResponse>
      Src: /src/pldm/common/flight_recorder.hpp:101,1
    - Dst: std::get<FlightRecorderData>
      Src: /src/pldm/common/flight_recorder.hpp:109,1
    - Dst: std::setfill
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::setw
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::ofstream::close
      Src: /src/pldm/common/flight_recorder.hpp:116,1
    - Dst: error
      Src: /src/pldm/common/flight_recorder.hpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: pldm::flightrecorder::FlightRecorder::playRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - error
    - std::setw
    - std::get<FlightRecorderTimeStamp>
    - std::get<FlightRecorderData>
    - std::get<ReqOrResponse>
    - info
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void playRecorder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlightRecorderCassette
      Src: /src/pldm/common/flight_recorder.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - FlightRecorderCassette
    linkageType: ''
    returnType: void
    signature: void FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const FlightRecorder&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(FlightRecorder&&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~FlightRecorder()
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& GetInstance()'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & GetInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/pldm/common/flight_recorder.hpp:78,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/common/flight_recorder.hpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' buffer'
    - isRequest
    argTypes:
    - FlightRecorderData
    - ReqOrResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pldm::flightrecorder::FlightRecorder::saveRecord
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: void
    signature: void saveRecord(const FlightRecorderData& buffer, ReqOrResponse isRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/common/flight_recorder.hpp:95,1
    - Dst: std::get<FlightRecorderTimeStamp>
      Src: /src/pldm/common/flight_recorder.hpp:100,1
    - Dst: std::get<ReqOrResponse>
      Src: /src/pldm/common/flight_recorder.hpp:101,1
    - Dst: std::get<FlightRecorderData>
      Src: /src/pldm/common/flight_recorder.hpp:109,1
    - Dst: std::setfill
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::setw
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::ofstream::close
      Src: /src/pldm/common/flight_recorder.hpp:116,1
    - Dst: error
      Src: /src/pldm/common/flight_recorder.hpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: pldm::flightrecorder::FlightRecorder::playRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - error
    - std::setw
    - std::get<FlightRecorderTimeStamp>
    - std::get<FlightRecorderData>
    - std::get<ReqOrResponse>
    - info
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void playRecorder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlightRecorderCassette
      Src: /src/pldm/common/flight_recorder.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - FlightRecorderCassette
    linkageType: ''
    returnType: void
    signature: void FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const FlightRecorder&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(FlightRecorder&&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~FlightRecorder()
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& GetInstance()'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & GetInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/pldm/common/flight_recorder.hpp:78,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/common/flight_recorder.hpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' buffer'
    - isRequest
    argTypes:
    - FlightRecorderData
    - ReqOrResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pldm::flightrecorder::FlightRecorder::saveRecord
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: void
    signature: void saveRecord(const FlightRecorderData& buffer, ReqOrResponse isRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/common/flight_recorder.hpp:95,1
    - Dst: std::get<FlightRecorderTimeStamp>
      Src: /src/pldm/common/flight_recorder.hpp:100,1
    - Dst: std::get<ReqOrResponse>
      Src: /src/pldm/common/flight_recorder.hpp:101,1
    - Dst: std::get<FlightRecorderData>
      Src: /src/pldm/common/flight_recorder.hpp:109,1
    - Dst: std::setfill
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::setw
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::ofstream::close
      Src: /src/pldm/common/flight_recorder.hpp:116,1
    - Dst: error
      Src: /src/pldm/common/flight_recorder.hpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: pldm::flightrecorder::FlightRecorder::playRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - error
    - std::setw
    - std::get<FlightRecorderTimeStamp>
    - std::get<FlightRecorderData>
    - std::get<ReqOrResponse>
    - info
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void playRecorder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlightRecorderCassette
      Src: /src/pldm/common/flight_recorder.hpp:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - FlightRecorderCassette
    linkageType: ''
    returnType: void
    signature: void FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::flightrecorder::FlightRecorder::FlightRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlightRecorder(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const FlightRecorder&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(const FlightRecorder&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(FlightRecorder&&)'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & operator=(FlightRecorder&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~FlightRecorder()
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlightRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '& GetInstance()'
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FlightRecorder
    signature: FlightRecorder & GetInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/pldm/common/flight_recorder.hpp:78,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/common/flight_recorder.hpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' buffer'
    - isRequest
    argTypes:
    - FlightRecorderData
    - ReqOrResponse
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pldm::flightrecorder::FlightRecorder::saveRecord
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: void
    signature: void saveRecord(const FlightRecorderData& buffer, ReqOrResponse isRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/common/flight_recorder.hpp:95,1
    - Dst: std::get<FlightRecorderTimeStamp>
      Src: /src/pldm/common/flight_recorder.hpp:100,1
    - Dst: std::get<ReqOrResponse>
      Src: /src/pldm/common/flight_recorder.hpp:101,1
    - Dst: std::get<FlightRecorderData>
      Src: /src/pldm/common/flight_recorder.hpp:109,1
    - Dst: std::setfill
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::setw
      Src: /src/pldm/common/flight_recorder.hpp:111,1
    - Dst: std::ofstream::close
      Src: /src/pldm/common/flight_recorder.hpp:116,1
    - Dst: error
      Src: /src/pldm/common/flight_recorder.hpp:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: pldm::flightrecorder::FlightRecorder::playRecorder
    functionSourceFile: /src/pldm/common/flight_recorder.hpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - error
    - std::setw
    - std::get<FlightRecorderTimeStamp>
    - std::get<FlightRecorderData>
    - std::get<ReqOrResponse>
    - info
    - std::ofstream::close
    linkageType: ''
    returnType: void
    signature: void playRecorder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - DBusMapping
    - DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: operator==(const DBusMapping& lhs, const DBusMapping& rhs)
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - DBusMapping
    - DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: operator==(const DBusMapping& lhs, const DBusMapping& rhs)
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - DBusMapping
    - DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: operator==(const DBusMapping& lhs, const DBusMapping& rhs)
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - DBusMapping
    - DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: operator==(const DBusMapping& lhs, const DBusMapping& rhs)
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: GetManagedEmptyObject::getManagedObj
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::utils::ObjectValueTree
    signature: "pldm::utils::ObjectValueTree getManagedObj(const char* /*service*/,\n
      \                                                     const char* /*path*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/common/test/mocked_utils.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: GetManagedObject::getManagedObj
    functionSourceFile: /src/pldm/common/test/mocked_utils.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::object_path
    linkageType: ''
    returnType: pldm::utils::ObjectValueTree
    signature: "pldm::utils::ObjectValueTree getManagedObj(const char* /*service*/,\n
      \                                                     const char* /*path*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:13,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:13,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:14,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:14,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:15,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:15,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:16,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getNumPadBytes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumPadBytesTest, NoPaddingNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:21,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:21,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:22,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:22,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:23,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getNumPadBytes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumPadBytesTest, OneBytePadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:28,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:28,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:29,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:29,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:30,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getNumPadBytes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumPadBytesTest, TwoBytesPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:35,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:35,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:36,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:36,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:37,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getNumPadBytes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumPadBytesTest, ThreeBytesPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:42,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:42,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:43,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:43,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:44,1
    - Dst: getNumPadBytes
      Src: /src/pldm/common/test/pldm_utils_test.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getNumPadBytes
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumPadBytesTest, LargeValues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getInventoryObjects<GetManagedEmptyObject>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:50,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:51,1
    - Dst: ObjectValueTree::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ObjectValueTree::empty
    - DBusHandler::getInventoryObjects<GetManagedEmptyObject>
    linkageType: ''
    returnType: void
    signature: void TEST(GetInventoryObjects, testForEmptyObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBusHandler::getInventoryObjects<GetManagedObject>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:59,1
    - Dst: begin
      Src: /src/pldm/common/test/pldm_utils_test.cpp:59,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:61,1
    - Dst: std::string
      Src: /src/pldm/common/test/pldm_utils_test.cpp:61,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:63,1
    - Dst: std::string
      Src: /src/pldm/common/test/pldm_utils_test.cpp:63,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:64,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:64,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:66,1
    - Dst: std::string
      Src: /src/pldm/common/test/pldm_utils_test.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DBusHandler::getInventoryObjects<GetManagedObject>
    - EXPECT_FALSE
    - EXPECT_EQ
    - auto::empty
    - std::get<std::string>
    - std::get<bool>
    - begin
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST(GetInventoryObjects, testForObject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:73,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:74,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:74,1
    - Dst: printBuffer
      Src: /src/pldm/common/test/pldm_utils_test.cpp:75,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:76,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:77,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:77,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:78,1
    - Dst: std::ostringstream::clear
      Src: /src/pldm/common/test/pldm_utils_test.cpp:79,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:80,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:82,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:82,1
    - Dst: printBuffer
      Src: /src/pldm/common/test/pldm_utils_test.cpp:83,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:85,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::rdbuf
    - std::ostringstream::clear
    - EXPECT_EQ
    - std::ostringstream::str
    - printBuffer
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void TEST(printBuffer, testprintBufferGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:92,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:93,1
    - Dst: std::ostringstream::rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:93,1
    - Dst: printBuffer
      Src: /src/pldm/common/test/pldm_utils_test.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:95,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:95,1
    - Dst: printBuffer
      Src: /src/pldm/common/test/pldm_utils_test.cpp:96,1
    - Dst: rdbuf
      Src: /src/pldm/common/test/pldm_utils_test.cpp:97,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:98,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/common/test/pldm_utils_test.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::rdbuf
    - EXPECT_EQ
    - std::ostringstream::str
    - printBuffer
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void TEST(printBuffer, testprintBufferBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uintToDate
      Src: /src/pldm/common/test/pldm_utils_test.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - uintToDate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeDate, testGooduintToDate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uintToDate
      Src: /src/pldm/common/test/pldm_utils_test.cpp:141,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - uintToDate
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeDate, testBaduintToDate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseEffecterData
      Src: /src/pldm/common/test/pldm_utils_test.cpp:154,1
    - Dst: EXPECT_NE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:155,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:156,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/common/test/pldm_utils_test.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - EXPECT_NE
    - auto::value
    - parseEffecterData
    linkageType: ''
    returnType: void
    signature: void TEST(parseEffecterData, testGoodDecodeEffecterData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseEffecterData
      Src: /src/pldm/common/test/pldm_utils_test.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - parseEffecterData
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(parseEffecterData, testBadDecodeEffecterData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:177,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:186,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:186,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:188,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:199,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:199,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:199,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:199,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:201,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:203,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 206
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testOneMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:210,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:219,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:219,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:232,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:232,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:232,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:236,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:236,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::empty
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:243,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:254,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:254,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_destroy
    - EXPECT_EQ
    - auto::empty
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testEmptyRepo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:261,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:268,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:268,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:270,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:281,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:281,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:281,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:281,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:287,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:287,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:289,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:301,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:301,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:301,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:301,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:311,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 314
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testMoreMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:318,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:327,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:327,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:329,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:340,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:340,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:340,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:340,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:346,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:346,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:348,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:360,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:360,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:360,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:360,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:366,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:366,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 369
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::empty
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testManyNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:373,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:382,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:382,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:384,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:395,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:395,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:395,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:395,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:401,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:401,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:415,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:415,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:415,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:415,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:419,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:421,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:422,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:422,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 425
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testOneMatchOneNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:429,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:438,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:438,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:440,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:451,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:451,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:451,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:451,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:457,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:457,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:459,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:471,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:471,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:471,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:479,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:479,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:481,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:492,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:494,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:495,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:495,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 498
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testOneMatchManyNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:502,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:511,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:511,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:514,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:526,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:532,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:537,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:537,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:537,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:537,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:539,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:541,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 544
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testCompositeEffecter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:548,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:557,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:557,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:560,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:572,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:578,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:583,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:583,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:583,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:583,1
    - Dst: findStateEffecterPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:585,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:587,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:587,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 590
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::empty
    - std::vector::size
    - findStateEffecterPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateEffecterPDR, testNoMatchCompositeEffecter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:594,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:603,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:603,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:605,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:616,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:616,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:616,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:616,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:618,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:620,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 623
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testOneMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:627,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:636,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:636,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:649,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:649,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:649,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:649,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:653,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:653,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 656
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - auto::empty
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:660,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:669,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:671,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:671,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 674
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_destroy
    - EXPECT_EQ
    - auto::empty
    - findStateSensorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testEmptyRepo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:678,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:685,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:685,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:687,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:698,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:698,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:698,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:698,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:704,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:704,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:706,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:718,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:718,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:718,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:718,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:725,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:727,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:728,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 731
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testMoreMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:735,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:744,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:744,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:757,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:757,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:757,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:757,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:763,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:763,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:777,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:777,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:777,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:777,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:781,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:783,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:783,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 786
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - auto::empty
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testManyNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:790,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:799,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:799,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:801,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:812,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:812,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:812,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:812,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:818,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:818,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:820,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:832,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:832,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:832,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:832,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:836,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:838,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:839,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:839,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 842
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - pldm_pdr_destroy
    - auto::size
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testOneMatchOneNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:846,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:855,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:855,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:857,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:868,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:868,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:868,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:868,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:874,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:874,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:876,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:888,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:888,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:888,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:888,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:896,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:896,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:898,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:909,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:911,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:912,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:912,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 915
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - pldm_pdr_destroy
    - auto::size
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testOneMatchManyNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:919,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:928,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:928,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:931,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:943,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:950,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:956,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:956,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:956,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:956,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:958,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:960,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 963
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testCompositeSensor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:967,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:976,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:976,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:979,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:991,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:997,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1002,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1002,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1002,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1002,1
    - Dst: findStateSensorPDR
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1004,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1006,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1006,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1009
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - findStateSensorPDR
    - auto::empty
    - pldm_pdr_destroy
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FindStateSensorPDR, testNoMatchCompositeSensor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1015,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1016,1
    - Dst: std::array::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1021,1
    - Dst: std::array::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1022,1
    - Dst: toString
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1023,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1024,1
    - Dst: std::array::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1030,1
    - Dst: std::array::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1031,1
    - Dst: toString
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1032,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1034
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - toString
    - std::array::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(toString, allTestCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1039,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1040,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1041,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1042,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1043,1
    - Dst: split
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1046,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1047,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1048,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1049,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1050,1
    - Dst: split
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1053,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1054,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1055,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1056,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1057,1
    - Dst: split
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1060,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1061,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1062,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1063,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1064,1
    - Dst: split
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1067,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1069
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - split
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Split, allTestCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1073,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1074,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1075,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1076,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1077,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1078,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1080,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1081,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1082,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1084,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1085,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1086,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1088,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1089,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1090,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1091,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1092,1
    - Dst: isValidEID
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1093,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1095
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - isValidEID
    linkageType: ''
    returnType: void
    signature: void TEST(ValidEID, allTestCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trimNameForDbus
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1101,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1102,1
    - Dst: trimNameForDbus
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1105,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1107
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - trimNameForDbus
    linkageType: ''
    returnType: void
    signature: void TEST(TrimNameForDbus, goodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1113,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1113,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1114,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1115,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1117,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1117,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1118,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1119,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1120,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1120,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1122,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1123,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1124,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1124,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1126,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1127,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1128,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1128,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1130,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1131,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1132,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1133,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1134,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1135,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1136,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1137,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1138,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1139,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1140,1
    - Dst: static_cast<double>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1140,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1142,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1144
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - static_cast<uint64_t>
    - EXPECT_EQ
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - dbusPropValuesToDouble
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: void TEST(dbusPropValuesToDouble, goodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1148,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1151,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1151,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1152,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1154,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1154,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1156,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1157,1
    - Dst: static_cast<bool>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1157,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1158,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1159,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1160,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1161,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1162,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1163,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1164,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1166,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1166,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1168,1
    - Dst: dbusPropValuesToDouble
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1170,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1170,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1173
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - EXPECT_EQ
    - static_cast<uint16_t>
    - std::numeric_limits<double>::quiet_NaN
    - dbusPropValuesToDouble
    - static_cast<std::string>
    linkageType: ''
    returnType: void
    signature: void TEST(dbusPropValuesToDouble, badTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fruFieldValuestring
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1179,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1179,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1179,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1181
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - fruFieldValuestring
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FruFieldValuestring, goodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fruFieldValuestring
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1186,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1187,1
    - Dst: fruFieldValuestring
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1188,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1188,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1190
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - fruFieldValuestring
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FruFieldValuestring, BadTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fruFieldParserU32
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1196,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1196,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1196,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1197,1
    - Dst: auto::value
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1198
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - fruFieldParserU32
    - std::vector::data
    - EXPECT_EQ
    - auto::value
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(fruFieldParserU32, goodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fruFieldParserU32
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1203,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1203,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1203,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1204,1
    - Dst: fruFieldParserU32
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1205,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1205,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1207
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - fruFieldParserU32
    - std::vector::data
    - std::vector::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(fruFieldParserU32, BadTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1211,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1211,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1212,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1212,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1213,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1213,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1214,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1214,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1217,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1217,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1218,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1218,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1219,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1219,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1220,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1221
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - checkIfLogicalBitSet
    - EXPECT_FALSE
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(CheckIfLogicalBitSet, allTestCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1226,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1226,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1227,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1227,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1228,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1228,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1231,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1231,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1232,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1232,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1233,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1233,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1236,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1236,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1237,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1237,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1238,1
    - Dst: decimalToBcd
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1238,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1241,1
    - Dst: decimalToBcd<uint8_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1241,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1242,1
    - Dst: decimalToBcd<uint16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1242,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1243,1
    - Dst: decimalToBcd<uint32_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1244
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - decimalToBcd<uint32_t>
    - decimalToBcd
    - EXPECT_EQ
    - decimalToBcd<uint8_t>
    - decimalToBcd<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(DecimalToBcd, allTestCases)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1249,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1250,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1251
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<uint8_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, uint8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1256,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1257,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1258
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - EXPECT_EQ
    - std::get<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, uint16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1263,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1264,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<uint32_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, uint32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1270,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1271,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1272
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - std::get<uint64_t>
    - jsonEntryToDbusVal
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, uint64Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1278,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1279
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<int16_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, int16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1285,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1286
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<int32_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, int32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1291,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1292,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1293
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<int64_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, int64Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1298,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1299,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1299,1
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1302,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1303,1
    - Dst: std::get<bool>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1304
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<bool>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, boolTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1309,1
    - Dst: EXPECT_DOUBLE_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1310,1
    - Dst: std::get<double>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<double>
    - EXPECT_DOUBLE_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, doubleTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1316,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1317,1
    - Dst: std::get<std::string>
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - std::get<std::string>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JsonEntryToDbusVal, stringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1322,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1329,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1329,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1330,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1340,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1340,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1340,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1347,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1347,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1348,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1358,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1358,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1358,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1358,1
    - Dst: getStateSensorPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1361,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1362,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1362,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1365
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - getStateSensorPDRsByType
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_pdr_destroy
    - auto::size
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorPDRsByType, testMultipleMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1369,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1375,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1375,1
    - Dst: state_sensor_possible_states::state_sensor_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1376,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1386,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1386,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1386,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1386,1
    - Dst: getStateSensorPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1388,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1389,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1389,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1392
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - getStateSensorPDRsByType
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - ASSERT_EQ
    - pldm_pdr_destroy
    - auto::empty
    - state_sensor_possible_states::state_sensor_possible_states
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorPDRsByType, testNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1396,1
    - Dst: getStateSensorPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1398,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1399,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1399,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1402
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - getStateSensorPDRsByType
    - pldm_pdr_init
    - pldm_pdr_destroy
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorPDRsByType, testEmptyRepo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1406,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1414,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1414,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1415,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1425,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1426,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1426,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1426,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1433,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1433,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1434,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1444,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1445,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1445,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1445,1
    - Dst: getStateEffecterPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1448,1
    - Dst: auto::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1448,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1451
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - getStateEffecterPDRsByType
    - EXPECT_EQ
    - auto::size
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterPDRsByType, testMultipleMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1455,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1461,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1461,1
    - Dst: state_effecter_possible_states::state_effecter_possible_states
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1462,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1472,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1472,1
    - Dst: std::vector::data
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1472,1
    - Dst: std::vector::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1472,1
    - Dst: getStateEffecterPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1475,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1476,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1476,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1479
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - state_effecter_possible_states::state_effecter_possible_states
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - getStateEffecterPDRsByType
    - auto::empty
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterPDRsByType, testNoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1483,1
    - Dst: getStateEffecterPDRsByType
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1485,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1487,1
    - Dst: auto::empty
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1487,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1490
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - pldm_pdr_init
    - pldm_pdr_destroy
    - getStateEffecterPDRsByType
    - auto::empty
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterPDRsByType, testEmptyRepo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generateSwId
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1497,1
    - Dst: EXPECT_GE
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1498,1
    - Dst: EXPECT_LT
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1499,1
    - Dst: std::set::insert
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1506,1
    - Dst: generateSwId
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1506,1
    - Dst: EXPECT_GT
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1509,1
    - Dst: std::set::size
      Src: /src/pldm/common/test/pldm_utils_test.cpp:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1510
    functionName: TEST
    functionSourceFile: /src/pldm/common/test/pldm_utils_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - std::set::size
    - std::set::insert
    - EXPECT_GE
    - EXPECT_GT
    - generateSwId
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateSwId, testRandomness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 5
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::responder::pdr_utils::Repo::getPdr
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: pldm_pdr
    signature: pldm_pdr * Repo::getPdr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:39,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr_utils::Repo::addRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pldm_pdr_add
    linkageType: ''
    returnType: RecordHandle
    signature: RecordHandle Repo::addRecord(const PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdrEntry'
    argTypes:
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: pldm::responder::pdr_utils::Repo::getFirstRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: pldm_pdr_record * Repo::getFirstRecord(PdrEntry& pdrEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_next_record
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - currRecord
    - ' pdrEntry'
    argTypes:
    - pldm_pdr_record*
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: pldm::responder::pdr_utils::Repo::getNextRecord
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_next_record
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * Repo::getNextRecord(const pldm_pdr_record* currRecord,\n
      \                                          PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pldm::responder::pdr_utils::Repo::getRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm::responder::pdr_utils::Repo::getPdr
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordHandle(const pldm_pdr_record* record) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_record_count
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    - Dst: pldm::responder::pdr_utils::Repo::getPdr
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pldm::responder::pdr_utils::Repo::getRecordCount
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 7
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getPdr
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Repo::getRecordCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::responder::pdr_utils::Repo::empty
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::pdr_utils::Repo::getRecordCount
    linkageType: ''
    returnType: bool
    signature: bool Repo::empty()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:102,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:105,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:113,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:117,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:121,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:125,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:129,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:133,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:137,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:141,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:145,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:149,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:153,1
    - Dst: StatestoDbusVal::emplace
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ' type'
    - ' dBusValues'
    - ' pv'
    argTypes:
    - std::string
    - Json
    - PossibleValues
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 161
    functionName: pldm::responder::pdr_utils::populateMapping
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - size
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - StatestoDbusVal::emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: StatestoDbusVal
    signature: "StatestoDbusVal populateMapping(const std::string& type, const Json&
      dBusValues,\n                                const PossibleValues& pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:167,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:176,1
    - Dst: PossibleStates::insert
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:185,1
    - Dst: std::for_each
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:190,1
    - Dst: CompositeSensorStates::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:194,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:195,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<ContainerID>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:205,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:206,1
    - Dst: static_cast<EntityInstance>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:207,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:209,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:210,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' stateSensorPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: pldm::responder::pdr_utils::parseStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - static_cast<ContainerID>
    - std::for_each
    - data
    - CompositeSensorStates::emplace_back
    - PossibleStates::insert
    - static_cast<EntityInstance>
    - std::move
    - std::vector::emplace_back
    - static_cast<EntityType>
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: std::tuple<TerminusHandle, SensorID, SensorInfo>
    signature: "std::tuple<TerminusHandle, SensorID, SensorInfo> parseStateSensorPDR(\n
      \   const std::vector<uint8_t>& stateSensorPdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:223,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:237,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:244,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:246,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:257,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:263,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:267,1
    - Dst: FruTLV::fruFieldValue::assign
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:275,1
    - Dst: FruRecordDataFormat::fruTLV::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:277,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_utils.cpp:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 285
    functionName: pldm::responder::pdr_utils::parseFruRecordTable
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - error
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - FruRecordDataFormat::fruTLV::push_back
    - std::move
    - std::vector::push_back
    - FruTLV::fruFieldValue::assign
    linkageType: ''
    returnType: std::vector<FruRecordDataFormat>
    signature: "std::vector<FruRecordDataFormat> parseFruRecordTable(const uint8_t*
      fruData,\n                                                     size_t fruLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 306
    functionName: pldm::responder::pdr_utils::getEffecterDataSize
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 2
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 4
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 6
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 8
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 10
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 12
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 14
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/libpldmresponder/platform_config.cpp:29,1
    - Dst: pldm::utils::InterfaceMap::contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:31,1
    - Dst: pldm::utils::InterfaceMap::at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:38,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_config.cpp:40,1
    - Dst: std::get<pldm::utils::Interfaces>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:45,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_config.cpp:46,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:48,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:51,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:52,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:54,1
    - Dst: sysTypeCallback
      Src: /src/pldm/libpldmresponder/platform_config.cpp:58,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:62,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: pldm::responder::platform_config::Handler::systemCompatibleCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - at
    - sysTypeCallback
    - contains
    - auto::empty
    - std::optional::has_value
    - reset
    - std::get<pldm::utils::Interfaces>
    - pldm::utils::InterfaceMap::at
    - read
    - std::optional::value
    - pldm::utils::InterfaceMap::contains
    linkageType: ''
    returnType: void
    signature: void Handler::systemCompatibleCallback(sdbusplus::message_t& msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:74,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/platform_config.cpp:91,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.cpp:93,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/platform_config.cpp:99,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:100,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform_config.cpp:103,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/platform_config.cpp:106,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/platform_config.cpp:108,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/platform_config.cpp:112,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/platform_config.cpp:114,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:116,1
    - Dst: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
      Src: /src/pldm/libpldmresponder/platform_config.cpp:119,1
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform_config.cpp:121,1
    - Dst: std::optional::has_value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:122,1
    - Dst: std::optional::value
      Src: /src/pldm/libpldmresponder/platform_config.cpp:124,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:132,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_config.cpp:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 146
    functionName: pldm::responder::platform_config::Handler::getPlatformName
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    - std::string::c_str
    - auto::append
    - std::get<std::vector<std::string>>
    - c_str
    - error
    - auto::empty
    - call
    - std::optional::has_value
    - std::find_if
    - reset
    - pldm::utils::DBusHandler
    - end
    - std::optional::value
    - new_method_call
    - begin
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: std::optional<std::filesystem::path> Handler::getPlatformName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_config.cpp:157,1
    - Dst: is_directory
      Src: /src/pldm/libpldmresponder/platform_config.cpp:167,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform_config.cpp:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ' dirPath'
    - ' dirNames'
    argTypes:
    - fs::path
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_config::Handler::getSysSpecificJsonDir
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 16
    functionsReached:
    - empty
    - is_directory
    - path
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> Handler::getSysSpecificJsonDir(\n    const
      fs::path& dirPath, const std::vector<std::string>& dirNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - SystemTypeCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pldm::responder::platform_config::Handler::registerSystemTypeCallback
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler::registerSystemTypeCallback(SystemTypeCallback callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:16,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:17,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:22,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_attribute.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: pldm::responder::bios::BIOSAttribute::BIOSAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: void
    signature: "void BIOSAttribute::BIOSAttribute(const Json& entry,\n                             DBusHandler*
      const dbusHandler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSAttribute::getDBusMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> BIOSAttribute::getDBusMap()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:71,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.hpp:72,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:76,1
    - Dst: pldm::responder::platform::Handler::getPDR
      Src: /src/pldm/libpldmresponder/platform.hpp:79,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:81,1
    - Dst: pldm::responder::platform::Handler::setNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:86,1
    - Dst: pldm::responder::platform::Handler::getNumericEffecterValue
      Src: /src/pldm/libpldmresponder/platform.hpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:91,1
    - Dst: pldm::responder::platform::Handler::setStateEffecterStates
      Src: /src/pldm/libpldmresponder/platform.hpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:96,1
    - Dst: pldm::responder::platform::Handler::platformEventMessage
      Src: /src/pldm/libpldmresponder/platform.hpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:101,1
    - Dst: pldm::responder::platform::Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/platform.hpp:104,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:108,1
    - Dst: pldm::responder::platform::Handler::sensorEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:111,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:114,1
    - Dst: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/platform.hpp:117,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.hpp:126,1
    - Dst: auto::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:127,1
    - Dst: auto::end
      Src: /src/pldm/libpldmresponder/platform.hpp:128,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/platform.hpp:130,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/platform.hpp:131,1
    - Dst: auto::second::insert
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:133,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/platform.hpp:134,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/platform.hpp:135,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 11
    argNames:
    - dBusIntf
    - eid
    - instanceIdDb
    - ' pdrJsonDir'
    - repo
    - hostPDRHandler
    - dbusToPLDMEventHandler
    - fruHandler
    - platformConfigHandler
    - handler
    - ' event'
    argTypes:
    - pldm::utils::DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - fs::path
    - pldm_pdr*
    - HostPDRHandler*
    - pldm::state_sensor::DbusToPLDMEvent*
    - fru::Handler*
    - pldm::responder::platform_config::Handler*
    - pldm::requester::Handler<pldm::requester::Request>*
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 143
    functionName: pldm::responder::platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::platform::Handler::getPDR
    - find
    - auto::end
    - value
    - pldm::responder::platform::Handler::generate
    - auto::second::insert
    - pldm::responder::platform::Handler::setStateEffecterStates
    - pldm::responder::platform::Handler::platformEventMessage
    - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - pldm::responder::platform::Handler::getNumericEffecterValue
    - pldm::responder::platform::Handler::getStateSensorReadings
    - emplace_back
    - std::end
    - std::begin
    - pldm::responder::platform::Handler::setNumericEffecterValue
    - auto::begin
    - end
    - pldm::responder::platform::Handler::sensorEvent
    linkageType: ''
    returnType: void
    signature: "void Handler(const pldm::utils::DBusHandler* dBusIntf, uint8_t eid,\n
      \           pldm::InstanceIdDb* instanceIdDb, const fs::path& pdrJsonDir,\n
      \           pldm_pdr* repo, HostPDRHandler* hostPDRHandler,\n            pldm::state_sensor::DbusToPLDMEvent*
      dbusToPLDMEventHandler,\n            fru::Handler* fruHandler,\n            pldm::responder::platform_config::Handler*
      platformConfigHandler,\n            pldm::requester::Handler<pldm::requester::Request>*
      handler,\n            sdeventplus::Event& event, bool buildPDRLazily = false,\n
      \           const std::optional<EventMap>& addOnHandlersMap = std::nullopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: '& getRepo()'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdr_utils::Repo
    signature: pdr_utils::Repo & getRepo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pldm::responder::platform::Handler::getNextEffecterId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextEffecterId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pldm::responder::platform::Handler::getNextSensorId
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNextSensorId()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pldm::responder::platform::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/libpldmresponder/platform.hpp:231,1
    - Dst: second::emplace_back
      Src: /src/pldm/libpldmresponder/platform.hpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventId
    - handlers
    argTypes:
    - EventType
    - EventHandlers
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: pldm::responder::platform::Handler::registerEventHandlers
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: void registerEventHandlers(EventType eventId, EventHandlers handlers)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.hpp:353,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform.hpp:359,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.hpp:363,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.hpp:364,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform.hpp:365,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:367,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:372,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/platform.hpp:375,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.hpp:380,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:384,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:388,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:406,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:419,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform.hpp:436,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.hpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:443,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.hpp:452,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.hpp:456,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.hpp:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ' dBusIntf'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 468
    functionName: pldm::responder::platform::Handler::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - size
    - setDbusProperty
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - pldm::responder::pdr_utils::Repo::getNextRecord
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n        const DBusInterface& dBusIntf,
      uint16_t effecterId,\n        const std::vector<set_effecter_state_field>& stateField)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/platform.hpp:486,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/platform.hpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: '& getAssociateEntityMap() const'
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - InternalFailure
    - getAssociateEntityMap
    linkageType: ''
    returnType: AssociatedEntityMap
    signature: AssociatedEntityMap & getAssociateEntityMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateSensorCacheMaps
      Src: /src/pldm/libpldmresponder/platform.hpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - value
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: pldm::responder::platform::Handler::updateSensorCache
    functionSourceFile: /src/pldm/libpldmresponder/platform.hpp
    functionUses: 0
    functionsReached:
    - updateSensorCacheMaps
    linkageType: ''
    returnType: void
    signature: "void updateSensorCache(pldm::pdr::SensorID sensorId,\n                                  size_t
      sensorRearm, uint8_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 1
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 2
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 4
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 5
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 7
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 8
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 10
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 11
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 13
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 14
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 16
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 17
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 19
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 20
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:23,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:24,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:26,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:36,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:39,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm_bios_table_attr_entry_integer_info_check
    - at
    - error
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::BIOSIntegerAttribute(const Json& entry,\n
      \                                          DBusHandler* const dbusHandler)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:53,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:58,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:63,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:67,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:68,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:72,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:77,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:78,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:82,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:83,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:87,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:91,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:92,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:96,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:97,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:100,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 103
    functionName: pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<int64_t>
    - static_cast<uint8_t>
    - std::invalid_argument
    - setDbusProperty
    - error
    - has_value
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<double>
    - static_cast<int32_t>
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:110,1
    - Dst: pldm::responder::bios::table::attribute::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:116,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:119,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:122,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:124,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:125,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:127,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:131,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:136,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 141
    functionName: pldm::responder::bios::BIOSIntegerAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - findHandle
    - auto::index
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute::constructIntegerEntry
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:148,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:152,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:156,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:160,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:164,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:168,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:172,1
    - Dst: std::get<double>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:176,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:180,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' propertyValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 22
    functionsReached:
    - std::get<int32_t>
    - std::invalid_argument
    - std::get<double>
    - std::get<int64_t>
    - std::get<uint16_t>
    - error
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue(const PropertyValue& propertyValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:189,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:196,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:197,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:198,1
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:200,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 23
    functionsReached:
    - propertyName::c_str
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - error
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIOSIntegerAttribute::getAttrValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute_value::constructIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructIntegerEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSIntegerAttribute::updateAttrVal(Table& newValue, uint16_t
      attrHdl,\n                                        uint8_t attrType,\n                                        const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:226,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:229,1
    - Dst: std::get<int64_t>
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:231,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_integer_attribute.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<int64_t>
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BIOSIntegerAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/event_parser.cpp:28,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:28,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:30,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/event_parser.cpp:35,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/event_parser.cpp:37,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/event_parser.cpp:39,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/event_parser.cpp:40,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:42,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/event_parser.cpp:43,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:47,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:52,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:52,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:54,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:56,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:58,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:60,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:60,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:68,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:69,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:72,1
    - Dst: pldm::utils::DBusMapping::objectPath::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:73,1
    - Dst: pldm::utils::DBusMapping::interface::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:73,1
    - Dst: pldm::utils::DBusMapping::propertyName::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:74,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/event_parser.cpp:75,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:77,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:85,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:86,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:87,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:87,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:88,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:88,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:90,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:92,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:93,1
    - Dst: pldm::responder::events::StateSensorHandler::mapStateToDBusVal
      Src: /src/pldm/libpldmresponder/event_parser.cpp:97,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/event_parser.cpp:99,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 104
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 0
    functionsReached:
    - fs::directory_iterator
    - emplace
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - pldm::utils::DBusMapping::propertyName::empty
    - fs::is_empty
    - pldm::utils::DBusMapping::interface::empty
    - error
    - pldm::fw_update::PackageParser::parse
    - pldm::utils::DBusMapping::objectPath::empty
    - path
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    - std::make_tuple
    - contains
    - auto::value
    - pldm::responder::events::StateSensorHandler::mapStateToDBusVal
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler::StateSensorHandler(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/event_parser.cpp:110,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/event_parser.cpp:111,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/event_parser.cpp:113,1
    - Dst: pldm::utils::jsonEntryToDbusVal
      Src: /src/pldm/libpldmresponder/event_parser.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:115,1
    - Dst: StateToDBusValue::emplace
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    - Dst: get
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' eventStates'
    - ' propertyValues'
    - type
    argTypes:
    - Json
    - Json
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: pldm::responder::events::StateSensorHandler::mapStateToDBusVal
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::jsonEntryToDbusVal
    - get
    - auto::value
    - StateToDBusValue::emplace
    - std::move
    - end
    - begin
    linkageType: ''
    returnType: StateToDBusValue
    signature: "StateToDBusValue StateSensorHandler::mapStateToDBusVal(\n    const
      Json& eventStates, const Json& propertyValues, std::string_view type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.cpp:127,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.cpp:131,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:135,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/event_parser.cpp:142,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' entry'
    - state
    argTypes:
    - StateSensorEntry
    - pdr::EventState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 160
    functionName: pldm::responder::events::StateSensorHandler::eventAction
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 0
    functionsReached:
    - at
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int StateSensorHandler::eventAction(const StateSensorEntry& entry,\n
      \                                   pdr::EventState state)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/event_parser.cpp:28,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:28,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:30,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/event_parser.cpp:35,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/event_parser.cpp:37,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/event_parser.cpp:39,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/event_parser.cpp:40,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:42,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/event_parser.cpp:43,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:47,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:52,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:52,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:54,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:56,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:56,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:58,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:58,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/event_parser.cpp:60,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:60,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:68,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:69,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:72,1
    - Dst: pldm::utils::DBusMapping::objectPath::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:73,1
    - Dst: pldm::utils::DBusMapping::interface::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:73,1
    - Dst: pldm::utils::DBusMapping::propertyName::empty
      Src: /src/pldm/libpldmresponder/event_parser.cpp:74,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/event_parser.cpp:75,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:77,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:85,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:86,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:87,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:87,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:88,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:88,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:90,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:92,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/event_parser.cpp:93,1
    - Dst: pldm::responder::events::StateSensorHandler::mapStateToDBusVal
      Src: /src/pldm/libpldmresponder/event_parser.cpp:97,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/event_parser.cpp:99,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 104
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 0
    functionsReached:
    - fs::directory_iterator
    - emplace
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - pldm::utils::DBusMapping::propertyName::empty
    - fs::is_empty
    - pldm::utils::DBusMapping::interface::empty
    - error
    - pldm::fw_update::PackageParser::parse
    - pldm::utils::DBusMapping::objectPath::empty
    - path
    - static_cast<uint8_t>
    - static_cast<uint16_t>
    - std::make_tuple
    - contains
    - auto::value
    - pldm::responder::events::StateSensorHandler::mapStateToDBusVal
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler::StateSensorHandler(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/event_parser.cpp:110,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/event_parser.cpp:111,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/event_parser.cpp:113,1
    - Dst: pldm::utils::jsonEntryToDbusVal
      Src: /src/pldm/libpldmresponder/event_parser.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/event_parser.cpp:115,1
    - Dst: StateToDBusValue::emplace
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    - Dst: get
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/event_parser.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' eventStates'
    - ' propertyValues'
    - type
    argTypes:
    - Json
    - Json
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: pldm::responder::events::StateSensorHandler::mapStateToDBusVal
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::jsonEntryToDbusVal
    - get
    - auto::value
    - StateToDBusValue::emplace
    - std::move
    - end
    - begin
    linkageType: ''
    returnType: StateToDBusValue
    signature: "StateToDBusValue StateSensorHandler::mapStateToDBusVal(\n    const
      Json& eventStates, const Json& propertyValues, std::string_view type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.cpp:127,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.cpp:131,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:135,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/event_parser.cpp:142,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/event_parser.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' entry'
    - state
    argTypes:
    - StateSensorEntry
    - pdr::EventState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 160
    functionName: pldm::responder::events::StateSensorHandler::eventAction
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.cpp
    functionUses: 0
    functionsReached:
    - at
    - error
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: int
    signature: "int StateSensorHandler::eventAction(const StateSensorEntry& entry,\n
      \                                   pdr::EventState state)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:48,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:54,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:58,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:59,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:61,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:63,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:68,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:71,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:75,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:79,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:83,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:101,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:102,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:104,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:110,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:123,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:139,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:141,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:154,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:159,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_effecter.hpp:164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' stateField'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - std::vector<set_effecter_state_field>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - empty
    - getRepoByType
    - size
    - setDbusProperty
    - std::unique_ptr::get
    - error
    - at
    - reinterpret_cast<uint8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - reinterpret_cast<state_effecter_possible_states*>
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setStateEffecterStatesHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    const std::vector<set_effecter_state_field>&
      stateField)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filePath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pldm::responder::bios::BIOSTable::BIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSTable::BIOSTable(const char* filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/bios_table.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: pldm::responder::bios::BIOSTable::isEmpty
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    linkageType: ''
    returnType: bool
    signature: bool BIOSTable::isEmpty() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:36,1
    - Dst: std::ofstream::write
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm::responder::bios::BIOSTable::store
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - size
    - data
    - std::ofstream::write
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::store(const Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:42,1
    - Dst: fs::file_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:43,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:44,1
    - Dst: string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:45,1
    - Dst: std::ifstream::read
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSTable::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::read
    - size
    - fs::file_size
    - data
    - resize
    - reinterpret_cast<char*>
    - string
    linkageType: ''
    returnType: void
    signature: void BIOSTable::load(Response& response) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const Table& stringTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/pldm/libpldmresponder/bios_table.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosTable'
    argTypes:
    - BIOSTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pldm::responder::bios::BIOSStringTable::BIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: void
    signature: void BIOSStringTable::BIOSStringTable(const BIOSTable& biosTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:60,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:61,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:64,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/bios_table.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: pldm::responder::bios::BIOSStringTable::findString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - data
    - pldm::responder::bios::table::string::decodeString
    - pldm_bios_table_string_find_by_handle
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringTable::findString(uint16_t handle) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:71,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:72,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_table.cpp:75,1
    - Dst: pldm::responder::bios::table::string::decodeHandle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: pldm::responder::bios::BIOSStringTable::findHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - size
    - pldm::responder::bios::table::string::decodeHandle
    - data
    - c_str
    - pldm_bios_table_string_find_by_string
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSStringTable::findHandle(const std::string& name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:85,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:86,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: pldm::responder::bios::table::appendPadAndChecksum
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - size
    - data
    - pldm_bios_table_append_pad_checksum
    - resize
    linkageType: ''
    returnType: void
    signature: void appendPadAndChecksum(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::table::string::decodeHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t decodeHandle(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:101,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:104,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:105,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pldm::responder::bios::table::string::decodeString
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeString(const pldm_bios_string_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:111,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:112,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:113,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:115,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:116,1
    - Dst: reinterpret_cast<pldm_bios_string_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:117,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - ' str'
    argTypes:
    - Table
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: pldm::responder::bios::table::string::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - length
    - reinterpret_cast<pldm_bios_string_table_entry*>
    - size
    - data
    - c_str
    - pldm_bios_table_string_entry_encode
    - resize
    - pldm_bios_table_string_entry_encode_length
    linkageType: ''
    returnType: pldm_bios_string_table_entry
    signature: "pldm_bios_string_table_entry * constructEntry(Table& table,\n                                                   const
      std::string& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:127,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: pldm::responder::bios::table::attribute::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pldm::responder::bios::table::attribute::findByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByHandle(const Table& table,\n                                               uint16_t
      handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:143,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' table'
    - handle
    argTypes:
    - Table
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pldm::responder::bios::table::attribute::findByStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_find_by_string_handle
    - data
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findByStringHandle(const Table& table,\n
      \                                                    uint16_t handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:151,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:153,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:154,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:155,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:159,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:161,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:163,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm::responder::bios::table::attribute::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - size
    - data
    - error
    - pldm_bios_table_attr_entry_string_encode
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructStringEntry(\n    Table& table,
      pldm_bios_table_attr_entry_string_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:170,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:171,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:172,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:173,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:177,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:180,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:183,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: pldm::responder::bios::table::attribute::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - size
    - data
    - pldm_bios_table_attr_entry_integer_encode_length
    - error
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - std::runtime_error
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructIntegerEntry(\n    Table& table,
      pldm_bios_table_attr_entry_integer_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:189,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:190,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:191,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:193,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:197,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:200,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:205,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:206,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: pldm::responder::bios::table::attribute::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - error
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - std::runtime_error
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    - std::string
    linkageType: ''
    returnType: StringField
    signature: StringField decodeStringEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: pldm::responder::bios::table::attribute::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: IntegerField
    signature: IntegerField decodeIntegerEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:224,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:227,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:230,1
    - Dst: reinterpret_cast<pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:233,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' table'
    - info
    argTypes:
    - Table
    - pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pldm::responder::bios::table::attribute::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm_bios_table_attr_entry_enum_encode
    - data
    - reinterpret_cast<pldm_bios_attr_table_entry*>
    - resize
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * constructEnumEntry(\n    Table& table,
      pldm_bios_table_attr_entry_enum_info* info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:240,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:243,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:246,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:251,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_table.cpp:254,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:256,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: pldm::responder::bios::table::attribute::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - std::vector::data
    - error
    - std::runtime_error
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: EnumField
    signature: EnumField decodeEnumEntry(const pldm_bios_attr_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_table.cpp:268,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_table.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: pldm::responder::bios::table::attribute_value::decodeHeader
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: TableHeader
    signature: TableHeader decodeHeader(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:276,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pldm::responder::bios::table::attribute_value::decodeStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string decodeStringEntry(const pldm_bios_attr_val_table_entry*
      entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_table.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t decodeIntegerEntry(const pldm_bios_attr_val_table_entry* entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_table.cpp:290,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: pldm::responder::bios::table::attribute_value::decodeEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> decodeEnumEntry(\n    const pldm_bios_attr_val_table_entry*
      entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:300,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:302,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:303,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:304,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/libpldmresponder/bios_table.cpp:305,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:306,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_table.cpp:307,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:313,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:316,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' str'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: pldm::responder::bios::table::attribute_value::constructStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - c_str
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructStringEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, const std::string& str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:323,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:325,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:326,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/libpldmresponder/bios_table.cpp:327,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:328,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:331,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:334,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:337,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - value
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::table::attribute_value::constructIntegerEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 16
    functionsReached:
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_integer
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructIntegerEntry(\n    Table&
      table, uint16_t attrHandle, uint8_t attrType, uint64_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/libpldmresponder/bios_table.cpp:345,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:346,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:347,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:348,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/libpldmresponder/bios_table.cpp:349,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:350,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:351,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:354,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_table.cpp:357,1
    - Dst: reinterpret_cast<pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_table.cpp:360,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ' table'
    - attrHandle
    - attrType
    - ' handleIndices'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: pldm::responder::bios::table::attribute_value::constructEnumEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - size
    - data
    - reinterpret_cast<pldm_bios_attr_val_table_entry*>
    - error
    - resize
    - std::runtime_error
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: pldm_bios_attr_val_table_entry
    signature: "pldm_bios_attr_val_table_entry * constructEnumEntry(\n    Table& table,
      uint16_t attrHandle, uint8_t attrType,\n    const std::vector<uint8_t>& handleIndices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:374,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/pldm/libpldmresponder/bios_table.cpp:377,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_table.cpp:378,1
    - Dst: Table::resize
      Src: /src/pldm/libpldmresponder/bios_table.cpp:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' table'
    - entry
    - size
    argTypes:
    - Table
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: pldm::responder::bios::table::attribute_value::updateTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - size
    - data
    - Table::resize
    linkageType: ''
    returnType: std::optional<Table>
    signature: "std::optional<Table> updateTable(const Table& table, const void* entry,\n
      \                                size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 1
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 2
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 2
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 8
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 2
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 2
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 12
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 3
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 6
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 6
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 3
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 16
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 5
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 8
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 8
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 4
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 20
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 5
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 10
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 10
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 5
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 24
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 6
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 7
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 12
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 12
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 6
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:21,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:22,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:25,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:29,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:32,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:35,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:38,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:40,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:42,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:44,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::buildValMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts:
    - condition: (defaultValues.size() == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 47
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - at
    - assert
    - has_value
    - pldm::responder::bios::BIOSEnumAttribute::buildValMap
    - std::vector::emplace_back
    - std::vector::size
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::BIOSEnumAttribute(const Json& entry,\n                                     DBusHandler*
      const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:52,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:57,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' value'
    - ' pVs'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 28
    functionsReached:
    - end
    - std::invalid_argument
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t BIOSEnumAttribute::getValueIndex(const std::string& value,\n
      \                                        const std::vector<std::string>& pVs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:68,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' stringTable'
    - ' pVs'
    argTypes:
    - BIOSStringTable
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 7
    functionsReached:
    - std::vector::push_back
    - findHandle
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: "std::vector<uint16_t> BIOSEnumAttribute::getPossibleValuesHandle(\n
      \   const BIOSStringTable& stringTable, const std::vector<std::string>& pVs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:79,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:83,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:87,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:91,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:95,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:99,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:103,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:107,1
    - Dst: static_cast<bool>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:111,1
    - Dst: static_cast<double>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:115,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:119,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:123,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:125,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' dbusVals'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 129
    functionName: pldm::responder::bios::BIOSEnumAttribute::buildValMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 8
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - static_cast<int64_t>
    - static_cast<double>
    - std::invalid_argument
    - emplace
    - error
    - auto::value
    - static_cast<int32_t>
    - static_cast<uint16_t>
    - static_cast<std::string>
    - end
    - static_cast<uint32_t>
    - static_cast<bool>
    - begin
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::buildValMap(const Json& dbusVals)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:133,1
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:134,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:141,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:142,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:143,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:144,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:145,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 156
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 14
    functionsReached:
    - propertyName::c_str
    - find
    - objectPath::c_str
    - has_value
    - getDbusPropertyVariant
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:162,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' propValue'
    argTypes:
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 14
    functionsReached:
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t BIOSEnumAttribute::getAttrValueIndex(const PropertyValue& propValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:175,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:180,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:182,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:183,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:185,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:189,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - ' stringTable'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - BIOSStringTable
    assertStmts:
    - condition: (currHdls.size() == 1)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    constantsTouched: []
    func_position:
      end: 195
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - findString
    - begin
    - assert
    - has_value
    - auto::size
    - std::find_if
    - end
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry,\n    const
      BIOSStringTable& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - attrHandle
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 7
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void BIOSEnumAttribute::populateValueDisplayNamesMap(uint16_t attrHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:210,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:212,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:215,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:216,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:217,1
    - Dst: pldm::responder::bios::table::attribute::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:222,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:224,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:228,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:230,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:231,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:233,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:234,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:238,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:243,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 248
    functionName: pldm::responder::bios::BIOSEnumAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::constructEnumEntry
    - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
    - findHandle
    - auto::index
    - std::vector::data
    - auto::data
    - auto::size
    - pldm::responder::bios::table::attribute::decodeHeader
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
    - std::optional<std::variant<int64_t, std::string>>::value
    - std::vector::size
    - std::optional<std::variant<int64_t, std::string>>::has_value
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:254,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:255,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:257,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:258,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:263,1
    - Dst: pldm::responder::bios::table::attribute_value::constructEnumEntry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - find
    - error
    - std::get<std::string>
    - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
    - end
    - pldm::responder::bios::table::attribute_value::constructEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSEnumAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                    uint8_t attrType,\n                                     const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:273,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:275,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:277,1
    - Dst: pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
      Src: /src/pldm/libpldmresponder/bios_enum_attribute.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
    functionUses: 0
    functionsReached:
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
    - std::get<std::string>
    linkageType: ''
    returnType: void
    signature: "void BIOSEnumAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: pldm::responder::oem_platform::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: pldm::responder::oem_fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dBusIntf
    argTypes:
    - pldm::utils::DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pldm::responder::oem_utils::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const pldm::utils::DBusHandler* dBusIntf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: pldm::responder::oem_bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ~Handler() override
    functionSourceFile: /src/pldm/libpldmresponder/oem_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 1
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 2
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 2
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 3
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 3
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 4
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 4
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 5
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 5
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 6
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 6
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 7
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 7
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:41,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:43,1
    - Dst: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:45,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:48,1
    - Dst: pldm::responder::fru_parser::FruParser::setupFruRecordMap
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' dirPath'
    - ' fruMasterJsonPath'
    argTypes:
    - std::string
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    - fs::is_empty
    - fs::exists
    - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    - pldm::responder::fru_parser::FruParser::setupFruRecordMap
    linkageType: ''
    returnType: void
    signature: "void FruParser::FruParser(const std::string& dirPath,\n                     const
      fs::path& fruMasterJsonPath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:59,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:60,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:62,1
    - Dst: std::abort
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:64,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:67,1
    - Dst: auto::items
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:68,1
    - Dst: static_cast<Interface>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: key
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:73,1
    - Dst: static_cast<EntityType>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:74,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:78,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:80,1
    - Dst: Interfaces::emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:88,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ' masterJsonPath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 8
    functionsReached:
    - static_cast<Interface>
    - static_cast<EntityType>
    - emplace
    - std::abort
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - Interfaces::emplace
    - std::move
    - auto::value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultDBusLookup(const fs::path& masterJsonPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser::setupDefaultFruRecordMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:128,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:130,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:131,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:132,1
    - Dst: auto::is_discarded
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:133,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:135,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:136,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:137,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:142,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:144,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:147,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:148,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:154,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:155,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:156,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:157,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:158,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:159,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:161,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:166,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:168,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:175,1
    - Dst: auto::second::emplace_back
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:177,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru_parser.cpp:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 190
    functionName: pldm::responder::fru_parser::FruParser::setupFruRecordMap
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.cpp
    functionUses: 8
    functionsReached:
    - fs::directory_iterator
    - std::make_tuple
    - static_cast<uint8_t>
    - emplace
    - find
    - error
    - auto::value
    - end
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - value
    - std::vector::emplace_back
    - std::move
    - path
    - auto::second::emplace_back
    - auto::is_discarded
    linkageType: ''
    returnType: void
    signature: void FruParser::setupFruRecordMap(const std::string& dirPath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: fs::is_empty
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:93,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:95,1
    - Dst: std::ifstream::is_open
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:99,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:101,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/pdr_utils.hpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: pldm::responder::pdr_utils::readJson
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached:
    - fs::is_empty
    - error
    - fs::exists
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::is_open
    linkageType: ''
    returnType: Json
    signature: Json readJson(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: pldm::responder::pdr_utils::RepoInterface::RepoInterface
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepoInterface(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: ~RepoInterface()
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RepoInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: pldm::responder::pdr_utils::Repo::Repo
    functionSourceFile: /src/pldm/libpldmresponder/pdr_utils.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Repo(pldm_pdr* repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~BIOSStringTableInterface()
    functionSourceFile: /src/pldm/libpldmresponder/bios_table.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSStringTableInterface()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 1
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 2
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 3
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 4
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 5
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 6
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:23,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:24,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:25,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:27,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:29,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:31,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:33,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:34,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:35,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:37,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:46,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:50,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:53,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - length
    - std::invalid_argument
    - static_cast<uint8_t>
    - defString::data
    - at
    - error
    - find
    - static_cast<uint16_t>
    - pldm_bios_table_attr_entry_string_info_check
    - end
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::BIOSStringAttribute(const Json& entry,\n
      \                                        DBusHandler* const dbusHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:67,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:73,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - attrValueEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - has_value
    - setDbusProperty
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::setAttrValueOnDbus(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry*, const BIOSStringTable&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:79,1
    - Dst: getDbusProperty
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:85,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:86,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:87,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: pldm::responder::bios::BIOSStringAttribute::getAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 7
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - has_value
    - getDbusProperty
    - interface::c_str
    linkageType: ''
    returnType: std::string
    signature: std::string BIOSStringAttribute::getAttrValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:104,1
    - Dst: defString::data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:107,1
    - Dst: pldm::responder::bios::table::attribute::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:111,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:113,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::has_value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:116,1
    - Dst: std::optional<std::variant<int64_t, std::string>>::value
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:118,1
    - Dst: auto::index
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:119,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:121,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:125,1
    - Dst: pldm::responder::bios::BIOSStringAttribute::getAttrValue
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:130,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ' stringTable'
    - ' attrTable'
    - ' attrValueTable'
    - optAttributeValue
    argTypes:
    - BIOSStringTable
    - Table
    - Table
    - std::optional<std::variant<int64_t, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: pldm::responder::bios::BIOSStringAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSStringAttribute::getAttrValue
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - defString::data
    - findHandle
    - pldm::responder::bios::table::attribute::constructStringEntry
    - auto::index
    - std::get<std::string>
    - std::optional<std::variant<int64_t, std::string>>::value
    - pldm::responder::bios::table::attribute::decodeHeader
    - std::optional<std::variant<int64_t, std::string>>::has_value
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::constructEntry(\n    const BIOSStringTable&
      stringTable, Table& attrTable, Table& attrValueTable,\n    std::optional<std::variant<int64_t,
      std::string>> optAttributeValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:143,1
    - Dst: pldm::responder::bios::table::attribute_value::constructStringEntry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:144,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' newValue'
    - attrHdl
    - attrType
    - ' newPropVal'
    argTypes:
    - Table
    - uint16_t
    - uint8_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::responder::bios::BIOSStringAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::responder::bios::table::attribute_value::constructStringEntry
    - std::get<std::string>
    linkageType: ''
    returnType: int
    signature: "int BIOSStringAttribute::updateAttrVal(Table& newValue, uint16_t attrHdl,\n
      \                                      uint8_t attrType,\n                                       const
      PropertyValue& newPropVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:159,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:160,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:162,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:165,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:168,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    - Dst: std::string::size
      Src: /src/pldm/libpldmresponder/bios_string_attribute.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' attributevalue'
    - ' attrValueEntry'
    argTypes:
    - std::variant<int64_t, std::string>
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_string_attribute.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - resize
    - std::get<std::string>
    - memcpy
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BIOSStringAttribute::generateAttributeEntry(\n    const std::variant<int64_t,
      std::string>& attributevalue,\n    Table& attrValueEntry)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:34,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:38,1
    - Dst: reinterpret_cast<pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:41,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:44,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:54,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:58,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:59,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:60,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:65,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:67,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:71,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:72,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:85,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:86,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:87,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:91,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:95,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:96,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:97,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:98,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:99,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:100,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:101,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:104,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:105,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:108,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:110,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:111,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:116,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:119,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:120,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:124,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:128,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:132,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:136,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:143,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:144,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:149,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:150,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:151,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:152,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:155,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:156,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:157,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:158,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:159,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:162,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:163,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:164,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:165,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:166,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:169,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:170,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:171,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:172,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:173,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:176,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:177,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:178,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:179,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:180,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:183,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:184,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:185,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:186,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:187,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:190,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:191,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:192,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:193,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:194,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:200,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:201,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:202,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:203,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:212,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:219,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:221,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:224,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:225,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:226,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:228,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:231,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp:233,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 145
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 235
    functionName: pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - getAssociateEntityMap
    - std::vector::data
    - error
    - contains
    - at
    - auto::value
    - getNextEffecterId
    - addDbusObjMaps
    - addRecord
    - value
    - std::move
    - static_cast<uint16_t>
    - auto::c_str
    - reinterpret_cast<pldm_numeric_effecter_value_pdr*>
    - getService
    - std::vector::resize
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    linkageType: ''
    returnType: void
    signature: "void generateNumericEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                                Handler& handler,\n                                pdr_utils::RepoInterface&
      repo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 1
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 2
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 3
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 4
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 5
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 6
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:81,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/libpldmresponder/base.cpp:83,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: pldm::responder::base::Handler::getPLDMTypes
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::data
    - encode_pldm_base_get_pldm_types_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getPLDMTypes(const pldm_msg* request,\n                               size_t
      /*payloadLength*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:99,1
    - Dst: decode_get_commands_req
      Src: /src/pldm/libpldmresponder/base.cpp:101,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:105,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/base.cpp:110,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:112,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/base.cpp:116,1
    - Dst: encode_get_commands_resp
      Src: /src/pldm/libpldmresponder/base.cpp:124,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/base.cpp:125,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: pldm::responder::base::Handler::getPLDMCommands
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - std::array::data
    - contains
    - pldm_msg::pldm_msg
    - decode_get_commands_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMCommands(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:141,1
    - Dst: decode_get_version_req
      Src: /src/pldm/libpldmresponder/base.cpp:143,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:148,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/base.cpp:152,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/base.cpp:154,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/base.cpp:160,1
    - Dst: encode_get_version_resp
      Src: /src/pldm/libpldmresponder/base.cpp:161,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 170
    functionName: pldm::responder::base::Handler::getPLDMVersion
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - find
    - encode_get_version_resp
    - pldm_msg::pldm_msg
    - end
    - memcpy
    - decode_get_version_req
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPLDMVersion(const pldm_msg* request, size_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/base.cpp:175,1
    - Dst: processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: pldm::responder::base::Handler::_processSetEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 7
    functionsReached:
    - processSetEventReceiver
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processSetEventReceiver(sdeventplus::source::EventBase&\n
      \                                      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/base.cpp:183,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/libpldmresponder/base.cpp:185,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/base.cpp:189,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/base.cpp:194,1
    - Dst: pldm::responder::base::Handler::_processSetEventReceiver
      Src: /src/pldm/libpldmresponder/base.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: pldm::responder::base::Handler::getTID
    functionSourceFile: /src/pldm/libpldmresponder/base.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - encode_pldm_base_get_tid_resp
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - pldm::responder::base::Handler::_processSetEventReceiver
    linkageType: ''
    returnType: Response
    signature: Response Handler::getTID(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:56,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:58,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:62,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:75,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:76,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:77,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:80,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:82,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:84,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:89,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:90,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:102,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:103,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:104,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:110,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:115,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:118,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:120,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:122,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:128,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:133,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:135,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:139,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:140,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:141,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:142,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:143,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:150,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:154,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:159,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:164,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:165,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:167,1
    - Dst: getNextEffecterId
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:169,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:170,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:171,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:172,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:174,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_effecter.hpp:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: pldm::responder::pdr_state_effecter::generateStateEffecterPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<state_effecter_possible_states*>
    - getAssociateEntityMap
    - error
    - getNextEffecterId
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - std::make_tuple
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - contains
    - reinterpret_cast<bitfield8_t*>
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateEffecterPDR(const DBusInterface& dBusIntf, const
      Json& json,\n                              Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEntityType
      Src: /src/pldm/libpldmresponder/fru.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' intfMaps'
    argTypes:
    - dbus::InterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: pldm::responder::FruImpl::getEntityByObjectPath
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - getEntityType
    linkageType: ''
    returnType: std::optional<pldm_entity>
    signature: "std::optional<pldm_entity> FruImpl::getEntityByObjectPath(\n    const
      dbus::InterfaceMap& intfMaps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru.cpp:56,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:62,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:64,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:67,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:68,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:72,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:74,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:75,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:78,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:79,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:81,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:82,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:86,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/libpldmresponder/fru.cpp:90,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:98,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:113,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:124,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:131,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ' objects'
    - ' path'
    argTypes:
    - dbus::ObjectValueTree
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 146
    functionName: pldm::responder::FruImpl::updateAssociationTree
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - std::stack::empty
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::stack::top
    - find
    - at
    - contains
    - std::stack::emplace
    - pldm::responder::FruImpl::getEntityByObjectPath
    - std::stack::pop
    - pldm::utils::findParent
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: "void FruImpl::updateAssociationTree(const dbus::ObjectValueTree& objects,\n
      \                                   const std::string& path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inventoryLookup
      Src: /src/pldm/libpldmresponder/fru.cpp:159,1
    - Dst: "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
      Src: /src/pldm/libpldmresponder/fru.cpp:160,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:165,1
    - Dst: std::get<2>
      Src: /src/pldm/libpldmresponder/fru.cpp:171,1
    - Dst: auto::contains
      Src: /src/pldm/libpldmresponder/fru.cpp:178,1
    - Dst: pldm::utils::checkForFruPresence
      Src: /src/pldm/libpldmresponder/fru.cpp:181,1
    - Dst: pldm::responder::FruImpl::updateAssociationTree
      Src: /src/pldm/libpldmresponder/fru.cpp:191,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:193,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:196,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:198,1
    - Dst: getRecordInfo
      Src: /src/pldm/libpldmresponder/fru.cpp:201,1
    - Dst: pldm::responder::FruImpl::populateRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:202,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:204,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:209,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:218,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:223,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:225,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/libpldmresponder/fru.cpp:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 232
    functionName: pldm::responder::FruImpl::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - inventoryLookup
    - pldm_entity_extract
    - emplace
    - std::get<2>
    - pldm::responder::FruImpl::populateRecords
    - pldm::responder::FruImpl::updateAssociationTree
    - at
    - error
    - pldm::utils::checkForFruPresence
    - auto::contains
    - contains
    - pldm_entity_association_tree_copy_root
    - "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
    - std::runtime_error
    - getRecordInfo
    - pldm_entity_association_pdr_add
    linkageType: ''
    returnType: void
    signature: void FruImpl::buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/fru.cpp:237,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/fru.cpp:242,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/fru.cpp:244,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/fru.cpp:247,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/fru.cpp:248,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/fru.cpp:249,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/fru.cpp:250,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/fru.cpp:251,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:253,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 262
    functionName: pldm::responder::FruImpl::populatefwVersion
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - std::get<std::vector<std::string>>
    - error
    - call
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::append
    - auto::c_str
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::string
    signature: std::string FruImpl::populatefwVersion()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::populatefwVersion
      Src: /src/pldm/libpldmresponder/fru.cpp:287,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:291,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/libpldmresponder/fru.cpp:295,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:296,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:302,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:305,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:309,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:310,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:316,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:319,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:328,1
    - Dst: pldm::responder::FruImpl::nextRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:332,1
    - Dst: pldm::responder::FruImpl::nextRecordHandle
      Src: /src/pldm/libpldmresponder/fru.cpp:333,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/pldm/libpldmresponder/fru.cpp:334,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:341,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:345,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: encode_fru_record
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - ' interfaces'
    - ' recordInfos'
    - ' entity'
    argTypes:
    - pldm::responder::dbus::InterfaceMap
    - fru_parser::FruRecordInfos
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 353
    functionName: pldm::responder::FruImpl::populateRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - resize
    - auto::size
    - std::get<std::vector<uint8_t>>
    - std::vector::emplace_back
    - std::move
    - std::vector::size
    - pldm::responder::FruImpl::size
    - pldm::responder::FruImpl::populatefwVersion
    - std::end
    - pldm::responder::FruImpl::nextRSI
    - encode_fru_record
    - at
    - std::back_inserter
    - std::begin
    - data
    - std::runtime_error
    - pldm_pdr_add_fru_record_set
    - std::get<std::string>
    - pldm::responder::FruImpl::nextRecordHandle
    linkageType: ''
    returnType: void
    signature: "void FruImpl::populateRecords(\n    const pldm::responder::dbus::InterfaceMap&
      interfaces,\n    const fru_parser::FruRecordInfos& recordInfos, const pldm_entity&
      entity)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:360,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:363,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:366,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:371,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:381,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:383,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:389,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:391,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/fru.cpp:398,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:399,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/fru.cpp:402,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:405,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - rsi
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 417
    functionName: pldm::responder::FruImpl::deleteFRURecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const struct pldm_fru_record_data_format*>
    - error
    - le16toh
    - std::move
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - reinterpret_cast<const struct pldm_fru_record_tlv*>
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::deleteFRURecord(uint16_t rsi)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:424,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:443,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:451,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:456,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:459,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:460,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:461,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:462,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:468,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:472,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:482,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:487,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:490,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:491,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:493,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:496,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:501,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:509,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:514,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:519,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:526,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:530,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:534,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:539,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:547,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:552,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:553,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:554,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:557,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:558,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:559,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:560,1
    - Dst: pldm::responder::FruImpl::deleteFRURecord
      Src: /src/pldm/libpldmresponder/fru.cpp:562,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:567,1
    - Dst: pldm::utils::findEffecterIds
      Src: /src/pldm/libpldmresponder/fru.cpp:570,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/pldm/libpldmresponder/fru.cpp:577,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:582,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:586,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:589,1
    - Dst: pldm::utils::findSensorIds
      Src: /src/pldm/libpldmresponder/fru.cpp:592,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/pldm/libpldmresponder/fru.cpp:600,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:604,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:608,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:611,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:621,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:627,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:628,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:631,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:633,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:636,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:638,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 1
    argNames:
    - ' fruObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 641
    functionName: pldm::responder::FruImpl::removeIndividualFRU
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - sendPDRRepositoryChgEventbyPDRHandles
    - static_cast<unsigned>
    - error
    - pldm_entity_association_tree_delete_node
    - pldm_pdr_delete_by_sensor_id
    - pldm::responder::FruImpl::deleteFRURecord
    - pldm_pdr_delete_by_effecter_id
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm_entity_association_pdr_remove_contained_entity
    - static_cast<int>
    - pldm_pdr_remove_fru_record_set_by_rsi
    - erase
    - std::vector::push_back
    - info
    - pldm_pdr_find_record
    - pldm::utils::findEffecterIds
    - pldm::utils::findSensorIds
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void FruImpl::removeIndividualFRU(const std::string& fruObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:647,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: pldm::responder::FruImpl::tableResize
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::getNumPadBytes
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - end
    - std::vector::resize
    - std::vector::size
    - std::copy
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FruImpl::tableResize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:658,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:661,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:663,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: pldm::responder::FruImpl::getFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - reinterpret_cast<const uint8_t*>
    - std::vector::data
    - resize
    - pldm::responder::FruImpl::tableResize
    - std::vector::begin
    - pldm::responder::FruImpl::size
    - std::copy_n
    - std::vector::size
    - std::vector::end
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRUTable(Response& response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:678,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:680,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: pldm::responder::FruImpl::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - std::vector::data
    - pldm::responder::FruImpl::tableResize
    - pldm::responder::FruImpl::size
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRURecordTableMetadata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:692,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:699,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:700,1
    - Dst: get_fru_record_by_option
      Src: /src/pldm/libpldmresponder/fru.cpp:702,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:711,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:714,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' fruData'
    - recordSetIdentifer
    - recordType
    - fieldType
    argTypes:
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 720
    functionName: pldm::responder::FruImpl::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - get_fru_record_by_option
    - reinterpret_cast<const uint8_t*>
    - pldm::responder::FruImpl::buildFRUTable
    - data
    - pldm::utils::getNumPadBytes
    - resize
    - pldm::responder::FruImpl::size
    - std::copy_n
    - begin
    linkageType: ''
    returnType: int
    signature: "int FruImpl::getFRURecordByOption(\n    std::vector<uint8_t>& fruData,
      uint16_t /* fruTableHandle */,\n    uint16_t recordSetIdentifer, uint8_t recordType,
      uint8_t fieldType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: processOEMFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: pldm::responder::FruImpl::setFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - processOEMFRUTable
    - data
    - reinterpret_cast<const pldm_fru_record_data_format*>
    linkageType: ''
    returnType: int
    signature: int FruImpl::setFRUTable(const std::vector<uint8_t>& fruData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/libpldmresponder/fru.cpp:748,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/fru.cpp:749,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdrEntry
    argTypes:
    - pldm::responder::pdr_utils::PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: pldm::responder::FruImpl::addHotPlugRecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_add
    - fetchLastBMCRecord
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t FruImpl::addHotPlugRecord(\n    pldm::responder::pdr_utils::PdrEntry
      pdrEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEntityType
      Src: /src/pldm/libpldmresponder/fru.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' intfMaps'
    argTypes:
    - dbus::InterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: pldm::responder::FruImpl::getEntityByObjectPath
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - getEntityType
    linkageType: ''
    returnType: std::optional<pldm_entity>
    signature: "std::optional<pldm_entity> FruImpl::getEntityByObjectPath(\n    const
      dbus::InterfaceMap& intfMaps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru.cpp:56,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:62,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:64,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:67,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:68,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:72,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:74,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:75,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:78,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:79,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:81,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:82,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:86,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/libpldmresponder/fru.cpp:90,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:98,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:113,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:124,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:131,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ' objects'
    - ' path'
    argTypes:
    - dbus::ObjectValueTree
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 146
    functionName: pldm::responder::FruImpl::updateAssociationTree
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - std::stack::empty
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::stack::top
    - find
    - at
    - contains
    - std::stack::emplace
    - pldm::responder::FruImpl::getEntityByObjectPath
    - std::stack::pop
    - pldm::utils::findParent
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: "void FruImpl::updateAssociationTree(const dbus::ObjectValueTree& objects,\n
      \                                   const std::string& path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inventoryLookup
      Src: /src/pldm/libpldmresponder/fru.cpp:159,1
    - Dst: "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
      Src: /src/pldm/libpldmresponder/fru.cpp:160,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:165,1
    - Dst: std::get<2>
      Src: /src/pldm/libpldmresponder/fru.cpp:171,1
    - Dst: auto::contains
      Src: /src/pldm/libpldmresponder/fru.cpp:178,1
    - Dst: pldm::utils::checkForFruPresence
      Src: /src/pldm/libpldmresponder/fru.cpp:181,1
    - Dst: pldm::responder::FruImpl::updateAssociationTree
      Src: /src/pldm/libpldmresponder/fru.cpp:191,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:193,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:196,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:198,1
    - Dst: getRecordInfo
      Src: /src/pldm/libpldmresponder/fru.cpp:201,1
    - Dst: pldm::responder::FruImpl::populateRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:202,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:204,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:209,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:218,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:223,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:225,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/libpldmresponder/fru.cpp:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 232
    functionName: pldm::responder::FruImpl::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - inventoryLookup
    - pldm_entity_extract
    - emplace
    - std::get<2>
    - pldm::responder::FruImpl::populateRecords
    - pldm::responder::FruImpl::updateAssociationTree
    - at
    - error
    - pldm::utils::checkForFruPresence
    - auto::contains
    - contains
    - pldm_entity_association_tree_copy_root
    - "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
    - std::runtime_error
    - getRecordInfo
    - pldm_entity_association_pdr_add
    linkageType: ''
    returnType: void
    signature: void FruImpl::buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/fru.cpp:237,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/fru.cpp:242,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/fru.cpp:244,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/fru.cpp:247,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/fru.cpp:248,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/fru.cpp:249,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/fru.cpp:250,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/fru.cpp:251,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:253,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 262
    functionName: pldm::responder::FruImpl::populatefwVersion
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - std::get<std::vector<std::string>>
    - error
    - call
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::append
    - auto::c_str
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::string
    signature: std::string FruImpl::populatefwVersion()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::populatefwVersion
      Src: /src/pldm/libpldmresponder/fru.cpp:287,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:291,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/libpldmresponder/fru.cpp:295,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:296,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:302,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:305,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:309,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:310,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:316,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:319,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:328,1
    - Dst: pldm::responder::FruImpl::nextRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:332,1
    - Dst: pldm::responder::FruImpl::nextRecordHandle
      Src: /src/pldm/libpldmresponder/fru.cpp:333,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/pldm/libpldmresponder/fru.cpp:334,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:341,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:345,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: encode_fru_record
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - ' interfaces'
    - ' recordInfos'
    - ' entity'
    argTypes:
    - pldm::responder::dbus::InterfaceMap
    - fru_parser::FruRecordInfos
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 353
    functionName: pldm::responder::FruImpl::populateRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - resize
    - auto::size
    - std::get<std::vector<uint8_t>>
    - std::vector::emplace_back
    - std::move
    - std::vector::size
    - pldm::responder::FruImpl::size
    - pldm::responder::FruImpl::populatefwVersion
    - std::end
    - pldm::responder::FruImpl::nextRSI
    - encode_fru_record
    - at
    - std::back_inserter
    - std::begin
    - data
    - std::runtime_error
    - pldm_pdr_add_fru_record_set
    - std::get<std::string>
    - pldm::responder::FruImpl::nextRecordHandle
    linkageType: ''
    returnType: void
    signature: "void FruImpl::populateRecords(\n    const pldm::responder::dbus::InterfaceMap&
      interfaces,\n    const fru_parser::FruRecordInfos& recordInfos, const pldm_entity&
      entity)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:360,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:363,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:366,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:371,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:381,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:383,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:389,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:391,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/fru.cpp:398,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:399,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/fru.cpp:402,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:405,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - rsi
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 417
    functionName: pldm::responder::FruImpl::deleteFRURecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const struct pldm_fru_record_data_format*>
    - error
    - le16toh
    - std::move
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - reinterpret_cast<const struct pldm_fru_record_tlv*>
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::deleteFRURecord(uint16_t rsi)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:424,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:443,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:451,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:456,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:459,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:460,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:461,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:462,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:468,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:472,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:482,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:487,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:490,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:491,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:493,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:496,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:501,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:509,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:514,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:519,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:526,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:530,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:534,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:539,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:547,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:552,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:553,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:554,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:557,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:558,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:559,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:560,1
    - Dst: pldm::responder::FruImpl::deleteFRURecord
      Src: /src/pldm/libpldmresponder/fru.cpp:562,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:567,1
    - Dst: pldm::utils::findEffecterIds
      Src: /src/pldm/libpldmresponder/fru.cpp:570,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/pldm/libpldmresponder/fru.cpp:577,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:582,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:586,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:589,1
    - Dst: pldm::utils::findSensorIds
      Src: /src/pldm/libpldmresponder/fru.cpp:592,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/pldm/libpldmresponder/fru.cpp:600,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:604,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:608,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:611,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:621,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:627,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:628,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:631,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:633,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:636,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:638,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 1
    argNames:
    - ' fruObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 641
    functionName: pldm::responder::FruImpl::removeIndividualFRU
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - sendPDRRepositoryChgEventbyPDRHandles
    - static_cast<unsigned>
    - error
    - pldm_entity_association_tree_delete_node
    - pldm_pdr_delete_by_sensor_id
    - pldm::responder::FruImpl::deleteFRURecord
    - pldm_pdr_delete_by_effecter_id
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm_entity_association_pdr_remove_contained_entity
    - static_cast<int>
    - pldm_pdr_remove_fru_record_set_by_rsi
    - erase
    - std::vector::push_back
    - info
    - pldm_pdr_find_record
    - pldm::utils::findEffecterIds
    - pldm::utils::findSensorIds
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void FruImpl::removeIndividualFRU(const std::string& fruObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:647,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: pldm::responder::FruImpl::tableResize
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::getNumPadBytes
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - end
    - std::vector::resize
    - std::vector::size
    - std::copy
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FruImpl::tableResize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:658,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:661,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:663,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: pldm::responder::FruImpl::getFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - reinterpret_cast<const uint8_t*>
    - std::vector::data
    - resize
    - pldm::responder::FruImpl::tableResize
    - std::vector::begin
    - pldm::responder::FruImpl::size
    - std::copy_n
    - std::vector::size
    - std::vector::end
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRUTable(Response& response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:678,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:680,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: pldm::responder::FruImpl::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - std::vector::data
    - pldm::responder::FruImpl::tableResize
    - pldm::responder::FruImpl::size
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRURecordTableMetadata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:692,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:699,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:700,1
    - Dst: get_fru_record_by_option
      Src: /src/pldm/libpldmresponder/fru.cpp:702,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:711,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:714,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' fruData'
    - recordSetIdentifer
    - recordType
    - fieldType
    argTypes:
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 720
    functionName: pldm::responder::FruImpl::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - get_fru_record_by_option
    - reinterpret_cast<const uint8_t*>
    - pldm::responder::FruImpl::buildFRUTable
    - data
    - pldm::utils::getNumPadBytes
    - resize
    - pldm::responder::FruImpl::size
    - std::copy_n
    - begin
    linkageType: ''
    returnType: int
    signature: "int FruImpl::getFRURecordByOption(\n    std::vector<uint8_t>& fruData,
      uint16_t /* fruTableHandle */,\n    uint16_t recordSetIdentifer, uint8_t recordType,
      uint8_t fieldType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: processOEMFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: pldm::responder::FruImpl::setFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - processOEMFRUTable
    - data
    - reinterpret_cast<const pldm_fru_record_data_format*>
    linkageType: ''
    returnType: int
    signature: int FruImpl::setFRUTable(const std::vector<uint8_t>& fruData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/libpldmresponder/fru.cpp:748,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/fru.cpp:749,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdrEntry
    argTypes:
    - pldm::responder::pdr_utils::PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: pldm::responder::FruImpl::addHotPlugRecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_add
    - fetchLastBMCRecord
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t FruImpl::addHotPlugRecord(\n    pldm::responder::pdr_utils::PdrEntry
      pdrEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 4
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 4
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEntityType
      Src: /src/pldm/libpldmresponder/fru.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' intfMaps'
    argTypes:
    - dbus::InterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: pldm::responder::FruImpl::getEntityByObjectPath
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - getEntityType
    linkageType: ''
    returnType: std::optional<pldm_entity>
    signature: "std::optional<pldm_entity> FruImpl::getEntityByObjectPath(\n    const
      dbus::InterfaceMap& intfMaps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru.cpp:56,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:62,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:64,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:67,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:68,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:72,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:74,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:75,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:78,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:79,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:81,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:82,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:86,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/libpldmresponder/fru.cpp:90,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:98,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:113,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:124,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:131,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ' objects'
    - ' path'
    argTypes:
    - dbus::ObjectValueTree
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 146
    functionName: pldm::responder::FruImpl::updateAssociationTree
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - std::stack::empty
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::stack::top
    - find
    - at
    - contains
    - std::stack::emplace
    - pldm::responder::FruImpl::getEntityByObjectPath
    - std::stack::pop
    - pldm::utils::findParent
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: "void FruImpl::updateAssociationTree(const dbus::ObjectValueTree& objects,\n
      \                                   const std::string& path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inventoryLookup
      Src: /src/pldm/libpldmresponder/fru.cpp:159,1
    - Dst: "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
      Src: /src/pldm/libpldmresponder/fru.cpp:160,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:165,1
    - Dst: std::get<2>
      Src: /src/pldm/libpldmresponder/fru.cpp:171,1
    - Dst: auto::contains
      Src: /src/pldm/libpldmresponder/fru.cpp:178,1
    - Dst: pldm::utils::checkForFruPresence
      Src: /src/pldm/libpldmresponder/fru.cpp:181,1
    - Dst: pldm::responder::FruImpl::updateAssociationTree
      Src: /src/pldm/libpldmresponder/fru.cpp:191,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:193,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:196,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:198,1
    - Dst: getRecordInfo
      Src: /src/pldm/libpldmresponder/fru.cpp:201,1
    - Dst: pldm::responder::FruImpl::populateRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:202,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:204,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:209,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:218,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:223,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:225,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/libpldmresponder/fru.cpp:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 232
    functionName: pldm::responder::FruImpl::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - inventoryLookup
    - pldm_entity_extract
    - emplace
    - std::get<2>
    - pldm::responder::FruImpl::populateRecords
    - pldm::responder::FruImpl::updateAssociationTree
    - at
    - error
    - pldm::utils::checkForFruPresence
    - auto::contains
    - contains
    - pldm_entity_association_tree_copy_root
    - "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
    - std::runtime_error
    - getRecordInfo
    - pldm_entity_association_pdr_add
    linkageType: ''
    returnType: void
    signature: void FruImpl::buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/fru.cpp:237,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/fru.cpp:242,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/fru.cpp:244,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/fru.cpp:247,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/fru.cpp:248,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/fru.cpp:249,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/fru.cpp:250,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/fru.cpp:251,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:253,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 262
    functionName: pldm::responder::FruImpl::populatefwVersion
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - std::get<std::vector<std::string>>
    - error
    - call
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::append
    - auto::c_str
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::string
    signature: std::string FruImpl::populatefwVersion()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::populatefwVersion
      Src: /src/pldm/libpldmresponder/fru.cpp:287,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:291,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/libpldmresponder/fru.cpp:295,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:296,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:302,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:305,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:309,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:310,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:316,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:319,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:328,1
    - Dst: pldm::responder::FruImpl::nextRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:332,1
    - Dst: pldm::responder::FruImpl::nextRecordHandle
      Src: /src/pldm/libpldmresponder/fru.cpp:333,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/pldm/libpldmresponder/fru.cpp:334,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:341,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:345,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: encode_fru_record
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - ' interfaces'
    - ' recordInfos'
    - ' entity'
    argTypes:
    - pldm::responder::dbus::InterfaceMap
    - fru_parser::FruRecordInfos
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 353
    functionName: pldm::responder::FruImpl::populateRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - std::vector::data
    - resize
    - auto::size
    - std::get<std::vector<uint8_t>>
    - std::vector::emplace_back
    - std::move
    - std::vector::size
    - pldm::responder::FruImpl::size
    - pldm::responder::FruImpl::populatefwVersion
    - std::end
    - pldm::responder::FruImpl::nextRSI
    - encode_fru_record
    - at
    - std::back_inserter
    - std::begin
    - data
    - std::runtime_error
    - pldm_pdr_add_fru_record_set
    - std::get<std::string>
    - pldm::responder::FruImpl::nextRecordHandle
    linkageType: ''
    returnType: void
    signature: "void FruImpl::populateRecords(\n    const pldm::responder::dbus::InterfaceMap&
      interfaces,\n    const fru_parser::FruRecordInfos& recordInfos, const pldm_entity&
      entity)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:360,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:363,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:366,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:371,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:381,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:383,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:389,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:391,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/fru.cpp:398,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:399,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/fru.cpp:402,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:405,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - rsi
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 417
    functionName: pldm::responder::FruImpl::deleteFRURecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const struct pldm_fru_record_data_format*>
    - error
    - le16toh
    - std::move
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - reinterpret_cast<const struct pldm_fru_record_tlv*>
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::deleteFRURecord(uint16_t rsi)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:424,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:443,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:451,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:456,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:459,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:460,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:461,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:462,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:468,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:472,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:482,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:487,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:490,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:491,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:493,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:496,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:501,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:509,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:514,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:519,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:526,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:530,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:534,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:539,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:547,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:552,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:553,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:554,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:557,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:558,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:559,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:560,1
    - Dst: pldm::responder::FruImpl::deleteFRURecord
      Src: /src/pldm/libpldmresponder/fru.cpp:562,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:567,1
    - Dst: pldm::utils::findEffecterIds
      Src: /src/pldm/libpldmresponder/fru.cpp:570,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/pldm/libpldmresponder/fru.cpp:577,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:582,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:586,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:589,1
    - Dst: pldm::utils::findSensorIds
      Src: /src/pldm/libpldmresponder/fru.cpp:592,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/pldm/libpldmresponder/fru.cpp:600,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:604,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:608,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:611,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:621,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:627,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:628,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:631,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:633,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:636,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:638,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 1
    argNames:
    - ' fruObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 641
    functionName: pldm::responder::FruImpl::removeIndividualFRU
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - sendPDRRepositoryChgEventbyPDRHandles
    - static_cast<unsigned>
    - error
    - pldm_entity_association_tree_delete_node
    - pldm_pdr_delete_by_sensor_id
    - pldm::responder::FruImpl::deleteFRURecord
    - pldm_pdr_delete_by_effecter_id
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm_entity_association_pdr_remove_contained_entity
    - static_cast<int>
    - pldm_pdr_remove_fru_record_set_by_rsi
    - erase
    - std::vector::push_back
    - info
    - pldm_pdr_find_record
    - pldm::utils::findEffecterIds
    - pldm::utils::findSensorIds
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void FruImpl::removeIndividualFRU(const std::string& fruObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:647,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: pldm::responder::FruImpl::tableResize
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::getNumPadBytes
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - end
    - std::vector::resize
    - std::vector::size
    - std::copy
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FruImpl::tableResize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:658,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:661,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:663,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: pldm::responder::FruImpl::getFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - reinterpret_cast<const uint8_t*>
    - std::vector::data
    - resize
    - pldm::responder::FruImpl::tableResize
    - std::vector::begin
    - pldm::responder::FruImpl::size
    - std::copy_n
    - std::vector::size
    - std::vector::end
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRUTable(Response& response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:678,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:680,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: pldm::responder::FruImpl::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - std::vector::data
    - pldm::responder::FruImpl::tableResize
    - pldm::responder::FruImpl::size
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRURecordTableMetadata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:692,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:699,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:700,1
    - Dst: get_fru_record_by_option
      Src: /src/pldm/libpldmresponder/fru.cpp:702,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:711,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:714,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' fruData'
    - recordSetIdentifer
    - recordType
    - fieldType
    argTypes:
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 720
    functionName: pldm::responder::FruImpl::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - get_fru_record_by_option
    - reinterpret_cast<const uint8_t*>
    - pldm::responder::FruImpl::buildFRUTable
    - data
    - pldm::utils::getNumPadBytes
    - resize
    - pldm::responder::FruImpl::size
    - std::copy_n
    - begin
    linkageType: ''
    returnType: int
    signature: "int FruImpl::getFRURecordByOption(\n    std::vector<uint8_t>& fruData,
      uint16_t /* fruTableHandle */,\n    uint16_t recordSetIdentifer, uint8_t recordType,
      uint8_t fieldType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: processOEMFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: pldm::responder::FruImpl::setFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - processOEMFRUTable
    - data
    - reinterpret_cast<const pldm_fru_record_data_format*>
    linkageType: ''
    returnType: int
    signature: int FruImpl::setFRUTable(const std::vector<uint8_t>& fruData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/libpldmresponder/fru.cpp:748,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/fru.cpp:749,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdrEntry
    argTypes:
    - pldm::responder::pdr_utils::PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: pldm::responder::FruImpl::addHotPlugRecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_add
    - fetchLastBMCRecord
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t FruImpl::addHotPlugRecord(\n    pldm::responder::pdr_utils::PdrEntry
      pdrEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 5
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 5
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 6
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 6
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getEntityType
      Src: /src/pldm/libpldmresponder/fru.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' intfMaps'
    argTypes:
    - dbus::InterfaceMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: pldm::responder::FruImpl::getEntityByObjectPath
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - getEntityType
    linkageType: ''
    returnType: std::optional<pldm_entity>
    signature: "std::optional<pldm_entity> FruImpl::getEntityByObjectPath(\n    const
      dbus::InterfaceMap& intfMaps)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/libpldmresponder/fru.cpp:56,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:62,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:64,1
    - Dst: std::stack::emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:67,1
    - Dst: pldm::utils::findParent
      Src: /src/pldm/libpldmresponder/fru.cpp:68,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:72,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:74,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:75,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:78,1
    - Dst: std::stack::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:79,1
    - Dst: std::stack::top
      Src: /src/pldm/libpldmresponder/fru.cpp:81,1
    - Dst: std::stack::pop
      Src: /src/pldm/libpldmresponder/fru.cpp:82,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:86,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:89,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/libpldmresponder/fru.cpp:90,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:98,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:103,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:113,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:124,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:131,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - ' objects'
    - ' path'
    argTypes:
    - dbus::ObjectValueTree
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 146
    functionName: pldm::responder::FruImpl::updateAssociationTree
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - std::stack::empty
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::stack::top
    - find
    - at
    - contains
    - std::stack::emplace
    - pldm::responder::FruImpl::getEntityByObjectPath
    - std::stack::pop
    - pldm::utils::findParent
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: "void FruImpl::updateAssociationTree(const dbus::ObjectValueTree& objects,\n
      \                                   const std::string& path)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inventoryLookup
      Src: /src/pldm/libpldmresponder/fru.cpp:159,1
    - Dst: "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
      Src: /src/pldm/libpldmresponder/fru.cpp:160,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:165,1
    - Dst: std::get<2>
      Src: /src/pldm/libpldmresponder/fru.cpp:171,1
    - Dst: auto::contains
      Src: /src/pldm/libpldmresponder/fru.cpp:178,1
    - Dst: pldm::utils::checkForFruPresence
      Src: /src/pldm/libpldmresponder/fru.cpp:181,1
    - Dst: pldm::responder::FruImpl::updateAssociationTree
      Src: /src/pldm/libpldmresponder/fru.cpp:191,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/fru.cpp:193,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:196,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/libpldmresponder/fru.cpp:198,1
    - Dst: getRecordInfo
      Src: /src/pldm/libpldmresponder/fru.cpp:201,1
    - Dst: pldm::responder::FruImpl::populateRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:202,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.cpp:204,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:209,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:218,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:223,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:225,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/libpldmresponder/fru.cpp:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 232
    functionName: pldm::responder::FruImpl::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - inventoryLookup
    - pldm_entity_extract
    - emplace
    - std::get<2>
    - pldm::responder::FruImpl::populateRecords
    - pldm::responder::FruImpl::updateAssociationTree
    - at
    - error
    - pldm::utils::checkForFruPresence
    - auto::contains
    - contains
    - pldm_entity_association_tree_copy_root
    - "pldm::utils::DBusHandler::getInventoryObjects<\n            pldm::utils::DBusHandler>"
    - std::runtime_error
    - getRecordInfo
    - pldm_entity_association_pdr_add
    linkageType: ''
    returnType: void
    signature: void FruImpl::buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/fru.cpp:237,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/fru.cpp:242,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/fru.cpp:244,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/fru.cpp:247,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/fru.cpp:248,1
    - Dst: std::get<std::vector<std::string>>
      Src: /src/pldm/libpldmresponder/fru.cpp:249,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/fru.cpp:250,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/fru.cpp:251,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:253,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 262
    functionName: pldm::responder::FruImpl::populatefwVersion
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - std::get<std::vector<std::string>>
    - error
    - call
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - auto::append
    - auto::c_str
    - auto::read
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: std::string
    signature: std::string FruImpl::populatefwVersion()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::populatefwVersion
      Src: /src/pldm/libpldmresponder/fru.cpp:287,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru.cpp:291,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/libpldmresponder/fru.cpp:295,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:296,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:302,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:303,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:304,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:305,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/fru.cpp:309,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:310,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:316,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/fru.cpp:317,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::end
      Src: /src/pldm/libpldmresponder/fru.cpp:318,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:319,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:328,1
    - Dst: pldm::responder::FruImpl::nextRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:332,1
    - Dst: pldm::responder::FruImpl::nextRecordHandle
      Src: /src/pldm/libpldmresponder/fru.cpp:333,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/pldm/libpldmresponder/fru.cpp:334,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/fru.cpp:341,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:345,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:346,1
    - Dst: encode_fru_record
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:347,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:349,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - ' interfaces'
    - ' recordInfos'
    - ' entity'
    argTypes:
    - pldm::responder::dbus::InterfaceMap
    - fru_parser::FruRecordInfos
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 353
    functionName: pldm::responder::FruImpl::populateRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 4
    functionsReached:
    - std::vector::data
    - resize
    - auto::size
    - std::get<std::vector<uint8_t>>
    - std::vector::emplace_back
    - std::move
    - std::vector::size
    - pldm::responder::FruImpl::size
    - pldm::responder::FruImpl::populatefwVersion
    - std::end
    - pldm::responder::FruImpl::nextRSI
    - encode_fru_record
    - at
    - std::back_inserter
    - std::begin
    - data
    - std::runtime_error
    - pldm_pdr_add_fru_record_set
    - std::get<std::string>
    - pldm::responder::FruImpl::nextRecordHandle
    linkageType: ''
    returnType: void
    signature: "void FruImpl::populateRecords(\n    const pldm::responder::dbus::InterfaceMap&
      interfaces,\n    const fru_parser::FruRecordInfos& recordInfos, const pldm_entity&
      entity)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:360,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:363,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:366,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:371,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:381,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:383,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:389,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:391,1
    - Dst: reinterpret_cast<const struct pldm_fru_record_tlv*>
      Src: /src/pldm/libpldmresponder/fru.cpp:398,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:399,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/fru.cpp:402,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:404,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:405,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/fru.cpp:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - rsi
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 417
    functionName: pldm::responder::FruImpl::deleteFRURecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const struct pldm_fru_record_data_format*>
    - error
    - le16toh
    - std::move
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - reinterpret_cast<const struct pldm_fru_record_tlv*>
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::deleteFRURecord(uint16_t rsi)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:424,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:438,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:443,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:451,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:456,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:459,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:460,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:461,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:462,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:468,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:472,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/pldm/libpldmresponder/fru.cpp:482,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:487,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:490,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:491,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:492,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/fru.cpp:493,1
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/fru.cpp:496,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:501,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:509,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/pldm/libpldmresponder/fru.cpp:514,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:519,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:526,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:530,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/pldm/libpldmresponder/fru.cpp:534,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:539,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:547,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:552,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:553,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/fru.cpp:554,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:557,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:558,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/fru.cpp:559,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:560,1
    - Dst: pldm::responder::FruImpl::deleteFRURecord
      Src: /src/pldm/libpldmresponder/fru.cpp:562,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:567,1
    - Dst: pldm::utils::findEffecterIds
      Src: /src/pldm/libpldmresponder/fru.cpp:570,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/pldm/libpldmresponder/fru.cpp:577,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:582,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:586,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:589,1
    - Dst: pldm::utils::findSensorIds
      Src: /src/pldm/libpldmresponder/fru.cpp:592,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/pldm/libpldmresponder/fru.cpp:600,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/fru.cpp:604,1
    - Dst: erase
      Src: /src/pldm/libpldmresponder/fru.cpp:608,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:611,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:621,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:622,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:627,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/fru.cpp:628,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:631,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:633,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/fru.cpp:636,1
    - Dst: sendPDRRepositoryChgEventbyPDRHandles
      Src: /src/pldm/libpldmresponder/fru.cpp:638,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 1
    argNames:
    - ' fruObjPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 641
    functionName: pldm::responder::FruImpl::removeIndividualFRU
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - sendPDRRepositoryChgEventbyPDRHandles
    - static_cast<unsigned>
    - error
    - pldm_entity_association_tree_delete_node
    - pldm_pdr_delete_by_sensor_id
    - pldm::responder::FruImpl::deleteFRURecord
    - pldm_pdr_delete_by_effecter_id
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm_entity_association_pdr_remove_contained_entity
    - static_cast<int>
    - pldm_pdr_remove_fru_record_set_by_rsi
    - erase
    - std::vector::push_back
    - info
    - pldm_pdr_find_record
    - pldm::utils::findEffecterIds
    - pldm::utils::findSensorIds
    - std::vector::empty
    linkageType: ''
    returnType: void
    signature: void FruImpl::removeIndividualFRU(const std::string& fruObjPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:647,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: std::back_inserter
      Src: /src/pldm/libpldmresponder/fru.cpp:649,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:650,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: pldm::responder::FruImpl::tableResize
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::getNumPadBytes
    - std::back_inserter
    - pldm::responder::FruImpl::size
    - end
    - std::vector::resize
    - std::vector::size
    - std::copy
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> FruImpl::tableResize()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:658,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:661,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:663,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:664,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:666,1
    - Dst: std::copy
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:667,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:670,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Response
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: pldm::responder::FruImpl::getFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - reinterpret_cast<const uint8_t*>
    - std::vector::data
    - resize
    - pldm::responder::FruImpl::tableResize
    - std::vector::begin
    - pldm::responder::FruImpl::size
    - std::copy_n
    - std::vector::size
    - std::vector::end
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRUTable(Response& response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:678,1
    - Dst: pldm::responder::FruImpl::tableResize
      Src: /src/pldm/libpldmresponder/fru.cpp:680,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 683
    functionName: pldm::responder::FruImpl::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - std::vector::data
    - pldm::responder::FruImpl::tableResize
    - pldm::responder::FruImpl::size
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void FruImpl::getFRURecordTableMetadata()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:692,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:699,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:700,1
    - Dst: get_fru_record_by_option
      Src: /src/pldm/libpldmresponder/fru.cpp:702,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:703,1
    - Dst: pldm::utils::getNumPadBytes
      Src: /src/pldm/libpldmresponder/fru.cpp:711,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:712,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/fru.cpp:714,1
    - Dst: std::copy_n
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/fru.cpp:715,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/fru.cpp:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' fruData'
    - recordSetIdentifer
    - recordType
    - fieldType
    argTypes:
    - std::vector<uint8_t>
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 720
    functionName: pldm::responder::FruImpl::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - get_fru_record_by_option
    - reinterpret_cast<const uint8_t*>
    - pldm::responder::FruImpl::buildFRUTable
    - data
    - pldm::utils::getNumPadBytes
    - resize
    - pldm::responder::FruImpl::size
    - std::copy_n
    - begin
    linkageType: ''
    returnType: int
    signature: "int FruImpl::getFRURecordByOption(\n    std::vector<uint8_t>& fruData,
      uint16_t /* fruTableHandle */,\n    uint16_t recordSetIdentifer, uint8_t recordType,
      uint8_t fieldType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/fru.cpp:725,1
    - Dst: processOEMFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' fruData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: pldm::responder::FruImpl::setFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - processOEMFRUTable
    - data
    - reinterpret_cast<const pldm_fru_record_data_format*>
    linkageType: ''
    returnType: int
    signature: int FruImpl::setFRUTable(const std::vector<uint8_t>& fruData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/libpldmresponder/fru.cpp:748,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/libpldmresponder/fru.cpp:749,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/libpldmresponder/fru.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdrEntry
    argTypes:
    - pldm::responder::pdr_utils::PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: pldm::responder::FruImpl::addHotPlugRecord
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_add
    - fetchLastBMCRecord
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t FruImpl::addHotPlugRecord(\n    pldm::responder::pdr_utils::PdrEntry
      pdrEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 7
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 7
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:765,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:774,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.cpp:776,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:778,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRSI
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: numRecords
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: checkSum
      Src: /src/pldm/libpldmresponder/fru.cpp:780,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 788
    functionName: pldm::responder::fru::Handler::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - size
    - pldm::responder::fru::Handler::buildFRUTable
    - checkSum
    - numRecords
    - pldm_msg::pldm_msg
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - numRSI
    - ccOnlyResponse
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTableMetadata(const pldm_msg* request,\n
      \                                           size_t /*payloadLength*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:794,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:798,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:803,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:806,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:810,1
    - Dst: getFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 816
    functionName: pldm::responder::fru::Handler::getFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - pldm::responder::fru::Handler::buildFRUTable
    - getFRUTable
    - encode_get_fru_record_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:823,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/pldm/libpldmresponder/fru.cpp:833,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:840,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.cpp:844,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:849,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:853,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:855,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:857,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/fru.cpp:859,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: pldm::responder::fru::Handler::getFRURecordByOption
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - std::vector::data
    - encode_get_fru_record_by_option_resp
    - decode_get_fru_record_by_option_req
    - pldm_msg::pldm_msg
    - std::vector::size
    - ccOnlyResponse
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getFRURecordByOption(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_fru_record_table_req
      Src: /src/pldm/libpldmresponder/fru.cpp:876,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:881,1
    - Dst: setFRUTable
      Src: /src/pldm/libpldmresponder/fru.cpp:885,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:888,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/fru.cpp:893,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/pldm/libpldmresponder/fru.cpp:895,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/fru.cpp:897,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/fru.cpp:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 905
    functionName: pldm::responder::fru::Handler::setFRURecordTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - setFRUTable
    - encode_set_fru_record_table_resp
    - pldm_msg::pldm_msg
    - decode_set_fru_record_table_req
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setFRURecordTable(const pldm_msg* request,\n                                    size_t
      payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIOSConfig(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const BIOSConfig&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(const BIOSConfig&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(BIOSConfig&&)'
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIOSConfig
    signature: BIOSConfig & operator=(BIOSConfig&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~BIOSConfig()
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::responder::bios::BIOSConfig::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: std::make_unique<T>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:210,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.hpp:211,1
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.hpp:212,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.hpp:214,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:217,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:218,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.hpp:219,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:223,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:224,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.hpp:227,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.hpp:228,1
    - Dst: interfacesAdded
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: argNpath
      Src: /src/pldm/libpldmresponder/bios_config.hpp:229,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.hpp:235,1
    - Dst: DbusIfacesAdded::find
      Src: /src/pldm/libpldmresponder/bios_config.hpp:236,1
    - Dst: DbusIfacesAdded::end
      Src: /src/pldm/libpldmresponder/bios_config.hpp:237,1
    - Dst: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
      Src: /src/pldm/libpldmresponder/bios_config.hpp:239,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.hpp:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - Json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 250
    functionName: pldm::responder::bios::BIOSConfig::constructAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - interfacesAdded
    - size
    - push_back
    - std::make_unique<sdbusplus::match>
    - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    - error
    - argNpath
    - DbusIfacesAdded::find
    - DbusIfacesAdded::end
    - getDBusMap
    - auto::has_value
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void constructAttribute(const Json& entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 9
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 9
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 2
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 10
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 10
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 3
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 11
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 11
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 4
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 12
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 12
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 5
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 13
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 13
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 6
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 14
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 14
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 7
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 15
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:50,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/platform.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - dbusObj
    - typeId
    argTypes:
    - uint16_t
    - std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: pldm::responder::platform::Handler::addDbusObjMaps
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: void
    signature: "void Handler::addDbusObjMaps(\n    uint16_t id,\n    std::tuple<pdr_utils::DbusMappings,
      pdr_utils::DbusValMaps> dbusObj,\n    TypeId typeId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:63,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - typeId
    argTypes:
    - uint16_t
    - TypeId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps>
    signature: "std::tuple<pdr_utils::DbusMappings, pdr_utils::DbusValMaps> &\n    Handler::getDbusObjMaps(uint16_t
      id, TypeId typeId) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/platform.cpp:76,1
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/platform.cpp:78,1
    - Dst: "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:93,1
    - Dst: "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:100,1
    - Dst: "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:106,1
    - Dst: fs::directory_iterator
      Src: /src/pldm/libpldmresponder/platform.cpp:114,1
    - Dst: fs::is_regular_file
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:118,1
    - Dst: readJson
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:120,1
    - Dst: auto::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:121,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:123,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:126,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:127,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:131,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform.cpp:134,1
    - Dst: std::map::at
      Src: /src/pldm/libpldmresponder/platform.cpp:135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:143,1
    - Dst: path
      Src: /src/pldm/libpldmresponder/platform.cpp:145,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:149,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:152,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:157,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' dir'
    - ' repo'
    argTypes:
    - pldm::utils::DBusHandler
    - std::vector<fs::path>
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 165
    functionName: pldm::responder::platform::Handler::generate
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 15
    functionsReached:
    - fs::directory_iterator
    - pldm::utils::reportError
    - "pdr_state_sensor::generateStateSensorPDR<pldm::utils::DBusHandler,\n                                                      Handler>"
    - error
    - auto::value
    - "pdr_numeric_effecter::generateNumericEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - "pdr_state_effecter::generateStateEffecterPDR<\n                 pldm::utils::DBusHandler,
      Handler>"
    - auto::empty
    - fs::exists
    - fs::is_regular_file
    - value
    - info
    - path
    - std::map::at
    - readJson
    linkageType: ''
    returnType: void
    signature: "void Handler::generate(const pldm::utils::DBusHandler& dBusIntf,\n
      \                      const std::vector<fs::path>& dir, Repo& repo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: checkBMCState
      Src: /src/pldm/libpldmresponder/platform.cpp:171,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:174,1
    - Dst: buildFRUTable
      Src: /src/pldm/libpldmresponder/platform.cpp:182,1
    - Dst: pldm::responder::platform::Handler::generateTerminusLocatorPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:187,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/platform.cpp:190,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/platform.cpp:191,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:198,1
    - Dst: buildOEMPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:204,1
    - Dst: pldm::responder::platform::Handler::generate
      Src: /src/pldm/libpldmresponder/platform.cpp:206,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/libpldmresponder/platform.cpp:212,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: std::mem_fn
      Src: /src/pldm/libpldmresponder/platform.cpp:214,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:224,1
    - Dst: decode_get_pdr_req
      Src: /src/pldm/libpldmresponder/platform.cpp:233,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:238,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/platform.cpp:246,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:249,1
    - Dst: Response::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:262,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:265,1
    - Dst: encode_get_pdr_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:266,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:271,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:276,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:279,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 282
    functionName: pldm::responder::platform::Handler::getPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::platform::Handler::generate
    - pldm::responder::pdr::getRecordByHandle
    - push_back
    - std::mem_fn
    - error
    - getPlatformName
    - auto::has_value
    - pldm::responder::platform::Handler::generateTerminusLocatorPDR
    - buildFRUTable
    - pldm::responder::CmdHandler::ccOnlyResponse
    - Response::resize
    - pldm_msg::pldm_msg
    - checkBMCState
    - std::bind
    - buildOEMPDR
    - encode_get_pdr_resp
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_req
    - auto::value
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getPDR(const pldm_msg* request, size_t payloadLength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:289,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:300,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/pldm/libpldmresponder/platform.cpp:303,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:305,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:309,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:312,1
    - Dst: isOemStateEffecter
      Src: /src/pldm/libpldmresponder/platform.cpp:318,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:321,1
    - Dst: oemSetStateEffecterStatesHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:323,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:329,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:335,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:338,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 346
    functionName: pldm::responder::platform::Handler::setStateEffecterStates
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::CmdHandler::ccOnlyResponse
    - isOemStateEffecter
    - decode_set_state_effecter_states_req
    - std::vector::data
    - contains
    - "platform_state_effecter::setStateEffecterStatesHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - oemSetStateEffecterStatesHandler
    - pldm_msg::pldm_msg
    - encode_set_state_effecter_states_resp
    - std::vector::resize
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setStateEffecterStates(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:356,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:360,1
    - Dst: watchDogRunning
      Src: /src/pldm/libpldmresponder/platform.cpp:368,1
    - Dst: resetWatchDogTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:370,1
    - Dst: setSurvTimer
      Src: /src/pldm/libpldmresponder/platform.cpp:374,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform.cpp:382,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/platform.cpp:387,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:395,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:400,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:402,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:407,1
    - Dst: encode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:409,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 417
    functionName: pldm::responder::platform::Handler::platformEventMessage
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - watchDogRunning
    - pldm::responder::CmdHandler::ccOnlyResponse
    - at
    - setSurvTimer
    - error
    - handler
    - pldm_msg::pldm_msg
    - resetWatchDogTimer
    - decode_platform_event_message_req
    - ccOnlyResponse
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::platformEventMessage(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:427,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:430,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:437,1
    - Dst: decode_state_sensor_data
      Src: /src/pldm/libpldmresponder/platform.cpp:448,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/libpldmresponder/platform.cpp:457,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:475,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:476,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/platform.cpp:486,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/libpldmresponder/platform.cpp:487,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/libpldmresponder/platform.cpp:496,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:502,1
    - Dst: handleStateSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 524
    functionName: pldm::responder::platform::Handler::sensorEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::tie
    - emitStateSensorEventSignal
    - reinterpret_cast<const uint8_t*>
    - lookupSensorInfo
    - pldm::pdr::CompositeSensorStates::size
    - handleStateSensorEvent
    - decode_state_sensor_data
    - contains
    - decode_sensor_event_data
    linkageType: ''
    returnType: int
    signature: "int Handler::sensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                        uint8_t /*formatVersion*/, uint8_t tid,\n                         size_t
      eventDataOffset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/platform.cpp:536,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:539,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/pldm/libpldmresponder/platform.cpp:563,1
    - Dst: pldm::responder::platform::Handler::getPDRRecordHandles
      Src: /src/pldm/libpldmresponder/platform.cpp:577,1
    - Dst: reinterpret_cast<const ChangeEntry*>
      Src: /src/pldm/libpldmresponder/platform.cpp:578,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/libpldmresponder/platform.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:585,1
    - Dst: tlPDRInfo::cbegin
      Src: /src/pldm/libpldmresponder/platform.cpp:605,1
    - Dst: tlPDRInfo::cend
      Src: /src/pldm/libpldmresponder/platform.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/platform.cpp:608,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/platform.cpp:610,1
    - Dst: tlPDRInfo::erase
      Src: /src/pldm/libpldmresponder/platform.cpp:612,1
    - Dst: deletePDRFromRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:622,1
    - Dst: fetchPDR
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 631
    functionName: pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<const ChangeEntry*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::get<0>
    - fetchPDR
    - static_cast<size_t>
    - tlPDRInfo::cbegin
    - error
    - tlPDRInfo::cend
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - deletePDRFromRepo
    - std::move
    - tlPDRInfo::erase
    - getPdr
    - pldm::responder::platform::Handler::getPDRRecordHandles
    linkageType: ''
    returnType: int
    signature: "int Handler::pldmPDRRepositoryChgEvent(\n    const pldm_msg* request,
      size_t payloadLength, uint8_t /*formatVersion*/,\n    uint8_t tid, size_t eventDataOffset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/pldm/libpldmresponder/platform.cpp:647,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - changeEntryData
    - changeEntryDataSize
    - numberOfChangeEntries
    - ' pdrRecordHandles'
    argTypes:
    - ChangeEntry*
    - size_t
    - size_t
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: pldm::responder::platform::Handler::getPDRRecordHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - std::memcpy
    - push_back
    linkageType: ''
    returnType: int
    signature: "int Handler::getPDRRecordHandles(\n    const ChangeEntry* changeEntryData,
      size_t changeEntryDataSize,\n    size_t numberOfChangeEntries, PDRRecordHandles&
      pdrRecordHandles)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:658,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:662,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:666,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:676,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:682,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:694,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/platform.cpp:695,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:698,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:700,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:706,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: pldm::responder::platform::Handler::getNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - "platform_numeric_effecter::getNumericEffecterData<\n        pldm::utils::DBusHandler,
      Handler>"
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - error
    - getEffecterDataSize
    - decode_get_numeric_effecter_value_req
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:727,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/pldm/libpldmresponder/platform.cpp:730,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:736,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 743
    functionName: pldm::responder::platform::Handler::setNumericEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - ccOnlyResponse
    - decode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setNumericEffecterValue(const pldm_msg* request,\n
      \                                         size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
      Src: /src/pldm/libpldmresponder/platform.cpp:749,1
    - Dst: pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
      Src: /src/pldm/libpldmresponder/platform.cpp:763,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:768,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:769,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:770,1
    - Dst: tlPDRInfo::insert_or_assign
      Src: /src/pldm/libpldmresponder/platform.cpp:773,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/platform.cpp:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - ' repo'
    argTypes:
    - Repo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: pldm::responder::platform::Handler::generateTerminusLocatorPDR
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 16
    functionsReached:
    - std::make_tuple
    - pldm_terminus_locator_pdr::pldm_terminus_locator_pdr
    - tlPDRInfo::insert_or_assign
    - std::vector::data
    - addRecord
    - pldm_terminus_locator_type_mctp_eid::pldm_terminus_locator_type_mctp_eid
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void Handler::generateTerminusLocatorPDR(Repo& repo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:788,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/platform.cpp:791,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:796,1
    - Dst: std::popcount
      Src: /src/pldm/libpldmresponder/platform.cpp:800,1
    - Dst: isOemStateSensor
      Src: /src/pldm/libpldmresponder/platform.cpp:810,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform.cpp:812,1
    - Dst: getOemStateSensorReadingsHandler
      Src: /src/pldm/libpldmresponder/platform.cpp:814,1
    - Dst: getSensorCache
      Src: /src/pldm/libpldmresponder/platform.cpp:822,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/platform.cpp:824,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:832,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:838,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:839,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:840,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/platform.cpp:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 848
    functionName: pldm::responder::platform::Handler::getStateSensorReadings
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - encode_get_state_sensor_readings_resp
    - decode_get_state_sensor_readings_req
    - std::popcount
    - std::vector::data
    - contains
    - "platform_state_sensor::getStateSensorReadingsHandler<\n            pldm::utils::DBusHandler,
      Handler>"
    - isOemStateSensor
    - pldm_msg::pldm_msg
    - getOemStateSensorReadingsHandler
    - getSensorCache
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getStateSensorReadings(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/libpldmresponder/platform.cpp:853,1
    - Dst: listenSensorEvent
      Src: /src/pldm/libpldmresponder/platform.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: pldm::responder::platform::Handler::_processPostGetPDRActions
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - listenSensorEvent
    - reset
    linkageType: ''
    returnType: void
    signature: "void Handler::_processPostGetPDRActions(sdeventplus::source::EventBase&\n
      \                                       /*source */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:868,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:871,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:872,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:873,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:875,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:880,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:883,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:884,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:888,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:896,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' handler'
    - sensorId
    - sensorRearmCount
    - ' compSensorCnt'
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    - ' containerId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 883
        line_start: 883
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 927
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 927
    functionName: pldm::responder::platform::isOemStateSensor
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - reinterpret_cast<state_sensor_possible_states*>
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - Repo::getFirstRecord
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateSensor(Handler& handler, uint16_t sensorId,\n                      uint8_t
      sensorRearmCount, uint8_t& compSensorCnt,\n                      uint16_t& entityType,
      uint16_t& entityInstance,\n                      uint16_t& stateSetId, uint16_t&
      containerId)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:939,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform.cpp:942,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform.cpp:943,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:945,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:947,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/platform.cpp:955,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform.cpp:956,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform.cpp:960,1
    - Dst: reinterpret_cast<state_effecter_possible_states*>
      Src: /src/pldm/libpldmresponder/platform.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:973,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - ' handler'
    - effecterId
    - compEffecterCnt
    - ' entityType'
    - ' entityInstance'
    - ' stateSetId'
    argTypes:
    - Handler
    - uint16_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/pldm/libpldmresponder/platform.cpp
    constantsTouched: []
    func_position:
      end: 996
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 996
    functionName: pldm::responder::platform::isOemStateEffecter
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - Repo::getNextRecord
    - std::unique_ptr::get
    - error
    - assert
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - Repo::getFirstRecord
    - reinterpret_cast<state_effecter_possible_states*>
    - getRepo
    - Repo::empty
    linkageType: ''
    returnType: bool
    signature: "bool isOemStateEffecter(Handler& handler, uint16_t effecterId,\n                        uint8_t
      compEffecterCnt, uint16_t& entityType,\n                        uint16_t& entityInstance,
      uint16_t& stateSetId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1002,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1003,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1006,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1008,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1015,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1020,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1021,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1032,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1041,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/libpldmresponder/platform.cpp:1044,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1048,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1050,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1054,1
    - Dst: countSetEventReceiver
      Src: /src/pldm/libpldmresponder/platform.cpp:1059,1
    - Dst: checkAndDisableWatchDog
      Src: /src/pldm/libpldmresponder/platform.cpp:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: pldm::responder::platform::Handler::setEventReceiver
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - pldm::utils::reportError
    - checkAndDisableWatchDog
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - countSetEventReceiver
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void Handler::setEventReceiver()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/platform.cpp:1071,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform.cpp:1074,1
    - Dst: std::vector::empty
      Src: /src/pldm/libpldmresponder/platform.cpp:1076,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1080,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform.cpp:1083,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/platform.cpp:1085,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1087,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1088,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1090,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/platform.cpp:1091,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1092,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1096,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1098,1
    - Dst: next
      Src: /src/pldm/libpldmresponder/platform.cpp:1101,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::error
      Src: /src/pldm/libpldmresponder/platform.cpp:1104,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/platform.cpp:1106,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/platform.cpp:1110,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/libpldmresponder/platform.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/platform.cpp:1113,1
    - Dst: free
      Src: /src/pldm/libpldmresponder/platform.cpp:1117,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1118,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1120,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1128,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/libpldmresponder/platform.cpp:1134,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/libpldmresponder/platform.cpp:1135,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1139,1
    - Dst: static_cast<int>
      Src: /src/pldm/libpldmresponder/platform.cpp:1141,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/libpldmresponder/platform.cpp:1142,1
    - Dst: registerRequest
      Src: /src/pldm/libpldmresponder/platform.cpp:1145,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform.cpp:1147,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform.cpp:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ' pdrRecordHandles'
    - ' eventDataOps'
    argTypes:
    - std::vector<ChangeEntry>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1153
    functionName: pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
    functionSourceFile: /src/pldm/libpldmresponder/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - static_cast<unsigned>
    - error
    - decode_platform_event_message_resp
    - static_cast<int>
    - free
    - registerRequest
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - pldm_msg::pldm_msg
    - auto::error
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void Handler::sendPDRRepositoryChgEventbyPDRHandles(\n    const std::vector<ChangeEntry>&
      pdrRecordHandles,\n    const std::vector<uint8_t>& eventDataOps)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:34,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:38,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:41,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:42,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:45,1
    - Dst: InternalFailure
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:48,1
    - Dst: std::vector::resize
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:56,1
    - Dst: reinterpret_cast<pldm_state_sensor_pdr*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:59,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:62,1
    - Dst: HTOLE32
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:71,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:72,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:73,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:79,1
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:80,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:81,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:84,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:86,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:88,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:92,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:93,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:94,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:106,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:107,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:108,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:113,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:115,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:117,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:119,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:120,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:121,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:122,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:127,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:130,1
    - Dst: reinterpret_cast<state_sensor_possible_states*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:132,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:133,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:134,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:135,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:141,1
    - Dst: reinterpret_cast<bitfield8_t*>
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:146,1
    - Dst: pldm::responder::pdr_utils::PossibleValues::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:148,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:151,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:152,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:153,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:154,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:155,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:162,1
    - Dst: pldm::responder::pdr_utils::populateMapping
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:166,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:171,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:176,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::emplace_back
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:177,1
    - Dst: pldm::responder::pdr_utils::DbusMappings::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: pldm::responder::pdr_utils::DbusValMaps::empty
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:180,1
    - Dst: getNextSensorId
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:182,1
    - Dst: HTOLE16
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:183,1
    - Dst: addDbusObjMaps
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:184,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:186,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:187,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:190,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr_state_sensor.hpp:192,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 4
    argNames:
    - ' dBusIntf'
    - ' json'
    - ' handler'
    - ' repo'
    argTypes:
    - DBusInterface
    - Json
    - Handler
    - pdr_utils::RepoInterface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 195
    functionName: pldm::responder::pdr_state_sensor::generateStateSensorPDR
    functionSourceFile: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - addRecord
    - addDbusObjMaps
    - auto::size
    - value
    - std::move
    - reinterpret_cast<pldm_state_sensor_pdr*>
    - getAssociateEntityMap
    - error
    - pldm::responder::pdr_utils::DbusMappings::empty
    - InternalFailure
    - getService
    - HTOLE32
    - pldm::responder::pdr_utils::DbusMappings::emplace_back
    - pldm::responder::pdr_utils::DbusValMaps::empty
    - at
    - HTOLE16
    - auto::c_str
    - pldm::responder::pdr_utils::DbusValMaps::emplace_back
    - getNextSensorId
    - std::make_tuple
    - reinterpret_cast<state_sensor_possible_states*>
    - contains
    - reinterpret_cast<bitfield8_t*>
    - std::runtime_error
    - pldm::responder::pdr_utils::PossibleValues::emplace_back
    - auto::value
    - std::vector::resize
    - pldm::responder::pdr_utils::populateMapping
    linkageType: ''
    returnType: void
    signature: "void generateStateSensorPDR(const DBusInterface& dBusIntf, const Json&
      json,\n                            Handler& handler, pdr_utils::RepoInterface&
      repo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: ~BIOSAttribute()
    functionSourceFile: /src/pldm/libpldmresponder/bios_attribute.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BIOSAttribute()
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 1
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 1
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 2
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 2
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 3
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 3
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 4
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 4
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 5
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 5
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 5
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 6
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 6
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:47,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:48,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:58,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:59,1
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:63,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:64,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:70,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:71,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:83,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:84,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:94,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:95,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:100,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:106,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:107,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:117,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:118,1
    - Dst: std::get<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:122,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:123,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:129,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:130,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:140,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:141,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:145,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:146,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:152,1
    - Dst: round
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:153,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:163,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:164,1
    - Dst: std::get<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:169,1
    - Dst: std::make_optional
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:175,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 76
    argCount: 3
    argNames:
    - pdr
    - ' effecterValue'
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - T
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 176
    functionName: pldm::responder::platform_numeric_effecter::getEffecterRawValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 7
    functionsReached:
    - std::get<int32_t>
    - static_cast<uint64_t>
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - std::get<uint16_t>
    - std::make_optional
    - round
    - std::get<uint8_t>
    - std::get<int16_t>
    - std::move
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::get<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> getEffecterRawValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, T& effecterValue,\n    std::string
      propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:193,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:194,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:198,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:199,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:204,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:205,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:209,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:210,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:215,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:216,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:220,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterRawValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:221,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pdr
    - effecterDataSize
    - effecterValue
    - propertyType
    argTypes:
    - pldm_numeric_effecter_value_pdr*
    - uint8_t
    - uint8_t*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: pldm::responder::platform_numeric_effecter::convertToDbusValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 7
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - error
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - pldm::responder::platform_numeric_effecter::getEffecterRawValue
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: std::pair<int, std::optional<pldm::utils::PropertyValue>>
    signature: "std::pair<int, std::optional<pldm::utils::PropertyValue>> convertToDbusValue(\n
      \   const pldm_numeric_effecter_value_pdr* pdr, uint8_t effecterDataSize,\n
      \   uint8_t* effecterValue, std::string propertyType)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:259,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:263,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:264,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:266,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:268,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:275,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:278,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:283,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:297,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:305,1
    - Dst: pldm::responder::platform_numeric_effecter::convertToDbusValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:311,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: value
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:319,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:323,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - effecterDataSize
    - effecterValue
    - effecterValueLength
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 339
    functionName: pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform_numeric_effecter::convertToDbusValue
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - value
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int setNumericEffecterValueHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t effecterId,\n    uint8_t effecterDataSize, uint8_t*
      effecterValue,\n    size_t effecterValueLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:360,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:361,1
    - Dst: static_cast<int8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:368,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:369,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:372,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:373,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:378,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:379,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:382,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:383,1
    - Dst: static_cast<int16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:388,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:389,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:392,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:393,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:398,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:399,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:402,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:403,1
    - Dst: static_cast<int32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:408,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:409,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:413,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 5
    argNames:
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - T
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 422
    functionName: pldm::responder::platform_numeric_effecter::getEffecterValue
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 7
    functionsReached:
    - static_cast<int16_t>
    - static_cast<uint8_t>
    - error
    - reinterpret_cast<uint8_t*>
    - encode_get_numeric_effecter_value_resp
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - static_cast<int8_t>
    - static_cast<int32_t>
    linkageType: ''
    returnType: int
    signature: "int getEffecterValue(T propertyValue, uint8_t effecterDataSize,\n
      \                    pldm_msg* responsePtr, size_t responsePayloadLength,\n
      \                    uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::get<uint8_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:441,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:442,1
    - Dst: std::get<uint16_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:447,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:448,1
    - Dst: std::get<uint32_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:454,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:455,1
    - Dst: std::get<uint64_t>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:461,1
    - Dst: pldm::responder::platform_numeric_effecter::getEffecterValue
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:462,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ' propertyType'
    - propertyValue
    - effecterDataSize
    - responsePtr
    - responsePayloadLength
    - instanceId
    argTypes:
    - std::string
    - pldm::utils::PropertyValue
    - uint8_t
    - pldm_msg*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 8
    functionsReached:
    - std::get<uint16_t>
    - error
    - pldm::responder::platform_numeric_effecter::getEffecterValue
    - std::get<uint64_t>
    - std::get<uint8_t>
    - std::get<uint32_t>
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterValueHandler(\n    const std::string& propertyType,
      pldm::utils::PropertyValue propertyValue,\n    uint8_t effecterDataSize, pldm_msg*
      responsePtr,\n    size_t responsePayloadLength, uint8_t instanceId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:500,1
    - Dst: pldm::responder::pdr::getRepoByType
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:501,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:503,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:505,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:512,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:516,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:521,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:530,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:539,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:540,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:546,1
    - Dst: pldm::utils::DBusMapping::objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:547,1
    - Dst: pldm::utils::DBusMapping::propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:548,1
    - Dst: pldm::utils::DBusMapping::interface::c_str
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:549,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:555,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ' dBusIntf'
    - ' handler'
    - effecterId
    - ' effecterDataSize'
    - ' propertyType'
    - ' propertyValue'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - std::string
    - pldm::utils::PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 566
    functionName: pldm::responder::platform_numeric_effecter::getNumericEffecterData
    functionSourceFile: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::utils::DBusMapping::propertyName::c_str
    - pldm::utils::DBusMapping::interface::c_str
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - std::unique_ptr::get
    - error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getDbusPropertyVariant
    - pldm::utils::DBusMapping::objectPath::c_str
    - pldm::responder::pdr_utils::Repo::empty
    - getRepo
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - pldm::responder::pdr::getRepoByType
    - getDbusObjMaps
    linkageType: ''
    returnType: int
    signature: "int getNumericEffecterData(const DBusInterface& dBusIntf, Handler&
      handler,\n                           uint16_t effecterId, uint8_t& effecterDataSize,\n
      \                          std::string& propertyType,\n                           pldm::utils::PropertyValue&
      propertyValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:20,1
    - Dst: pldm::responder::base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/base.hpp:23,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:25,1
    - Dst: pldm::responder::base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/base.hpp:28,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:30,1
    - Dst: pldm::responder::base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/base.hpp:33,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/base.hpp:35,1
    - Dst: pldm::responder::base::Handler::getTID
      Src: /src/pldm/libpldmresponder/base.hpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' event'
    argTypes:
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: pldm::responder::base::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::base::Handler::getTID
    - pldm::responder::base::Handler::getPLDMCommands
    - pldm::responder::base::Handler::getPLDMTypes
    - pldm::responder::base::Handler::getPLDMVersion
    linkageType: ''
    returnType: void
    signature: void Handler(sdeventplus::Event& event)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pldm::responder::base::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/base.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: pldm::responder::FruImpl::FruImpl
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FruImpl(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pldm::responder::FruImpl::size
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 25
    functionsReached:
    - pldm::responder::FruImpl::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::FruImpl::checkSum
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t checkSum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::FruImpl::numRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRSI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::FruImpl::numRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: "&\n        getAssociateEntityMap() const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap &\n        getAssociateEntityMap()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: pldm::responder::FruImpl::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pldm::responder::FruImpl::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pldm::responder::FruImpl::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pldm::responder::FruImpl::nextRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t nextRSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pldm::responder::FruImpl::nextRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextRecordHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 17
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 18
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: pldm::responder::FruImpl::FruImpl
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FruImpl(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pldm::responder::FruImpl::size
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 26
    functionsReached:
    - pldm::responder::FruImpl::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::FruImpl::checkSum
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t checkSum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::FruImpl::numRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRSI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::FruImpl::numRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: "&\n        getAssociateEntityMap() const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap &\n        getAssociateEntityMap()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: pldm::responder::FruImpl::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pldm::responder::FruImpl::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pldm::responder::FruImpl::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pldm::responder::FruImpl::nextRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t nextRSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pldm::responder::FruImpl::nextRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextRecordHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 19
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 20
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: pldm::responder::FruImpl::FruImpl
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FruImpl(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pldm::responder::FruImpl::size
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 27
    functionsReached:
    - pldm::responder::FruImpl::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::FruImpl::checkSum
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t checkSum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::FruImpl::numRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRSI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::FruImpl::numRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: "&\n        getAssociateEntityMap() const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap &\n        getAssociateEntityMap()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: pldm::responder::FruImpl::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pldm::responder::FruImpl::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pldm::responder::FruImpl::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pldm::responder::FruImpl::nextRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t nextRSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pldm::responder::FruImpl::nextRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextRecordHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 21
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 22
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: pldm::responder::FruImpl::FruImpl
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FruImpl(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::FruImpl::size
      Src: /src/pldm/libpldmresponder/fru.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pldm::responder::FruImpl::size
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 28
    functionsReached:
    - pldm::responder::FruImpl::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pldm::responder::FruImpl::checkSum
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t checkSum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pldm::responder::FruImpl::numRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRSI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pldm::responder::FruImpl::numRecords
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t numRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: "&\n        getAssociateEntityMap() const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap &\n        getAssociateEntityMap()
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: pldm::responder::FruImpl::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pldm::responder::FruImpl::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pldm::responder::FruImpl::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pldm::responder::FruImpl::nextRSI
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t nextRSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pldm::responder::FruImpl::nextRecordHandle
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t nextRecordHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 23
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:322,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTableMetadata
      Src: /src/pldm/libpldmresponder/fru.hpp:325,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:327,1
    - Dst: pldm::responder::fru::Handler::getFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:330,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:332,1
    - Dst: pldm::responder::fru::Handler::getFRURecordByOption
      Src: /src/pldm/libpldmresponder/fru.hpp:335,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/fru.hpp:337,1
    - Dst: pldm::responder::fru::Handler::setFRURecordTable
      Src: /src/pldm/libpldmresponder/fru.hpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - ' configPath'
    - ' fruMasterJsonPath'
    - pdrRepo
    - entityTree
    - bmcEntityTree
    argTypes:
    - std::string
    - std::filesystem::path
    - pldm_pdr*
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: pldm::responder::fru::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - emplace
    - pldm::responder::fru::Handler::setFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTable
    - pldm::responder::fru::Handler::getFRURecordTableMetadata
    - pldm::responder::fru::Handler::getFRURecordByOption
    linkageType: ''
    returnType: void
    signature: "void Handler(const std::string& configPath,\n            const std::filesystem::path&
      fruMasterJsonPath, pldm_pdr* pdrRepo,\n            pldm_entity_association_tree*
      entityTree,\n            pldm_entity_association_tree* bmcEntityTree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::buildFRUTable
      Src: /src/pldm/libpldmresponder/fru.hpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: pldm::responder::fru::Handler::buildFRUTable
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 24
    functionsReached:
    - pldm::responder::fru::Handler::buildFRUTable
    linkageType: ''
    returnType: void
    signature: void buildFRUTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociateEntityMap
      Src: /src/pldm/libpldmresponder/fru.hpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: "& getAssociateEntityMap()\n        const"
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 0
    functionsReached:
    - getAssociateEntityMap
    linkageType: ''
    returnType: pldm::responder::dbus::AssociatedEntityMap
    signature: "pldm::responder::dbus::AssociatedEntityMap & getAssociateEntityMap()\n
      \       const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pldm::responder::fru::Handler::setOemPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::fru::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setOemPlatformHandler(pldm::responder::oem_platform::Handler*
      handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setOemFruHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_fru::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pldm::responder::fru::Handler::setOemFruHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::fru::Handler::setOemFruHandler
    linkageType: ''
    returnType: void
    signature: void setOemFruHandler(pldm::responder::oem_fru::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::fru::Handler::setPlatformHandler
      Src: /src/pldm/libpldmresponder/fru.hpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::responder::fru::Handler::setPlatformHandler
    functionSourceFile: /src/pldm/libpldmresponder/fru.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::fru::Handler::setPlatformHandler
    linkageType: ''
    returnType: void
    signature: void setPlatformHandler(pldm::responder::platform::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: ~FruParser()
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FruParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(const FruParser&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(const FruParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pldm::responder::fru_parser::FruParser::FruParser
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FruParser(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: '& operator=(FruParser&&)'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FruParser
    signature: FruParser & operator=(FruParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& inventoryLookup() const'
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: DBusLookupInfo
    signature: DBusLookupInfo & inventoryLookup() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: "& getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: FruRecordInfos
    signature: "FruRecordInfos & getRecordInfo(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/fru_parser.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' intf'
    argTypes:
    - pldm::responder::dbus::Interface
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm::responder::fru_parser::FruParser::getEntityType
    functionSourceFile: /src/pldm/libpldmresponder/fru_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pldm::responder::dbus::EntityType
    signature: "pldm::responder::dbus::EntityType getEntityType(\n        const pldm::responder::dbus::Interface&
      intf) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:17,1
    - Dst: getRecordHandle
      Src: /src/pldm/libpldmresponder/pdr.cpp:24,1
    - Dst: addRecord
      Src: /src/pldm/libpldmresponder/pdr.cpp:25,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' inRepo'
    - ' outRepo'
    - pdrType
    argTypes:
    - Repo
    - Repo
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::responder::pdr::getRepoByType
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 16
    functionsReached:
    - pldm_pdr_find_record_by_type
    - getPdr
    - addRecord
    - getRecordHandle
    linkageType: ''
    returnType: void
    signature: void getRepoByType(const Repo& inRepo, Repo& outRepo, Type pdrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    - Dst: getPdr
      Src: /src/pldm/libpldmresponder/pdr.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' pdrRepo'
    - recordHandle
    - ' pdrEntry'
    argTypes:
    - RepoInterface
    - RecordHandle
    - PdrEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: pldm::responder::pdr::getRecordByHandle
    functionSourceFile: /src/pldm/libpldmresponder/pdr.cpp
    functionUses: 10
    functionsReached:
    - pldm_pdr_find_record
    - getPdr
    linkageType: ''
    returnType: pldm_pdr_record
    signature: "pldm_pdr_record * getRecordByHandle(\n    const RepoInterface& pdrRepo,
      RecordHandle recordHandle, PdrEntry& pdrEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 1
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 1
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 1
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 5
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 2
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 3
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 3
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 3
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 3
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 11
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 4
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 5
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 5
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 14
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 10
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 5
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 5
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 17
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 12
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_t
      Src: /src/pldm/libpldmresponder/bios.cpp:32,1
    - Dst: localtime
      Src: /src/pldm/libpldmresponder/bios.cpp:33,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:35,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:36,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:37,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:38,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:39,1
    - Dst: pldm::utils::decimalToBcd
      Src: /src/pldm/libpldmresponder/bios.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - timeSec
    - ' seconds'
    - ' minutes'
    - ' hours'
    - ' day'
    - ' month'
    - ' year'
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::responder::utils::epochToBCDTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::decimalToBcd
    - localtime
    - time_t
    linkageType: ''
    returnType: void
    signature: "void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,\n
      \                   uint8_t& hours, uint8_t& day, uint8_t& month,\n                    uint16_t&
      year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timegm
      Src: /src/pldm/libpldmresponder/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: pldm::responder::utils::timeToEpoch
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 6
    functionsReached:
    - timegm
    linkageType: ''
    returnType: std::time_t
    signature: "std::time_t timeToEpoch(uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n                        uint8_t day, uint8_t month, uint16_t year)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 7
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 7
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 20
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 14
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 7
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 7
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:81,1
    - Dst: pldm::responder::bios::Handler::setDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:84,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:86,1
    - Dst: pldm::responder::bios::Handler::getDateTime
      Src: /src/pldm/libpldmresponder/bios.cpp:89,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:91,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:94,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:96,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:99,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:101,1
    - Dst: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
      Src: /src/pldm/libpldmresponder/bios.cpp:104,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios.cpp:107,1
    - Dst: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
      Src: /src/pldm/libpldmresponder/bios.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - int
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: pldm::responder::bios::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - pldm::responder::bios::Handler::getBIOSTable
    - emplace
    - pldm::responder::bios::Handler::getDateTime
    - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    - pldm::responder::bios::Handler::setDateTime
    linkageType: ''
    returnType: void
    signature: "void Handler::Handler(\n    int fd, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:125,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:130,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:136,1
    - Dst: pldm::responder::CmdHandler::ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:139,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:142,1
    - Dst: std::chrono::microseconds
      Src: /src/pldm/libpldmresponder/bios.cpp:143,1
    - Dst: pldm::responder::utils::epochToBCDTime
      Src: /src/pldm/libpldmresponder/bios.cpp:146,1
    - Dst: encode_get_date_time_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:149,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - request
    argTypes:
    - pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 158
    functionName: pldm::responder::bios::Handler::getDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - std::chrono::microseconds
    - Response::data
    - pldm::responder::utils::epochToBCDTime
    - pldm::responder::CmdHandler::ccOnlyResponse
    - error
    - pldm_msg::pldm_msg
    - pldm::utils::DBusHandler
    - encode_get_date_time_resp
    - std::chrono::duration_cast<std::chrono::seconds>
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getDateTime(const pldm_msg* request, size_t /*payloadLength*/)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:176,1
    - Dst: std::get<std::string>
      Src: /src/pldm/libpldmresponder/bios.cpp:179,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:183,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:188,1
    - Dst: decode_set_date_time_req
      Src: /src/pldm/libpldmresponder/bios.cpp:197,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:201,1
    - Dst: pldm::responder::utils::timeToEpoch
      Src: /src/pldm/libpldmresponder/bios.cpp:203,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/pldm/libpldmresponder/bios.cpp:205,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/libpldmresponder/bios.cpp:206,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/libpldmresponder/bios.cpp:213,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios.cpp:217,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:221,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 225
    functionName: pldm::responder::bios::Handler::setDateTime
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - error
    - std::chrono::seconds
    - pldm::responder::utils::timeToEpoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::get<std::string>
    - pldm::utils::DBusHandler
    - ccOnlyResponse
    - decode_set_date_time_req
    linkageType: ''
    returnType: Response
    signature: Response Handler::setDateTime(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:233,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:237,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: static_cast<pldm_bios_table_types>
      Src: /src/pldm/libpldmresponder/bios.cpp:241,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:248,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:249,1
    - Dst: encode_get_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:251,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: Response::size
      Src: /src/pldm/libpldmresponder/bios.cpp:253,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: pldm::responder::bios::Handler::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 23
    functionsReached:
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - auto::data
    - auto::size
    - encode_get_bios_table_resp
    - decode_get_bios_table_req
    - static_cast<pldm_bios_table_types>
    - pldm_msg::pldm_msg
    - Response::size
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::getBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_table_req
      Src: /src/pldm/libpldmresponder/bios.cpp:269,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:273,1
    - Dst: pldm::responder::bios::Handler::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:277,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:280,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:284,1
    - Dst: encode_set_bios_table_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:286,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: pldm::responder::bios::Handler::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 16
    functionsReached:
    - pldm::responder::bios::Handler::setBIOSTable
    - decode_set_bios_table_req
    - Response::data
    - encode_set_bios_table_resp
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    linkageType: ''
    returnType: Response
    signature: Response Handler::setBIOSTable(const pldm_msg* request, size_t payloadLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/libpldmresponder/bios.cpp:303,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:308,1
    - Dst: pldm::responder::bios::Handler::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios.cpp:311,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:314,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/pldm/libpldmresponder/bios.cpp:317,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios.cpp:318,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:321,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/pldm/libpldmresponder/bios.cpp:324,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:329,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:330,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/bios.cpp:332,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 339
    functionName: pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - Response::data
    - pldm::responder::bios::Handler::getBIOSTable
    - reinterpret_cast<const uint8_t*>
    - auto::data
    - auto::size
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_find_by_handle
    - pldm_msg::pldm_msg
    - ccOnlyResponse
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: Response
    signature: "Response Handler::getBIOSAttributeCurrentValueByHandle(const pldm_msg*
      request,\n                                                       size_t payloadLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/pldm/libpldmresponder/bios.cpp:348,1
    - Dst: ccOnlyResponse
      Src: /src/pldm/libpldmresponder/bios.cpp:353,1
    - Dst: setAttrValue
      Src: /src/pldm/libpldmresponder/bios.cpp:356,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/libpldmresponder/bios.cpp:361,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/pldm/libpldmresponder/bios.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/libpldmresponder/bios.cpp
    functionUses: 8
    functionsReached:
    - Response::data
    - pldm_msg::pldm_msg
    - decode_set_bios_attribute_current_value_req
    - ccOnlyResponse
    - encode_set_bios_attribute_current_value_resp
    - setAttrValue
    linkageType: ''
    returnType: Response
    signature: "Response Handler::setBIOSAttributeCurrentValue(const pldm_msg* request,\n
      \                                              size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 1
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 2
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 3
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 4
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 5
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 7
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::Handler::setOemBiosHandler
      Src: /src/pldm/libpldmresponder/bios.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_bios::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm::responder::bios::Handler::setOemBiosHandler
    functionSourceFile: /src/pldm/libpldmresponder/bios.hpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::Handler::setOemBiosHandler
    linkageType: ''
    returnType: void
    signature: void setOemBiosHandler(pldm::responder::oem_bios::Handler* handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: operator==(const StateSensorEntry& e) const
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StateSensorEntry& e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:54,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:56,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:61,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: operator<(const StateSensorEntry& e) const
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const StateSensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~StateSensorHandler()
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StateSensorHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler(const StateSensorHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '& operator=(const StateSensorHandler&)'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StateSensorHandler
    signature: StateSensorHandler & operator=(const StateSensorHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler(StateSensorHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(StateSensorHandler&&)'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StateSensorHandler
    signature: StateSensorHandler & operator=(StateSensorHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '& getEventInfo(const StateSensorEntry& entry) const'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: EventDBusInfo
    signature: EventDBusInfo & getEventInfo(const StateSensorEntry& entry) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: operator==(const StateSensorEntry& e) const
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StateSensorEntry& e) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:54,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:56,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:61,1
    - Dst: std::tie
      Src: /src/pldm/libpldmresponder/event_parser.hpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: operator<(const StateSensorEntry& e) const
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached:
    - std::tie
    linkageType: ''
    returnType: bool
    signature: bool operator<(const StateSensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~StateSensorHandler()
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StateSensorHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler(const StateSensorHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '& operator=(const StateSensorHandler&)'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StateSensorHandler
    signature: StateSensorHandler & operator=(const StateSensorHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldm::responder::events::StateSensorHandler::StateSensorHandler
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StateSensorHandler(StateSensorHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(StateSensorHandler&&)'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StateSensorHandler
    signature: StateSensorHandler & operator=(StateSensorHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/event_parser.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - StateSensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: '& getEventInfo(const StateSensorEntry& entry) const'
    functionSourceFile: /src/pldm/libpldmresponder/event_parser.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: EventDBusInfo
    signature: EventDBusInfo & getEventInfo(const StateSensorEntry& entry) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 1
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 2
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 3
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 4
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 5
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 6
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:44,1
    - Dst: objectPath::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: propertyName::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:45,1
    - Dst: interface::c_str
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:46,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' dBusIntf'
    - ' stateToDbusValue'
    - ' dbusMapping'
    argTypes:
    - DBusInterface
    - "std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>"
    - pldm::utils::DBusMapping
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: pldm::responder::platform_state_sensor::getStateSensorEventState
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 7
    functionsReached:
    - propertyName::c_str
    - error
    - objectPath::c_str
    - getDbusPropertyVariant
    - interface::c_str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t getStateSensorEventState(\n    const DBusInterface& dBusIntf,\n
      \   const std::map<pldm::responder::pdr_utils::State,\n                   pldm::utils::PropertyValue>&
      stateToDbusValue,\n    const pldm::utils::DBusMapping& dbusMapping)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:101,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: getRepo
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:102,1
    - Dst: pldm::responder::pdr_utils::Repo::empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:103,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:105,1
    - Dst: pldm::responder::pdr_utils::Repo::getFirstRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:110,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:113,1
    - Dst: assert
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:114,1
    - Dst: pldm::responder::pdr_utils::Repo::getNextRecord
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:118,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:125,1
    - Dst: resize
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:134,1
    - Dst: getDbusObjMaps
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:148,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:151,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:153,1
    - Dst: contains
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:158,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:160,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:162,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:164,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:165,1
    - Dst: pldm::responder::platform_state_sensor::getStateSensorEventState
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:170,1
    - Dst: pldm::responder::pdr_utils::EventStates::at
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:179,1
    - Dst: updateSensorCache
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:182,1
    - Dst: push_back
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:196,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/platform_state_sensor.hpp:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 7
    argNames:
    - ' dBusIntf'
    - ' handler'
    - sensorId
    - sensorRearmCnt
    - ' compSensorCnt'
    - ' stateField'
    - ' sensorCache'
    argTypes:
    - DBusInterface
    - Handler
    - uint16_t
    - uint8_t
    - uint8_t
    - std::vector<get_sensor_state_field>
    - stateSensorCacheMaps
    assertStmts:
    - condition: (pdr != nullptr)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    constantsTouched: []
    func_position:
      end: 208
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 208
    functionName: pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
    functionSourceFile: /src/pldm/libpldmresponder/platform_state_sensor.hpp
    functionUses: 0
    functionsReached:
    - resize
    - pldm::responder::pdr_utils::Repo::empty
    - size
    - push_back
    - error
    - updateSensorCache
    - pldm::responder::pdr_utils::Repo::getNextRecord
    - getDbusObjMaps
    - clear
    - getRepoByType
    - std::unique_ptr::get
    - at
    - pldm::responder::platform_state_sensor::getStateSensorEventState
    - empty
    - pldm::responder::pdr_utils::EventStates::at
    - contains
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - assert
    - std::runtime_error
    - pldm::responder::pdr_utils::Repo::getFirstRecord
    - getRepo
    linkageType: ''
    returnType: int
    signature: "int getStateSensorReadingsHandler(\n    const DBusInterface& dBusIntf,
      Handler& handler, uint16_t sensorId,\n    uint8_t sensorRearmCnt, uint8_t& compSensorCnt,\n
      \   std::vector<get_sensor_state_field>& stateField,\n    const stateSensorCacheMaps&
      sensorCache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 12
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 18
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 9
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 10
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 24
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 12
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 9
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 10
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 12
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 30
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 15
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 11
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 12
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 5
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 14
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 36
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 18
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 13
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 14
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 12
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 6
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::create_directories
      Src: /src/pldm/libpldmresponder/bios_config.cpp:53,1
    - Dst: pldm::responder::bios::BIOSConfig::removeTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:54,1
    - Dst: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
      Src: /src/pldm/libpldmresponder/bios_config.cpp:57,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:59,1
    - Dst: pldm::responder::bios::BIOSConfig::listenPendingAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - jsonDir
    - tableDir
    - dbusHandler
    - eid
    - instanceIdDb
    - handler
    - platformConfigHandler
    - requestPLDMServiceName
    argTypes:
    - char*
    - char*
    - DBusHandler*
    - uint8_t
    - pldm::InstanceIdDb*
    - pldm::requester::Handler<pldm::requester::Request>*
    - pldm::responder::platform_config::Handler*
    - pldm::responder::bios::Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: pldm::responder::bios::BIOSConfig::BIOSConfig
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::BIOSConfig::listenPendingAttributes
    - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - fs::create_directories
    - pldm::responder::bios::BIOSConfig::removeTables
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::BIOSConfig(\n    const char* jsonDir, const char*
      tableDir, DBusHandler* const dbusHandler,\n    int /* fd */, uint8_t eid, pldm::InstanceIdDb*
      instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>* handler,\n
      \   pldm::responder::platform_config::Handler* platformConfigHandler,\n    pldm::responder::bios::Callback
      requestPLDMServiceName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:69,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:70,1
    - Dst: auto::value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:73,1
    - Dst: pldm::responder::bios::BIOSConfig::initBIOSAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:74,1
    - Dst: registerSystemTypeCallback
      Src: /src/pldm/libpldmresponder/bios_config.cpp:78,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/bios_config.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - std::bind
    - pldm::responder::bios::BIOSConfig::initBIOSAttributes
    - getPlatformName
    - auto::has_value
    - registerSystemTypeCallback
    - auto::value
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::checkSystemTypeAvailability()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: fs::is_symlink
      Src: /src/pldm/libpldmresponder/bios_config.cpp:90,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:92,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:96,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttributes
      Src: /src/pldm/libpldmresponder/bios_config.cpp:100,1
    - Dst: pldm::responder::bios::BIOSConfig::buildTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:101,1
    - Dst: requestPLDMServiceName
      Src: /src/pldm/libpldmresponder/bios_config.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' systemType'
    - registerService
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: pldm::responder::bios::BIOSConfig::initBIOSAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 16
    functionsReached:
    - requestPLDMServiceName
    - fs::is_symlink
    - error
    - pldm::responder::bios::BIOSConfig::buildTables
    - fs::exists
    - pldm::responder::bios::BIOSConfig::constructAttributes
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::initBIOSAttributes(const std::string& systemType,\n
      \                                   bool registerService)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:110,1
    - Dst: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
      Src: /src/pldm/libpldmresponder/bios_config.cpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: pldm::responder::bios::BIOSConfig::buildTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildTables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::loadTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: pldm::responder::bios::BIOSConfig::getBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 42
    functionsReached:
    - pldm::responder::bios::BIOSConfig::loadTable
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::getBIOSTable(pldm_bios_table_types
      tableType)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_checksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:142,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:149,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:153,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:154,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:159,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:165,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:169,1
    - Dst: fs::path::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:170,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:171,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:176,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:182,1
    - Dst: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tableType
    - ' table'
    - updateBaseBIOSTable
    argTypes:
    - uint8_t
    - Table
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 195
    functionName: pldm::responder::bios::BIOSConfig::setBIOSTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 21
    functionsReached:
    - size
    - data
    - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    - pldm_bios_table_checksum
    - pldm::responder::bios::BIOSConfig::storeTable
    - BIOSTable::isEmpty
    - pldm::responder::bios::BIOSConfig::checkAttributeTable
    - fs::path::c_str
    - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setBIOSTable(uint8_t tableType, const Table& table,\n
      \                            bool updateBaseBIOSTable)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:200,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:202,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:205,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:207,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:208,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:214,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:215,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:224,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:227,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:228,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:232,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:233,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:235,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:237,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:238,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:245,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:247,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 270
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - auto::data
    - auto::size
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeTable(const Table& table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:275,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:276,1
    - Dst: clear
      Src: /src/pldm/libpldmresponder/bios_config.cpp:278,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:281,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:296,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:298,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/libpldmresponder/bios_config.cpp:299,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:301,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:308,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:310,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:312,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:313,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:319,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:322,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:323,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:325,1
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:327,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:330,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:332,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:334,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:336,1
    - Dst: std::map::contains
      Src: /src/pldm/libpldmresponder/bios_config.cpp:345,1
    - Dst: std::vector::insert
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:349,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:350,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:354,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:355,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:358,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:363,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:364,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:366,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:367,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:375,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:379,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:380,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:383,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:385,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:386,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:388,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:393,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:396,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:397,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:400,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:402,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:407,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/libpldmresponder/bios_config.cpp:410,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:411,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:414,1
    - Dst: getValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:417,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:427,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/libpldmresponder/bios_config.cpp:428,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/libpldmresponder/bios_config.cpp:433,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:435,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:438,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:439,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:442,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:443,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:446,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:447,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:456,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:458,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:459,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:461,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:463,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:467,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:470,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:471,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:472,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:473,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:475,1
    - Dst: Option::push_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:476,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:477,1
    - Dst: static_cast<int64_t>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:479,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:480,1
    - Dst: emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:493,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:494,1
    - Dst: std::make_tuple
      Src: /src/pldm/libpldmresponder/bios_config.cpp:495,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 501
    functionName: pldm::responder::bios::BIOSConfig::checkAttributeValueTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - emplace
    - static_cast<pldm_bios_attribute_type>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - auto::size
    - std::move
    - getValue
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - static_cast<int64_t>
    - size
    - std::map::contains
    - pldm_bios_table_attr_entry_integer_decode
    - auto::data
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - clear
    - pldm_bios_table_string_entry_decode_string
    - pldm_bios_table_attr_entry_string_decode_min_length
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    - empty
    - std::vector::insert
    - std::make_tuple
    - reinterpret_cast<const char*>
    - data
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - Option::push_back
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - end
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::end
    - begin
    linkageType: ''
    returnType: int
    signature: int BIOSConfig::checkAttributeValueTable(const Table& table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:507,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:514,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:515,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:517,1
    - Dst: processOEMBaseBiosTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:522,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:524,1
    - Dst: call_noreply
      Src: /src/pldm/libpldmresponder/bios_config.cpp:527,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - empty
    - auto::append
    - error
    - call_noreply
    - auto::c_str
    - getBus
    - processOEMBaseBiosTable
    - getService
    - new_method_call
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::updateBaseBIOSTableProperty()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:538,1
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:540,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:541,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:544,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:548,1
    - Dst: pldm::responder::bios::BIOSConfig::constructAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 555
    functionName: pldm::responder::bios::BIOSConfig::constructAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - at
    - pldm::responder::bios::BIOSConfig::constructAttribute
    - pldm::responder::bios::BIOSConfig::load
    - info
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::constructAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:561,1
    - Dst: getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:570,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/bios_config.cpp:571,1
    - Dst: new_method_call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:574,1
    - Dst: auto::append
      Src: /src/pldm/libpldmresponder/bios_config.cpp:576,1
    - Dst: call
      Src: /src/pldm/libpldmresponder/bios_config.cpp:578,1
    - Dst: auto::read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:580,1
    - Dst: std::get<BaseBIOSTable>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:581,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:588,1
    - Dst: BaseBIOSTable::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:598,1
    - Dst: BaseBIOSTable::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:599,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:601,1
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:606,1
    - Dst: std::get<static_cast<uint8_t>(Index::currentValue)>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:608,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:614,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:620,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:621,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:622,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 624
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - empty
    - auto::read
    - BaseBIOSTable::find
    - std::get<BaseBIOSTable>
    - pldm::responder::bios::table::appendPadAndChecksum
    - auto::append
    - error
    - call
    - BaseBIOSTable::end
    - auto::c_str
    - getBus
    - std::get<static_cast<uint8_t>(Index::currentValue)>
    - getService
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - new_method_call
    - constructEntry
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::buildAndStoreAttrTables(const Table& stringTable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:629,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:630,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:632,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:633,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:636,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:641,1
    - Dst: std::set::empty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:645,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:653,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/bios_config.cpp:656,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 659
    functionName: pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - std::set::emplace
    - at
    - pldm::responder::bios::table::string::constructEntry
    - pldm::responder::bios::BIOSConfig::load
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - std::set::empty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::buildAndStoreStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:663,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/bios_config.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' path'
    - ' table'
    argTypes:
    - fs::path
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: pldm::responder::bios::BIOSConfig::storeTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 15
    functionsReached:
    - c_str
    - BIOSTable::store
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::storeTable(const fs::path& path, const Table& table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/bios_config.cpp:669,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/bios_config.cpp:670,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/bios_config.cpp:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: pldm::responder::bios::BIOSConfig::loadTable
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - c_str
    - BIOSTable::load
    - BIOSTable::isEmpty
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> BIOSConfig::loadTable(const fs::path& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/libpldmresponder/bios_config.cpp:684,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/bios_config.cpp:688,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/bios_config.cpp:689,1
    - Dst: Json::at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:690,1
    - Dst: handler
      Src: /src/pldm/libpldmresponder/bios_config.cpp:695,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:699,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' filePath'
    - handler
    argTypes:
    - fs::path
    - ParseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 711
    functionName: pldm::responder::bios::BIOSConfig::load
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 16
    functionsReached:
    - Json::at
    - error
    - fs::exists
    - pldm::fw_update::PackageParser::parse
    - handler
    - std::ifstream::open
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::load(const fs::path& filePath, ParseHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/libpldmresponder/bios_config.cpp:717,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:720,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:721,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::decodeStringFromStringEntry(\n    const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:729,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:730,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/libpldmresponder/bios_config.cpp:732,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:735,1
    - Dst: std::runtime_error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:738,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:744,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:745,1
    - Dst: std::to_string
      Src: /src/pldm/libpldmresponder/bios_config.cpp:747,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:749,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:750,1
    - Dst: pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 755
    functionName: pldm::responder::bios::BIOSConfig::displayStringHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - error
    - std::runtime_error
    - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string BIOSConfig::displayStringHandle(\n    uint16_t handle,
      uint8_t index, const std::optional<Table>& attrTable,\n    const std::optional<Table>&
      stringTable)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:761,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:762,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:765,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:767,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:769,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/libpldmresponder/bios_config.cpp:776,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/libpldmresponder/bios_config.cpp:779,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:780,1
    - Dst: pldm::responder::bios::BIOSConfig::displayStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:784,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:787,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:797,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:799,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:808,1
    - Dst: info
      Src: /src/pldm/libpldmresponder/bios_config.cpp:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - attrValueEntry
    - attrEntry
    - isBMC
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 818
    functionName: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - BIOSStringTable::findString
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm::responder::bios::BIOSConfig::displayStringHandle
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - info
    - std::vector::size
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::traceBIOSUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, bool isBMC)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:826,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:834,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:836,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:837,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:841,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:843,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:854,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:856,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:860,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:871,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:873,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:874,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:875,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:877,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:879,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:886,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - attrValueEntry
    - attrEntry
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 889
    functionName: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - size
    - error
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - auto::size
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::checkAttrValueToUpdate(\n    const pldm_bios_attr_val_table_entry*
      attrValueEntry,\n    const pldm_bios_attr_table_entry* attrEntry, Table&)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:894,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:895,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:896,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:903,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:905,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:908,1
    - Dst: pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:914,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:921,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:930,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:933,1
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:934,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:935,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:938,1
    - Dst: setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:944,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:950,1
    - Dst: pldm::responder::bios::BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:954,1
    - Dst: pldm::responder::bios::BIOSConfig::traceBIOSUpdate
      Src: /src/pldm/libpldmresponder/bios_config.cpp:956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - entry
    - size
    - isBMC
    - updateDBus
    - updateBaseBIOSTable
    argTypes:
    - void*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 959
    functionName: pldm::responder::bios::BIOSConfig::setAttrValue
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
    - pldm::responder::bios::table::attribute::findByHandle
    - BIOSStringTable::findString
    - setAttrValueOnDbus
    - error
    - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
    - pldm::responder::bios::table::attribute_value::updateTable
    - std::find_if
    - pldm::responder::bios::BIOSConfig::setBIOSTable
    - end
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    - begin
    linkageType: ''
    returnType: int
    signature: "int BIOSConfig::setAttrValue(const void* entry, size_t size, bool
      isBMC,\n                             bool updateDBus, bool updateBaseBIOSTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:965,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:966,1
    - Dst: fs::remove
      Src: /src/pldm/libpldmresponder/bios_config.cpp:967,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: pldm::responder::bios::BIOSConfig::removeTables
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - error
    - fs::remove
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::removeTables()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBusMap
      Src: /src/pldm/libpldmresponder/bios_config.cpp:978,1
    - Dst: find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:982,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:983,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:989,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:990,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:992,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:999,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1003,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1009,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1010,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1012,1
    - Dst: pldm::responder::bios::table::attribute::findByStringHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1016,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1019,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1026,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1028,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1030,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1032,1
    - Dst: updateAttrVal
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1037,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1041,1
    - Dst: pldm::responder::bios::table::attribute_value::updateTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1046,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1047,1
    - Dst: auto::has_value
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1048,1
    - Dst: pldm::responder::bios::BIOSConfig::storeTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1050,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1053,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' chProperties'
    - biosAttrIndex
    argTypes:
    - DbusChObjProperties
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1060
    functionName: pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - pldm::responder::bios::table::attribute::findByStringHandle
    - Table::data
    - updateAttrVal
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - find
    - error
    - Table::size
    - pldm::responder::bios::BIOSConfig::storeTable
    - getDBusMap
    - pldm::responder::bios::table::attribute_value::updateTable
    - auto::has_value
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::processBiosAttrChangeNotification(\n    const DbusChObjProperties&
      chProperties, uint32_t biosAttrIndex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1064,1
    - Dst: pldm::responder::bios::BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1065,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1069,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1070,1
    - Dst: pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1072,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1073,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1075,1
    - Dst: std::invalid_argument
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' attrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1083
    functionName: pldm::responder::bios::BIOSConfig::findAttrHandle
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - std::invalid_argument
    - pldm::responder::bios::BIOSConfig::getBIOSTable
    - auto::data
    - auto::size
    - pldm::bios::utils::BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::decodeHeader
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t BIOSConfig::findAttrHandle(const std::string& attrName)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: begin
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1095,1
    - Dst: end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1100,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1102,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1107,1
    - Dst: pldm::responder::bios::BIOSConfig::findAttrHandle
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1109,1
    - Dst: BIOSConfigManager::convertAttributeTypeFromString
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1111,1
    - Dst: error
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1117,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1124,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1126,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: htole16
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1131,1
    - Dst: generateAttributeEntry
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1134,1
    - Dst: pldm::responder::bios::BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::data
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: Table::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1136,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1139,1
    - Dst: pldm::responder::platform::sendBiosAttributeUpdateEvent
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - ' pendingAttributes'
    argTypes:
    - PendingAttributes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1150
    functionName: pldm::responder::bios::BIOSConfig::constructPendingAttribute
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 7
    functionsReached:
    - pldm::responder::platform::sendBiosAttributeUpdateEvent
    - Table::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - BIOSConfigManager::convertAttributeTypeFromString
    - at
    - error
    - Table::size
    - htole16
    - pldm::responder::bios::BIOSConfig::findAttrHandle
    - std::find_if
    - std::vector::emplace_back
    - end
    - pldm::responder::bios::BIOSConfig::setAttrValue
    - std::vector::size
    - generateAttributeEntry
    - begin
    linkageType: ''
    returnType: void
    signature: "void BIOSConfig::constructPendingAttribute(\n    const PendingAttributes&
      pendingAttributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1155,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1156,1
    - Dst: propertiesChanged
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1157,1
    - Dst: read
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1165,1
    - Dst: Properties::find
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1167,1
    - Dst: Properties::end
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1169,1
    - Dst: std::get<PendingAttributes>
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1175,1
    - Dst: pldm::responder::bios::BIOSConfig::constructPendingAttribute
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1176,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    - Dst: std::move
      Src: /src/pldm/libpldmresponder/bios_config.cpp:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1180
    functionName: pldm::responder::bios::BIOSConfig::listenPendingAttributes
    functionSourceFile: /src/pldm/libpldmresponder/bios_config.cpp
    functionUses: 8
    functionsReached:
    - std::get<PendingAttributes>
    - std::make_unique<sdbusplus::match>
    - Properties::find
    - Properties::end
    - emplace_back
    - pldm::responder::bios::BIOSConfig::constructPendingAttribute
    - std::move
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void BIOSConfig::listenPendingAttributes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/libpldmresponder/platform_config.hpp:21,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/libpldmresponder/platform_config.hpp:22,1
    - Dst: sdbusplus::match_rules::interfacesAdded
      Src: /src/pldm/libpldmresponder/platform_config.hpp:23,1
    - Dst: sdbusplus::match_rules::sender
      Src: /src/pldm/libpldmresponder/platform_config.hpp:24,1
    - Dst: std::bind
      Src: /src/pldm/libpldmresponder/platform_config.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: pldm::responder::platform_config::Handler::Handler
    functionSourceFile: /src/pldm/libpldmresponder/platform_config.hpp
    functionUses: 0
    functionsReached:
    - sdbusplus::match_rules::interfacesAdded
    - std::make_unique<sdbusplus::match>
    - std::bind
    - sdbusplus::match_rules::sender
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void Handler(const fs::path sysDirPath = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: MockBIOSStringTable::MockBIOSStringTable
    functionSourceFile: /src/pldm/libpldmresponder/test/mocked_bios.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockBIOSStringTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:22,1
    - Dst: reinterpret_cast<const pldm_bios_attr_table_entry*>
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:23,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:23,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:25,1
    - Dst: reinterpret_cast<const pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:26,1
    - Dst: data
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:27,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' attrEntry'
    - ' attrValueEntry'
    argTypes:
    - pldm::responder::bios::Table
    - pldm::responder::bios::Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: checkHeader
    functionSourceFile: /src/pldm/libpldmresponder/test/mocked_bios.hpp
    functionUses: 0
    functionsReached:
    - data
    - reinterpret_cast<const pldm_bios_attr_val_table_entry*>
    - EXPECT_EQ
    - reinterpret_cast<const pldm_bios_attr_table_entry*>
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - pldm::responder::bios::table::attribute::decodeHeader
    linkageType: ''
    returnType: void
    signature: "void checkHeader(const pldm::responder::bios::Table& attrEntry,\n
      \                const pldm::responder::bios::Table& attrValueEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:43,1
    - Dst: ElementsAreArray
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' entry'
    - ' expectedEntry'
    argTypes:
    - pldm::responder::bios::Table
    - pldm::responder::bios::Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: checkEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/mocked_bios.hpp
    functionUses: 0
    functionsReached:
    - ElementsAreArray
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void checkEntry(pldm::responder::bios::Table& entry,\n                pldm::responder::bios::Table&
      expectedEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constructEntry
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:56,1
    - Dst: checkHeader
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:58,1
    - Dst: checkEntry
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:59,1
    - Dst: checkEntry
      Src: /src/pldm/libpldmresponder/test/mocked_bios.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' attribute'
    - ' stringTable'
    - ' expectedAttrEntry'
    - ' expectedAttrValueEntry'
    argTypes:
    - pldm::responder::bios::BIOSAttribute
    - pldm::responder::bios::BIOSStringTable
    - pldm::responder::bios::Table
    - pldm::responder::bios::Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: checkConstructEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/mocked_bios.hpp
    functionUses: 0
    functionsReached:
    - checkHeader
    - checkEntry
    - constructEntry
    linkageType: ''
    returnType: void
    signature: "void checkConstructEntry(pldm::responder::bios::BIOSAttribute& attribute,\n
      \                        pldm::responder::bios::BIOSStringTable& stringTable,\n
      \                        pldm::responder::bios::Table& expectedAttrEntry,\n
      \                        pldm::responder::bios::Table& expectedAttrValueEntry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' entry'
    - dbusHandler
    argTypes:
    - Json
    - DBusHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: TestAttribute::TestAttribute
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAttribute(const Json& entry, DBusHandler* const dbusHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: TestAttribute::setAttrValueOnDbus
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setAttrValueOnDbus(const pldm_bios_attr_val_table_entry*,\n                            const
      pldm_bios_attr_table_entry*,\n                            const BIOSStringTable&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: TestAttribute::constructEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void constructEntry(\n        const BIOSStringTable&, Table&, Table&,\n
      \       std::optional<std::variant<int64_t, std::string>>) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '& getDbusMap()'
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<DBusMapping>
    signature: std::optional<DBusMapping> & getDbusMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: TestAttribute::updateAttrVal
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int updateAttrVal(Table& /*newValue*/, uint16_t /*attrHdl*/,\n                      uint8_t
      /*attrType*/,\n                      const PropertyValue& /*newPropVal*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: TestAttribute::generateAttributeEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void generateAttributeEntry(\n        const std::variant<int64_t,
      std::string>& /*attributevalue*/,\n        Table& /*attrValueEntry*/) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:55,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:56,1
    - Dst: EXPECT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:63,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:80,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:81,1
    - Dst: TestAttribute::getDbusMap
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:82,1
    - Dst: EXPECT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:83,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:87,1
    - Dst: EXPECT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - TestAttribute::getDbusMap
    - EXPECT_THROW
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BIOSAttribute, CtorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:16,1
    - Dst: mkdtemp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: TestBIOSTable::SetUp
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp
    functionUses: 0
    functionsReached:
    - fs::path
    - mkdtemp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove_all
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: TestBIOSTable::TearDown
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:31,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:34,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:34,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:36,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:36,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:38,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:40,1
    - Dst: std::equal
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:40,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:40,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp
    functionUses: 0
    functionsReached:
    - BIOSTable::load
    - BIOSTable::store
    - ASSERT_EQ
    - ASSERT_THROW
    - BIOSTable::isEmpty
    - std::vector::begin
    - std::equal
    - fs::path::string
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSTable, testStoreLoad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:47,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:50,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:50,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:52,1
    - Dst: BIOSTable::isEmpty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:52,1
    - Dst: BIOSTable::store
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:54,1
    - Dst: BIOSTable::load
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:55,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:56,1
    - Dst: std::equal
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:56,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:56,1
    - Dst: std::vector::end
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:56,1
    - Dst: std::vector::begin
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:56,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:57,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp
    functionUses: 0
    functionsReached:
    - BIOSTable::load
    - BIOSTable::store
    - ASSERT_EQ
    - ASSERT_THROW
    - BIOSTable::isEmpty
    - std::vector::begin
    - std::equal
    - fs::path::string
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSTable, testLoadOntoExisting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attribute'
    argTypes:
    - BIOSIntegerAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& getIntegerInfo(const BIOSIntegerAttribute& attribute)'
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & getIntegerInfo(const BIOSIntegerAttribute& attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:42,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:43,1
    - Dst: getIntegerInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:44,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:45,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:46,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:47,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:48,1
    - Dst: EXPECT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:81,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - getIntegerInfo
    - EXPECT_THROW
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSIntegerAttribute, CtorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:87,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:118,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:118,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:118,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:119,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:121,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:142,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:143,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:143,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:144,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:145,1
    - Dst: Throw
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:146,1
    - Dst: std::exception
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:146,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:152,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:155,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:156,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:156,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:157,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:158,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:159,1
    - Dst: PropertyValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:159,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 169
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - std::exception
    - findHandle
    - MockBIOSStringTable::MockBIOSStringTable
    - ON_CALL
    - PropertyValue
    - StrEq
    - checkConstructEntry
    - getDbusPropertyVariant
    - Throw
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSIntegerAttribute, ConstructEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:174,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:201,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:201,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:202,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:203,1
    - Dst: BIOSIntegerAttribute::setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - BIOSIntegerAttribute::setAttrValueOnDbus
    - MockBIOSStringTable::MockBIOSStringTable
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - std::vector::data
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSIntegerAttribute, setAttrValueOnDbus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:32,1
    - Dst: mkdtemp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:32,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:39,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:40,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: TestBIOSConfig::SetUpTestCase
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - mkdtemp
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::open
    - fs::path
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:49,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: TestBIOSConfig::findJsonEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<Json>
    signature: std::optional<Json> findJsonEntry(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove_all
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: TestBIOSConfig::TearDownTestCase
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: MockSystemConfig::MockSystemConfig
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSystemConfig()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:86,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:89,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:89,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:91,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:92,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:93,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:95,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:96,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:97,1
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:120,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:121,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:121,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:123,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:127,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:131,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:131,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:132,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:134,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:135,1
    - Dst: findJsonEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:136,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:137,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:143,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:144,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:146,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:149,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:152,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:154,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:155,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:157,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:158,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:165,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:167,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:169,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:171,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:172,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:179,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:180,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:185,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:189,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:189,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:191,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:194,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:199,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:204,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:205,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:205,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:207,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:209,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:210,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:211,1
    - Dst: findJsonEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:212,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:213,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:219,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:221,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:222,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:228,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:229,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:230,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:237,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:237,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:238,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:243,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 251
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - BIOSStringTable::findString
    - auto::size
    - MockSystemConfig::MockSystemConfig
    - std::vector::emplace_back
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - auto::at
    - EXPECT_TRUE
    - size
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::findByHandle
    - auto::data
    - pldm::responder::bios::table::string::decodeString
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - BIOSConfig::getBIOSTable
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute::decodeHeader
    - static_cast<uint8_t>
    - findJsonEntry
    - c_str
    - at
    - EXPECT_EQ
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - length
    - std::set::emplace
    - std::string::c_str
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSConfig, buildTablesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:256,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:258,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:267,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:270,1
    - Dst: BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:272,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:274,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::appendPadAndChecksum
    - EXPECT_TRUE
    - BIOSConfig::setBIOSTable
    - c_str
    - EXPECT_EQ
    - pldm::responder::bios::table::string::constructEntry
    - MockSystemConfig::MockSystemConfig
    - BIOSConfig::getBIOSTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSConfig, setBIOSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:281,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:283,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:286,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:287,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:288,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:290,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:291,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - c_str
    - MockSystemConfig::MockSystemConfig
    - BIOSConfig::getBIOSTable
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSConfig, getBIOSTableFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:298,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:300,1
    - Dst: BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:314,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:314,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - std::vector::data
    - EXPECT_EQ
    - BIOSConfig::setAttrValue
    - MockSystemConfig::MockSystemConfig
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSConfig, setAttrValueFailure)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:322,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:324,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:327,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:328,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:331,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:332,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:333,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:336,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:336,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:337,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:339,1
    - Dst: EXPECT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:347,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:362,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:363,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:363,1
    - Dst: BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:365,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:365,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:367,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:369,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:372,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:373,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:373,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:375,1
    - Dst: findEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:382,1
    - Dst: EXPECT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:383,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:385,1
    - Dst: EXPECT_THAT
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:386,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:386,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:386,1
    - Dst: ElementsAreArray
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 388
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ElementsAreArray
    - auto::size
    - MockSystemConfig::MockSystemConfig
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - EXPECT_THAT
    - std::vector::size
    - reinterpret_cast<const uint8_t*>
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - auto::data
    - BIOSConfig::setAttrValue
    - EXPECT_NE
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - BIOSConfig::getBIOSTable
    - pldm::responder::bios::table::attribute::decodeHeader
    - findEntry
    - c_str
    - EXPECT_EQ
    - EXPECT_CALL
    - std::vector<uint8_t>
    - std::string
    - setDbusProperty
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSConfig, setAttrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:28,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:28,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:29,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:32,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:32,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:32,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:34,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:36,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:37,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:39,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:43,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:48,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:48,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:52,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:53,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:59,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:63,1
    - Dst: Handler::getDbusObjMaps
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:67,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:68,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:70,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:72,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 74
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - pldm::responder::pdr::getRecordByHandle
    - pldm_pdr_destroy
    - Repo::getRecordCount
    - StrEq
    - getService
    - ASSERT_NE
    - getRepoByType
    - pldm_pdr_init
    - Handler::getDbusObjMaps
    - EXPECT_EQ
    - EXPECT_CALL
    - Return
    - Handler::getPDR
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GeneratePDRByStateSensor, testGoodJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:80,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:80,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:81,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:84,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:84,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:84,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:86,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:88,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:89,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:91,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:95,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:97,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:99,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:99,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:100,1
    - Dst: pldm::responder::pdr_utils::readJson
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:100,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:103,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - Repo::getRecordCount
    - ASSERT_THROW
    - StrEq
    - getService
    - std::array::size
    - EXPECT_CALL
    - pldm::responder::pdr_utils::readJson
    linkageType: ''
    returnType: void
    signature: void TEST(GeneratePDR, testMalformedJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:38,1
    - Dst: parseFruRecordTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:38,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:38,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - parseFruRecordTable
    - EXPECT_TRUE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void TEST(ParseFruRecordTable, RejectsFieldPastEndOfBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:54,1
    - Dst: parseFruRecordTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:54,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:54,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - parseFruRecordTable
    - EXPECT_TRUE
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void TEST(ParseFruRecordTable, RejectsTruncatedNextRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseFruRecordTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:69,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:69,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:70,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:70,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:71,1
    - Dst: fruTLV::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:71,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:72,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - parseFruRecordTable
    - fruTLV::size
    - std::vector::size
    - std::vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(ParseFruRecordTable, ParsesBoundedField)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:83,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:83,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:84,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_req>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:87,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:91,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:91,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:91,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:93,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:95,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:96,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:101,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:101,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:102,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:103,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:103,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_resp>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:106,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:108,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:109,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:111,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:113,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 116
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_get_pdr_req>
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm_pdr_destroy
    - StrEq
    - std::start_lifetime_as<pldm_get_pdr_resp>
    - getService
    - Repo::empty
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(getPDR, testGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:122,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:122,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:123,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_req>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:126,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:130,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:130,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:130,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:132,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:134,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:140,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:140,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:141,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:142,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:142,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_resp>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:144,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:145,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:146,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 148
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_get_pdr_req>
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - pldm_pdr_destroy
    - StrEq
    - std::start_lifetime_as<pldm_get_pdr_resp>
    - getService
    - Repo::empty
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(getPDR, testShortRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:154,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:154,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:155,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_req>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:158,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:163,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:163,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:163,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:165,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:167,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:168,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:173,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:173,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:174,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:175,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:177,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 180
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_get_pdr_req>
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - pldm_pdr_destroy
    - StrEq
    - getService
    - Repo::empty
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(getPDR, testBadRecordHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:186,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:186,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:187,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_req>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:190,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:194,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:194,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:194,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:196,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:198,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:199,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:204,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:204,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:205,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:206,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:206,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_resp>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:209,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:210,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 213
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_get_pdr_req>
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - pldm_pdr_destroy
    - StrEq
    - std::start_lifetime_as<pldm_get_pdr_resp>
    - getService
    - Repo::empty
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(getPDR, testNoNextRecord)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:219,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:219,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:220,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_req>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:223,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:227,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:227,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:227,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:229,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:231,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:237,1
    - Dst: Repo::empty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:237,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:238,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:247,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:248,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:248,1
    - Dst: std::start_lifetime_as<pldm_get_pdr_resp>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:250,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:251,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:256,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:260,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:274,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 277
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_get_pdr_req>
    - pldm_pdr_init
    - Handler::getPDR
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm_pdr_destroy
    - StrEq
    - std::start_lifetime_as<pldm_get_pdr_resp>
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - getService
    - Repo::empty
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(getPDR, testFindPDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:283,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:283,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:284,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:287,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:287,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:287,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:289,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:291,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:292,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:294,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:298,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:300,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:302,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:303,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:306,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:309,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:310,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:317,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:317,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:319,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:321,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:323,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 325
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - pldm::responder::pdr::getRecordByHandle
    - pldm_pdr_destroy
    - StrEq
    - getService
    - ASSERT_NE
    - getRepoByType
    - pldm_pdr_init
    - EXPECT_EQ
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::vector::push_back
    - "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
      Handler>"
    - EXPECT_CALL
    - Return
    - setDbusProperty
    - Handler::getPDR
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(setStateEffecterStatesHandler, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:331,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:331,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:332,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:335,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:335,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:335,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:337,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:339,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:340,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:342,1
    - Dst: Handler::getPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:346,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:348,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:350,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:351,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:353,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:354,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:358,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:360,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:362,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:364,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:366,1
    - Dst: std::vector::push_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:368,1
    - Dst: "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:369,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:371,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:373,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 375
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - pldm::responder::pdr::getRecordByHandle
    - pldm_pdr_destroy
    - StrEq
    - getService
    - ASSERT_NE
    - getRepoByType
    - pldm_pdr_init
    - EXPECT_EQ
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::vector::push_back
    - "platform_state_effecter::setStateEffecterStatesHandler<\n        MockdBusHandler,
      Handler>"
    - EXPECT_CALL
    - Return
    - Handler::getPDR
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(setStateEffecterStatesHandler, testBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:380,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:380,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:380,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:382,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:384,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:385,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:387,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:392,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:395,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:396,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:399,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:400,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:404,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:408,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:408,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:411,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:414,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:415,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:417,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 419
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - static_cast<uint64_t>
    - getRepoByType
    - pldm_pdr_init
    - setDbusProperty
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - reinterpret_cast<uint8_t*>
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_pdr_destroy
    - StrEq
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n        MockdBusHandler,
      Handler>"
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(setNumericEffecterValueHandler, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:424,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:424,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:424,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:426,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:428,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:429,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:431,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:436,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:439,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:440,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:443,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:444,1
    - Dst: "platform_numeric_effecter::setNumericEffecterValueHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:448,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:451,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:452,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:454,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 456
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - reinterpret_cast<uint8_t*>
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_pdr_destroy
    - StrEq
    - "platform_numeric_effecter::setNumericEffecterValueHandler<\n        MockdBusHandler,
      Handler>"
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(setNumericEffecterValueHandler, testBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:461,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:461,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:461,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:463,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:465,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:466,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:468,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:473,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:476,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:477,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:481,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:494,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:495,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:495,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:495,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:496,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:497,1
    - Dst: PropertyValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:497,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:497,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:499,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:503,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:508,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:509,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:512,1
    - Dst: Response::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:512,1
    - Dst: pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:514,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:518,1
    - Dst: std::start_lifetime_as<pldm_get_numeric_effecter_value_resp>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:521,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:523,1
    - Dst: memcpy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:525,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:528,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:530,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 532
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - static_cast<uint64_t>
    - Response::data
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - getEffecterDataSize
    - std::start_lifetime_as<pldm_msg>
    - PropertyValue
    - getDbusPropertyVariant
    - std::start_lifetime_as<pldm_get_numeric_effecter_value_resp>
    - pldm::responder::pdr::getRecordByHandle
    - pldm_pdr_destroy
    - StrEq
    - getService
    - "platform_numeric_effecter::getNumericEffecterData<\n        MockdBusHandler,
      Handler>"
    - ASSERT_NE
    - getRepoByType
    - pldm_pdr_init
    - EXPECT_EQ
    - memcpy
    - EXPECT_CALL
    - Return
    - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(getNumericEffecterValueHandler, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:537,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:537,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:537,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:539,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:541,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:542,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:544,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:549,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:552,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:553,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:556,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:557,1
    - Dst: "platform_numeric_effecter::getNumericEffecterData<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:565,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:569,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:571,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 573
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - StrEq
    - getService
    - "platform_numeric_effecter::getNumericEffecterData<\n        MockdBusHandler,
      Handler>"
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(getNumericEffecterValueHandler, testBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseStateSensorPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:585,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:587,1
    - Dst: std::get<1>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:588,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:591,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:591,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:592,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:592,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:593,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:593,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:594,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:595,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:595,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:596,1
    - Dst: parseStateSensorPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:606,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:608,1
    - Dst: std::get<1>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:609,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:612,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:612,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:613,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:613,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:614,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:614,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:615,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:616,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:616,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:617,1
    - Dst: parseStateSensorPDR
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:629,1
    - Dst: std::get<0>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:631,1
    - Dst: std::get<1>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:632,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:635,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:635,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:636,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:636,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:637,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:637,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:638,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:639,1
    - Dst: le16toh
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 641
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - std::get<0>
    - ASSERT_EQ
    - le16toh
    - std::get<1>
    - parseStateSensorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(parseStateSensor, allScenarios)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:656,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:660,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:662,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:663,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:671,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:672,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:673,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:679,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:683,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:685,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:686,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:689,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:690,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:696,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:700,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:702,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:703,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:706,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:707,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:717,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:719,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:720,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:721,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:725,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:726,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:727,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:737,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:739,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:740,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:741,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:745,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:746,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:747,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:756,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:758,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:759,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:766,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:771,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:775,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:777,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:778,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:779,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:784,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:785,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:791,1
    - Dst: StateSensorHandler::getEventInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 793
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - at
    - StateSensorHandler::getEventInfo
    - ASSERT_THROW
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateSensorHandler, allScenarios)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:797,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:798,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:801,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:805,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:808,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:808,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:811,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:812,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:814,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:815,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:816,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:818,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:819,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:821,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:822,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:824,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:825,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:826,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:829,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:831,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:832,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 834
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - pldm_pdr_destroy
    - ASSERT_EQ
    - Repo::getRecordCount
    - EXPECT_EQ
    - reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusLocatorPDR, BMCTerminusLocatorPDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:839,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:839,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:839,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:841,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:843,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:844,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:846,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:851,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:853,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:854,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:856,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:857,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:864,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:865,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:865,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:865,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:866,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:867,1
    - Dst: PropertyValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:868,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:868,1
    - Dst: pldm::stateSensorCacheMaps::emplace
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:871,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:872,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:875,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:876,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:878,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:879,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:880,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:882,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 884
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - "platform_state_sensor::getStateSensorReadingsHandler<\n        MockdBusHandler,
      Handler>"
    - getRepoByType
    - pldm_pdr_init
    - std::string
    - pldm_pdr_destroy
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - EXPECT_EQ
    - ASSERT_EQ
    - PropertyValue
    - StrEq
    - getDbusPropertyVariant
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::stateSensorCacheMaps::emplace
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(getStateSensorReadingsHandler, testGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:889,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:889,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:889,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:891,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:893,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:894,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:896,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:901,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:903,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:904,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:906,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:907,1
    - Dst: pldm::stateSensorCacheMaps::emplace
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:916,1
    - Dst: "platform_state_sensor::getStateSensorReadingsHandler<\n        MockdBusHandler,
        Handler>"
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:917,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:920,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:922,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 924
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - "platform_state_sensor::getStateSensorReadingsHandler<\n        MockdBusHandler,
      Handler>"
    - getRepoByType
    - pldm_pdr_init
    - pldm_pdr_destroy
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - EXPECT_EQ
    - ASSERT_EQ
    - StrEq
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::stateSensorCacheMaps::emplace
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(getStateSensorReadingsHandler, testBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:933,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:933,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:934,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:938,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:939,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:942,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:942,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:942,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:944,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:946,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:947,1
    - Dst: Handler::getStateSensorReadings
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:952,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:953,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:953,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:958,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:959,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:960,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:961,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:962,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:963,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:966,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 969
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - decode_get_state_sensor_readings_resp
    - pldm_pdr_init
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - pldm_pdr_destroy
    - auto::size
    - StrEq
    - Handler::getStateSensorReadings
    - getService
    - std::array::size
    - EXPECT_CALL
    - encode_get_state_sensor_readings_req
    linkageType: ''
    returnType: void
    signature: void TEST(getStateSensorReadings, testNoDbusToPLDMEventHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:979,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:983,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:985,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:985,1
    - Dst: std::start_lifetime_as<pldm_pdr_repository_chg_event_data>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:986,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:989,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:990,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:991,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:993,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:996,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:996,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:996,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:998,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:1000,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:1001,1
    - Dst: Handler::pldmPDRRepositoryChgEvent
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:1006,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:1007,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1010
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - std::start_lifetime_as<pldm_pdr_repository_chg_event_data>
    - pldm_pdr_init
    - encode_pldm_pdr_repository_chg_event_data
    - Handler::pldmPDRRepositoryChgEvent
    - std::vector::data
    - std::array::data
    - pldm_pdr_destroy
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - StrEq
    - getService
    - std::array::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(pldmPDRRepositoryChgEvent, testNoHostPDRHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FruParser::getRecordInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:42,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:43,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:44,1
    - Dst: FruParser::getRecordInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:49,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:49,1
    - Dst: FruParser::inventoryLookup
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:73,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:75,1
    - Dst: FruParser::getRecordInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 78
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
    functionUses: 0
    functionsReached:
    - FruParser::getRecordInfo
    - ASSERT_THROW
    - ASSERT_EQ
    - auto::size
    - FruParser::inventoryLookup
    linkageType: ''
    returnType: void
    signature: void TEST(FruParser, allScenarios)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::object_path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:97,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:99,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:102,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:117,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:118,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:118,1
    - Dst: pldm::responder::FruImpl::updateAssociationTree
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:132,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:136,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:136,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:137,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:139,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:139,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:140,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:142,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:145,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:145,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:146,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:148,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:150,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:150,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - pldm::responder::FruImpl::updateAssociationTree
    - std::unique_ptr::get
    - pldm_entity_association_tree_find
    - sdbusplus::object_path
    linkageType: ''
    returnType: void
    signature: void TEST(FruImpl, updateAssociationTreeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:170,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:171,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:171,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:174,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:176,1
    - Dst: pldm::responder::FruImpl::getEntityByObjectPath
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:180,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - pldm::responder::FruImpl::getEntityByObjectPath
    - std::unique_ptr::get
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(FruImpl, entityByObjectPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:32,1
    - Dst: mkdtemp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:32,1
    - Dst: std::ifstream::open
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:43,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:44,1
    - Dst: emplace_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: TestSystemSpecificBIOSConfig::SetUpTestCase
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - mkdtemp
    - pldm::fw_update::PackageParser::parse
    - std::ifstream::open
    - fs::path
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:53,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: TestSystemSpecificBIOSConfig::findJsonEntry
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::optional<Json>
    signature: std::optional<Json> findJsonEntry(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fs::remove_all
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: TestSystemSpecificBIOSConfig::TearDownTestCase
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - fs::remove_all
    linkageType: ''
    returnType: void
    signature: void TearDownTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: MockSystemConfig::MockSystemConfig
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockSystemConfig()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:90,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:93,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:93,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:94,1
    - Dst: std::filesystem::path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:94,1
    - Dst: std::string::c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:96,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:96,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:98,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:99,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:100,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:102,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:103,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:104,1
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:127,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:128,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:128,1
    - Dst: pldm::responder::bios::table::string::decodeString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:130,1
    - Dst: std::set::emplace
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:134,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:138,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:138,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:139,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:141,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:142,1
    - Dst: findJsonEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:143,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:144,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:150,1
    - Dst: at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:151,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:153,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:154,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:156,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:159,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:162,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:163,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:164,1
    - Dst: length
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:165,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:172,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:174,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:176,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:177,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:178,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:179,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:186,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:187,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:192,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:196,1
    - Dst: size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:196,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:198,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:201,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:206,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:211,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:212,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:212,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:214,1
    - Dst: pldm::responder::bios::table::attribute::findByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:216,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:217,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:218,1
    - Dst: findJsonEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:219,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:220,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeStringEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:226,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:229,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:235,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:237,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:244,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:244,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:245,1
    - Dst: auto::at
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:250,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 258
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - BIOSStringTable::findString
    - auto::size
    - MockSystemConfig::MockSystemConfig
    - std::vector::emplace_back
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - auto::at
    - EXPECT_TRUE
    - size
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm::responder::bios::table::attribute::findByHandle
    - auto::data
    - getPlatformName
    - pldm::responder::bios::table::string::decodeString
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - std::filesystem::path
    - BIOSConfig::getBIOSTable
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute::decodeHeader
    - static_cast<uint8_t>
    - findJsonEntry
    - c_str
    - at
    - EXPECT_EQ
    - pldm::responder::bios::table::attribute_value::decodeStringEntry
    - EXPECT_CALL
    - Return
    - length
    - std::set::emplace
    - std::string::c_str
    - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    - pldm::responder::bios::table::attribute_value::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, buildTablesTest)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:263,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:265,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:265,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:265,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:266,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:266,1
    - Dst: Throw
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:267,1
    - Dst: std::exception
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:267,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:269,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:273,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:274,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:275,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:277,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:278,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:279,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:283,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:283,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:284,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:286,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:287,1
    - Dst: findJsonEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:288,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:289,1
    - Dst: pldm::responder::bios::table::attribute::decodeStringEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:299,1
    - Dst: pldm::responder::bios::table::attribute::decodeIntegerEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:311,1
    - Dst: pldm::responder::bios::table::attribute::decodeEnumEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:321,1
    - Dst: BIOSStringTable::findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 329
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::bios::table::attribute::decodeIntegerEntry
    - BIOSStringTable::findString
    - auto::size
    - MockSystemConfig::MockSystemConfig
    - getDbusPropertyVariant
    - Throw
    - EXPECT_TRUE
    - std::exception
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - auto::data
    - ON_CALL
    - getPlatformName
    - BIOSConfig::getBIOSTable
    - pldm::responder::bios::table::attribute::decodeStringEntry
    - pldm::responder::bios::table::attribute::decodeHeader
    - findJsonEntry
    - c_str
    - EXPECT_EQ
    - EXPECT_CALL
    - Return
    - pldm::responder::bios::table::attribute::decodeEnumEntry
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, buildTablesSystemSpecificTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:334,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:336,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:336,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:336,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:337,1
    - Dst: pldm::responder::bios::table::string::constructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:346,1
    - Dst: pldm::responder::bios::table::appendPadAndChecksum
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:349,1
    - Dst: BIOSConfig::setBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:351,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:353,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 355
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - pldm::responder::bios::table::appendPadAndChecksum
    - EXPECT_TRUE
    - BIOSConfig::setBIOSTable
    - c_str
    - getPlatformName
    - EXPECT_EQ
    - pldm::responder::bios::table::string::constructEntry
    - MockSystemConfig::MockSystemConfig
    - BIOSConfig::getBIOSTable
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, setBIOSTable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:360,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:362,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:362,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:362,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:363,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:366,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:367,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:368,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:370,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:371,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - EXPECT_FALSE
    - c_str
    - getPlatformName
    - MockSystemConfig::MockSystemConfig
    - BIOSConfig::getBIOSTable
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, getBIOSTableFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:378,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:380,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:380,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:380,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:381,1
    - Dst: BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:395,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:395,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 399
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - c_str
    - std::vector::data
    - getPlatformName
    - EXPECT_EQ
    - BIOSConfig::setAttrValue
    - MockSystemConfig::MockSystemConfig
    - std::vector::size
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, setAttrValueFailure)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MockSystemConfig::MockSystemConfig
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:404,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:406,1
    - Dst: getPlatformName
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:406,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:407,1
    - Dst: std::filesystem::path
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:407,1
    - Dst: c_str
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:409,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:412,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:413,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:416,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:417,1
    - Dst: BIOSStringTable::findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:418,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:421,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:421,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:422,1
    - Dst: pldm::responder::bios::table::attribute::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:424,1
    - Dst: EXPECT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:432,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:447,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:448,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:448,1
    - Dst: BIOSConfig::setAttrValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:450,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:450,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:451,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:452,1
    - Dst: BIOSConfig::getBIOSTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:454,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:457,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:458,1
    - Dst: auto::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:458,1
    - Dst: pldm::responder::bios::table::attribute_value::decodeHeader
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:460,1
    - Dst: findEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:467,1
    - Dst: EXPECT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:468,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:470,1
    - Dst: EXPECT_THAT
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:471,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:471,1
    - Dst: std::vector::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:471,1
    - Dst: ElementsAreArray
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 473
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ElementsAreArray
    - auto::size
    - MockSystemConfig::MockSystemConfig
    - pldm::responder::bios::table::attribute_value::decodeHeader
    - EXPECT_THAT
    - std::vector::size
    - reinterpret_cast<const uint8_t*>
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - auto::data
    - getPlatformName
    - BIOSConfig::setAttrValue
    - EXPECT_NE
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    - std::filesystem::path
    - BIOSConfig::getBIOSTable
    - pldm::responder::bios::table::attribute::decodeHeader
    - findEntry
    - c_str
    - EXPECT_EQ
    - EXPECT_CALL
    - std::vector<uint8_t>
    - std::string
    - Return
    - setDbusProperty
    - BIOSStringTable::findHandle
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestSystemSpecificBIOSConfig, setAttrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: TestBaseCommands::TestBaseCommands
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: void
    signature: void TestBaseCommands()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:27,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:27,1
    - Dst: base::Handler::getPLDMTypes
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:31,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:33,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:33,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:35,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - base::Handler::getPLDMTypes
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testPLDMTypesGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:45,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:45,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:46,1
    - Dst: base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:48,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:49,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:52,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - auto::data
    - base::Handler::getPLDMCommands
    - std::start_lifetime_as<pldm_msg>
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testGetPLDMCommandsGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:60,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:60,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:63,1
    - Dst: base::Handler::getPLDMCommands
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:65,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:66,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - auto::data
    - base::Handler::getPLDMCommands
    - std::start_lifetime_as<pldm_msg>
    - ASSERT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testGetPLDMCommandsBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:75,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:75,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:76,1
    - Dst: encode_get_version_req
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:85,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:87,1
    - Dst: base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:90,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:91,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:93,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:94,1
    - Dst: memcmp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:96,1
    - Dst: memcmp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:96,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:99,1
    - Dst: memcmp
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - base::Handler::getPLDMVersion
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - memcmp
    - encode_get_version_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testGetPLDMVersionGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:108,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:108,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:109,1
    - Dst: encode_get_version_req
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:118,1
    - Dst: base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:121,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:122,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:122,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:124,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:126,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:126,1
    - Dst: std::array::size
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:127,1
    - Dst: encode_get_version_req
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:129,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:131,1
    - Dst: base::Handler::getPLDMVersion
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:133,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:134,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 137
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - base::Handler::getPLDMVersion
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - encode_get_version_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testGetPLDMVersionBadRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:142,1
    - Dst: std::array::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:142,1
    - Dst: base::Handler::setOemPlatformHandler
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:146,1
    - Dst: base::Handler::getTID
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:147,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:149,1
    - Dst: auto::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:149,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:152,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - auto::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - base::Handler::getTID
    - base::Handler::setOemPlatformHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBaseCommands, testGetTIDGoodRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:29,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:29,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:29,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:31,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:33,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:34,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:36,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:41,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:44,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:44,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:48,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:49,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:54,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:55,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:56,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:57,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:59,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:60,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:61,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:62,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:64,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:65,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:67,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:69,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:71,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:72,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:75,1
    - Dst: Handler::getDbusObjMaps
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:78,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:79,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:82,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:83,1
    - Dst: std::start_lifetime_as<pldm_state_effecter_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:84,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:87,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:88,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:90,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:92,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:93,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:96,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:97,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:98,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:100,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:106,1
    - Dst: std::start_lifetime_as<state_effecter_possible_states>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:115,1
    - Dst: Handler::getDbusObjMaps
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:118,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:119,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:120,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:122,1
    - Dst: Handler::getDbusObjMaps
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:122,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:124,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 126
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - Handler::getDbusObjMaps
    - pldm_pdr_destroy
    - ASSERT_EQ
    - Repo::getRecordCount
    - ASSERT_THROW
    - StrEq
    - std::start_lifetime_as<pldm_state_effecter_pdr>
    - std::start_lifetime_as<state_effecter_possible_states>
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(GeneratePDRByStateEffecter, testGoodJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:131,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:131,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:131,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:133,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:135,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:136,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:138,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:143,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:146,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:146,1
    - Dst: pldm::responder::pdr::getRecordByHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:150,1
    - Dst: ASSERT_NE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:151,1
    - Dst: std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:154,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:155,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:162,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:163,1
    - Dst: Handler::getDbusObjMaps
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:170,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:172,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - std::start_lifetime_as<pldm_numeric_effecter_value_pdr>
    - Handler::getDbusObjMaps
    - pldm_pdr_destroy
    - ASSERT_EQ
    - Repo::getRecordCount
    - EXPECT_EQ
    - StrEq
    - getService
    - EXPECT_CALL
    - ASSERT_NE
    - pldm::responder::pdr::getRecordByHandle
    linkageType: ''
    returnType: void
    signature: void TEST(GeneratePDRByNumericEffecter, testGoodJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:179,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:179,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:179,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:181,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:183,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:184,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:186,1
    - Dst: getRepoByType
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:193,1
    - Dst: Repo::getRecordCount
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:193,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:194,1
    - Dst: pldm::responder::pdr_utils::readJson
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:194,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:197,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - getRepoByType
    - pldm_pdr_init
    - pldm_pdr_destroy
    - ASSERT_EQ
    - Repo::getRecordCount
    - ASSERT_THROW
    - StrEq
    - getService
    - EXPECT_CALL
    - pldm::responder::pdr_utils::readJson
    linkageType: ''
    returnType: void
    signature: void TEST(GeneratePDR, testMalformedJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:204,1
    - Dst: getService
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:204,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:204,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:206,1
    - Dst: pldm_pdr_init
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:208,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:209,1
    - Dst: findStateEffecterId
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:219,1
    - Dst: findStateEffecterId
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:223,1
    - Dst: pldm_pdr_destroy
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - sdeventplus::Event::get_default
    - pldm_pdr_init
    - findStateEffecterId
    - ASSERT_EQ
    - pldm_pdr_destroy
    - StrEq
    - getService
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST(findStateEffecterId, goodJson)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' biosStringAttribute'
    argTypes:
    - BIOSStringAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: '& getStringInfo(const BIOSStringAttribute& biosStringAttribute)'
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & getStringInfo(const BIOSStringAttribute& biosStringAttribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:40,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:41,1
    - Dst: getStringInfo
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:43,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:45,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:46,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:47,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:49,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:69,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 71
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - getStringInfo
    - static_cast<uint8_t>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSStringAttribute, CtorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:75,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:107,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:107,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:107,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:108,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:111,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:136,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:138,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:138,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:138,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:139,1
    - Dst: Throw
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:140,1
    - Dst: std::exception
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:140,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:142,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:145,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:147,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:147,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:147,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:148,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:149,1
    - Dst: PropertyValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:149,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:149,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 160
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - std::exception
    - findHandle
    - MockBIOSStringTable::MockBIOSStringTable
    - ON_CALL
    - PropertyValue
    - StrEq
    - checkConstructEntry
    - getDbusPropertyVariant
    - Throw
    - EXPECT_CALL
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSStringAttribute, ConstructEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:182,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:194,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:194,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:195,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:196,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:196,1
    - Dst: BIOSStringAttribute::setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - setDbusProperty
    - MockBIOSStringTable::MockBIOSStringTable
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - std::vector::data
    - BIOSStringAttribute::setAttrValueOnDbus
    - EXPECT_CALL
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSStringAttribute, setAttrValueOnDbus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attribute'
    argTypes:
    - BIOSEnumAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& getPossibleValues(const BIOSEnumAttribute& attribute)'
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & getPossibleValues(const BIOSEnumAttribute& attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attribute'
    argTypes:
    - BIOSEnumAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '& getDefaultValue(const BIOSEnumAttribute& attribute)'
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: auto & getDefaultValue(const BIOSEnumAttribute& attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:46,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:47,1
    - Dst: EXPECT_THAT
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:48,1
    - Dst: getPossibleValues
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:48,1
    - Dst: ElementsAreArray
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:49,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:50,1
    - Dst: getDefaultValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:50,1
    - Dst: EXPECT_THROW
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:83,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 85
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_THROW
    - getDefaultValue
    - getPossibleValues
    - EXPECT_EQ
    - ElementsAreArray
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSEnumAttribute, CtorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:89,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:122,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:122,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:122,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:123,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:124,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:124,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:124,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:125,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:126,1
    - Dst: findHandle
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:126,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:126,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:127,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:129,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:152,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:153,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:153,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:153,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:154,1
    - Dst: Throw
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:155,1
    - Dst: std::exception
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:155,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:161,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:164,1
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:165,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:165,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:165,1
    - Dst: StrEq
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:166,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:167,1
    - Dst: PropertyValue
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:167,1
    - Dst: checkConstructEntry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 178
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - std::exception
    - findHandle
    - MockBIOSStringTable::MockBIOSStringTable
    - ON_CALL
    - PropertyValue
    - StrEq
    - checkConstructEntry
    - getDbusPropertyVariant
    - Throw
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSEnumAttribute, ConstructEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockBIOSStringTable::MockBIOSStringTable
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:182,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:218,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:218,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:219,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:219,1
    - Dst: ON_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:220,1
    - Dst: findString
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:220,1
    - Dst: Return
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:221,1
    - Dst: std::string
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:221,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:230,1
    - Dst: setDbusProperty
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:231,1
    - Dst: BIOSEnumAttribute::setAttrValueOnDbus
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:233,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:234,1
    - Dst: pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:234,1
    - Dst: std::vector::data
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:235,1
    - Dst: pldm_bios_attr_table_entry::pldm_bios_attr_table_entry
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 236
    functionName: TEST_F
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - BIOSEnumAttribute::setAttrValueOnDbus
    - setDbusProperty
    - MockBIOSStringTable::MockBIOSStringTable
    - findString
    - std::vector::data
    - pldm_bios_attr_val_table_entry::pldm_bios_attr_val_table_entry
    - ON_CALL
    - EXPECT_CALL
    - pldm_bios_attr_table_entry::pldm_bios_attr_table_entry
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestBIOSEnumAttribute, setAttrValueOnDbus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:26,1
    - Dst: epochToBCDTime
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:34,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:37,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:38,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:39,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:40,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 42
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp
    functionUses: 0
    functionsReached:
    - mktime
    - ASSERT_EQ
    - epochToBCDTime
    linkageType: ''
    returnType: void
    signature: void TEST(epochToBCDTime, testTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeToEpoch
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp
    functionUses: 0
    functionsReached:
    - timeToEpoch
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(timeToEpoch, testTime0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 3
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 2
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 5
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 3
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 7
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 4
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 9
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 5
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 11
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 6
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 13
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/utils.cpp:21,1
    - Dst: Entities::begin
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::end
      Src: /src/pldm/host-bmc/utils.cpp:25,1
    - Dst: Entities::erase
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: std::next
      Src: /src/pldm/host-bmc/utils.cpp:26,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:29,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:33,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:36,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:38,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:39,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - ' entityAssoc'
    argTypes:
    - EntityAssociations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 57
    functionName: pldm::hostbmc::utils::getParentEntites
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 7
    functionsReached:
    - Entities::erase
    - pldm_entity_node_get_remote_container_id
    - std::next
    - pldm_entity_extract
    - size
    - Entities::end
    - Entities::begin
    - Entities::push_back
    linkageType: ''
    returnType: Entities
    signature: Entities getParentEntites(const EntityAssociations& entityAssoc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:70,1
    - Dst: EntityMaps::contains
      Src: /src/pldm/host-bmc/utils.cpp:71,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:79,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:82,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:87,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/utils.cpp:89,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:99,1
    - Dst: fs::path::string
      Src: /src/pldm/host-bmc/utils.cpp:100,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:103,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:107,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:114,1
    - Dst: size
      Src: /src/pldm/host-bmc/utils.cpp:124,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:126,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:138,1
    - Dst: pldm::responder::oem_platform::Handler*::updateOemDbusPaths
      Src: /src/pldm/host-bmc/utils.cpp:141,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:145,1
    - Dst: contains
      Src: /src/pldm/host-bmc/utils.cpp:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 6
    argNames:
    - ' entityAssoc'
    - entity
    - ' path'
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_node*
    - fs::path
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 156
    functionName: pldm::hostbmc::utils::addObjectPathEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 15
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - size
    - std::string::c_str
    - EntityMaps::at
    - pldm::responder::oem_platform::Handler*::updateOemDbusPaths
    - contains
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - pldm::utils::DBusHandler
    - fs::path::string
    - EntityMaps::contains
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void addObjectPathEntityAssociations(\n    const EntityAssociations&
      entityAssoc, pldm_entity_node* entity,\n    const fs::path& path, ObjectPathMaps&
      objPathMap, EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler*
      oemPlatformHandler)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::hostbmc::utils::getParentEntites
      Src: /src/pldm/host-bmc/utils.cpp:165,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/utils.cpp:170,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:171,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/pldm/host-bmc/utils.cpp:181,1
    - Dst: pldm_entity_get_parent
      Src: /src/pldm/host-bmc/utils.cpp:186,1
    - Dst: std::deque::push_back
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: EntityMaps::at
      Src: /src/pldm/host-bmc/utils.cpp:189,1
    - Dst: std::to_string
      Src: /src/pldm/host-bmc/utils.cpp:190,1
    - Dst: lg2::error
      Src: /src/pldm/host-bmc/utils.cpp:194,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/utils.cpp:202,1
    - Dst: std::deque::empty
      Src: /src/pldm/host-bmc/utils.cpp:211,1
    - Dst: std::deque::back
      Src: /src/pldm/host-bmc/utils.cpp:213,1
    - Dst: std::deque::pop_back
      Src: /src/pldm/host-bmc/utils.cpp:214,1
    - Dst: pldm::hostbmc::utils::addObjectPathEntityAssociations
      Src: /src/pldm/host-bmc/utils.cpp:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ' entityAssoc'
    - entityTree
    - ' objPathMap'
    - entityMaps
    - oemPlatformHandler
    argTypes:
    - EntityAssociations
    - pldm_entity_association_tree*
    - ObjectPathMaps
    - EntityMaps
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 220
    functionName: pldm::hostbmc::utils::updateEntityAssociation
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - std::deque::back
    - EntityMaps::at
    - pldm_entity_is_exist_parent
    - pldm_entity_get_parent
    - pldm::hostbmc::utils::addObjectPathEntityAssociations
    - std::deque::push_back
    - std::deque::pop_back
    - pldm::hostbmc::utils::getParentEntites
    - std::deque::empty
    - lg2::error
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void updateEntityAssociation(\n    const EntityAssociations& entityAssoc,\n
      \   pldm_entity_association_tree* entityTree, ObjectPathMaps& objPathMap,\n
      \   EntityMaps entityMaps,\n    pldm::responder::oem_platform::Handler* oemPlatformHandler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/host-bmc/utils.cpp:227,1
    - Dst: auto::is_discarded
      Src: /src/pldm/host-bmc/utils.cpp:228,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/utils.cpp:234,1
    - Dst: std::ranges::transform
      Src: /src/pldm/host-bmc/utils.cpp:238,1
    - Dst: auto::items
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: std::inserter
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: EntityMaps::begin
      Src: /src/pldm/host-bmc/utils.cpp:239,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: key
      Src: /src/pldm/host-bmc/utils.cpp:241,1
    - Dst: std::make_pair
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: strtol
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: std::string::c_str
      Src: /src/pldm/host-bmc/utils.cpp:242,1
    - Dst: static_cast<EntityName>
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: value
      Src: /src/pldm/host-bmc/utils.cpp:243,1
    - Dst: error
      Src: /src/pldm/host-bmc/utils.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: pldm::hostbmc::utils::parseEntityMap
    functionSourceFile: /src/pldm/host-bmc/utils.cpp
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - std::inserter
    - error
    - static_cast<EntityName>
    - pldm::fw_update::PackageParser::parse
    - std::ranges::transform
    - EntityMaps::begin
    - std::make_pair
    - strtol
    - auto::value
    - value
    - auto::is_discarded
    - auto::items
    - key
    linkageType: ''
    returnType: EntityMaps
    signature: EntityMaps parseEntityMap(const fs::path& filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: operator==(const SensorEntry& e) const
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: operator<(const SensorEntry& e) const
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const SensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler(const HostPDRHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler(HostPDRHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const HostPDRHandler&)'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostPDRHandler
    signature: HostPDRHandler & operator=(const HostPDRHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(HostPDRHandler&&)'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostPDRHandler
    signature: HostPDRHandler & operator=(HostPDRHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HostPDRHandler()
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostPDRHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/host-bmc/host_pdr_handler.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& lookupSensorInfo(const SensorEntry& entry) const'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pdr::SensorInfo
    signature: pdr::SensorInfo & lookupSensorInfo(const SensorEntry& entry) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: pldm::HostPDRHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_utils::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pldm::HostPDRHandler::setOemUtilsHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemUtilsHandler(pldm::responder::oem_utils::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: operator==(const SensorEntry& e) const
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: operator<(const SensorEntry& e) const
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const SensorEntry& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler(const HostPDRHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler(HostPDRHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const HostPDRHandler&)'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostPDRHandler
    signature: HostPDRHandler & operator=(const HostPDRHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(HostPDRHandler&&)'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostPDRHandler
    signature: HostPDRHandler & operator=(HostPDRHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~HostPDRHandler()
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostPDRHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/host-bmc/host_pdr_handler.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - SensorEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& lookupSensorInfo(const SensorEntry& entry) const'
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: pdr::SensorInfo
    signature: pdr::SensorInfo & lookupSensorInfo(const SensorEntry& entry) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_platform::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: pldm::HostPDRHandler::setOemPlatformHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void setOemPlatformHandler(\n        pldm::responder::oem_platform::Handler*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - pldm::responder::oem_utils::Handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pldm::HostPDRHandler::setOemUtilsHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setOemUtilsHandler(pldm::responder::oem_utils::Handler* handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const DbusToPLDMEvent&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(DbusToPLDMEvent&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~DbusToPLDMEvent()
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& getSensorCache()'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stateSensorCacheMaps
    signature: stateSensorCacheMaps & getSensorCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - previousState
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void updateSensorCacheMaps(pldm::pdr::SensorID sensorId,\n                                      size_t
      sensorRearm, uint8_t previousState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const DbusToPLDMEvent&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(DbusToPLDMEvent&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~DbusToPLDMEvent()
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& getSensorCache()'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stateSensorCacheMaps
    signature: stateSensorCacheMaps & getSensorCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - previousState
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void updateSensorCacheMaps(pldm::pdr::SensorID sensorId,\n                                      size_t
      sensorRearm, uint8_t previousState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const DbusToPLDMEvent&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(DbusToPLDMEvent&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~DbusToPLDMEvent()
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& getSensorCache()'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stateSensorCacheMaps
    signature: stateSensorCacheMaps & getSensorCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - previousState
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void updateSensorCacheMaps(pldm::pdr::SensorID sensorId,\n                                      size_t
      sensorRearm, uint8_t previousState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DbusToPLDMEvent(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const DbusToPLDMEvent&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(const DbusToPLDMEvent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(DbusToPLDMEvent&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DbusToPLDMEvent
    signature: DbusToPLDMEvent & operator=(DbusToPLDMEvent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~DbusToPLDMEvent()
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DbusToPLDMEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& getSensorCache()'
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stateSensorCacheMaps
    signature: stateSensorCacheMaps & getSensorCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sensorId
    - sensorRearm
    - previousState
    argTypes:
    - pldm::pdr::SensorID
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void updateSensorCacheMaps(pldm::pdr::SensorID sensorId,\n                                      size_t
      sensorRearm, uint8_t previousState)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mctp_eid
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::DbusToPLDMEvent(\n    int /* mctp_fd */, uint8_t
      mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:34,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:39,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:42,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:45,1
    - Dst: data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:48,1
    - Dst: free
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:51,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:52,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:63,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:68,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:72,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:78,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - eventType
    - ' eventDataVec'
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - pldm::InstanceIdError::InstanceIdError
    - next
    - encode_platform_event_message_req
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendEventMsg(uint8_t eventType,\n                                   const
      std::vector<uint8_t>& eventDataVec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:93,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:104,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:108,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:112,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:118,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:119,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: objectPath::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: interface::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:121,1
    - Dst: read
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:127,1
    - Dst: DbusChangedProps::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:128,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:137,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:138,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:139,1
    - Dst: pldm::utils::split
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:141,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:154,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:164,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:175,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:177,1
    - Dst: emplace_back
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - sensorId
    - ' dbusMaps'
    argTypes:
    - SensorId
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 184
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::move
    - pldm::utils::split
    - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    - size
    - propertiesChanged
    - emplace_back
    - pldm_sensor_event_data::pldm_sensor_event_data
    - static_cast<uint8_t>
    - std::make_unique<sdbusplus::match>
    - at
    - DbusChangedProps::at
    - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    - contains
    - objectPath::c_str
    - DbusChangedProps::contains
    - std::get<std::string>
    - read
    - std::vector::resize
    - interface::c_str
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendStateSensorEvent(SensorId sensorId,\n                                           const
      DbusObjMaps& dbusMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:192,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:205,1
    - Dst: getRepoByType
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:206,1
    - Dst: Repo::empty
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:207,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:213,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:216,1
    - Dst: LE16TOH
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:217,1
    - Dst: std::map::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:218,1
    - Dst: std::map::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:220,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' repo'
    - ' dbusMaps'
    argTypes:
    - pdr_utils::Repo
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - std::map::contains
    - std::map::at
    - std::unique_ptr::get
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::runtime_error
    - LE16TOH
    - Repo::getFirstRecord
    - Repo::getNextRecord
    - Repo::empty
    - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::listenSensorEvent(const pdr_utils::Repo& repo,\n
      \                                       const DbusObjMaps& dbusMaps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mctp_eid
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::DbusToPLDMEvent(\n    int /* mctp_fd */, uint8_t
      mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:34,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:39,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:42,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:45,1
    - Dst: data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:48,1
    - Dst: free
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:51,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:52,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:63,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:68,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:72,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:78,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - eventType
    - ' eventDataVec'
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - pldm::InstanceIdError::InstanceIdError
    - next
    - encode_platform_event_message_req
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendEventMsg(uint8_t eventType,\n                                   const
      std::vector<uint8_t>& eventDataVec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:93,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:104,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:108,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:112,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:118,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:119,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: objectPath::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: interface::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:121,1
    - Dst: read
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:127,1
    - Dst: DbusChangedProps::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:128,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:137,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:138,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:139,1
    - Dst: pldm::utils::split
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:141,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:154,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:164,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:175,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:177,1
    - Dst: emplace_back
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - sensorId
    - ' dbusMaps'
    argTypes:
    - SensorId
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 184
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - std::move
    - pldm::utils::split
    - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    - size
    - propertiesChanged
    - emplace_back
    - pldm_sensor_event_data::pldm_sensor_event_data
    - static_cast<uint8_t>
    - std::make_unique<sdbusplus::match>
    - at
    - DbusChangedProps::at
    - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    - contains
    - objectPath::c_str
    - DbusChangedProps::contains
    - std::get<std::string>
    - read
    - std::vector::resize
    - interface::c_str
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendStateSensorEvent(SensorId sensorId,\n                                           const
      DbusObjMaps& dbusMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:192,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:205,1
    - Dst: getRepoByType
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:206,1
    - Dst: Repo::empty
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:207,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:213,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:216,1
    - Dst: LE16TOH
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:217,1
    - Dst: std::map::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:218,1
    - Dst: std::map::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:220,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' repo'
    - ' dbusMaps'
    argTypes:
    - pdr_utils::Repo
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - std::map::contains
    - std::map::at
    - std::unique_ptr::get
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::runtime_error
    - LE16TOH
    - Repo::getFirstRecord
    - Repo::getNextRecord
    - Repo::empty
    - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::listenSensorEvent(const pdr_utils::Repo& repo,\n
      \                                       const DbusObjMaps& dbusMaps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mctp_eid
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::DbusToPLDMEvent(\n    int /* mctp_fd */, uint8_t
      mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:34,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:39,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:42,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:45,1
    - Dst: data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:48,1
    - Dst: free
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:51,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:52,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:63,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:68,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:72,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:78,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - eventType
    - ' eventDataVec'
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - pldm::InstanceIdError::InstanceIdError
    - next
    - encode_platform_event_message_req
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendEventMsg(uint8_t eventType,\n                                   const
      std::vector<uint8_t>& eventDataVec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:93,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:104,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:108,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:112,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:118,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:119,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: objectPath::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: interface::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:121,1
    - Dst: read
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:127,1
    - Dst: DbusChangedProps::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:128,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:137,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:138,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:139,1
    - Dst: pldm::utils::split
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:141,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:154,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:164,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:175,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:177,1
    - Dst: emplace_back
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - sensorId
    - ' dbusMaps'
    argTypes:
    - SensorId
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 184
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - std::move
    - pldm::utils::split
    - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    - size
    - propertiesChanged
    - emplace_back
    - pldm_sensor_event_data::pldm_sensor_event_data
    - static_cast<uint8_t>
    - std::make_unique<sdbusplus::match>
    - at
    - DbusChangedProps::at
    - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    - contains
    - objectPath::c_str
    - DbusChangedProps::contains
    - std::get<std::string>
    - read
    - std::vector::resize
    - interface::c_str
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendStateSensorEvent(SensorId sensorId,\n                                           const
      DbusObjMaps& dbusMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:192,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:205,1
    - Dst: getRepoByType
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:206,1
    - Dst: Repo::empty
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:207,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:213,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:216,1
    - Dst: LE16TOH
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:217,1
    - Dst: std::map::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:218,1
    - Dst: std::map::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:220,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' repo'
    - ' dbusMaps'
    argTypes:
    - pdr_utils::Repo
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - std::map::contains
    - std::map::at
    - std::unique_ptr::get
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::runtime_error
    - LE16TOH
    - Repo::getFirstRecord
    - Repo::getNextRecord
    - Repo::empty
    - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::listenSensorEvent(const pdr_utils::Repo& repo,\n
      \                                       const DbusObjMaps& dbusMaps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mctp_eid
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::DbusToPLDMEvent(\n    int /* mctp_fd */, uint8_t
      mctp_eid, pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:34,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:37,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:39,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:42,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:43,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:45,1
    - Dst: data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:47,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:48,1
    - Dst: free
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:51,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:52,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:63,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:68,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:72,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:78,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:80,1
    - Dst: error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - eventType
    - ' eventDataVec'
    argTypes:
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 86
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - std::vector::data
    - error
    - decode_platform_event_message_resp
    - pldm::InstanceIdError::InstanceIdError
    - next
    - encode_platform_event_message_req
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendEventMsg(uint8_t eventType,\n                                   const
      std::vector<uint8_t>& eventDataVec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:93,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:104,1
    - Dst: size
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:105,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:108,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:112,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:118,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:119,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: objectPath::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:120,1
    - Dst: interface::c_str
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:121,1
    - Dst: read
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:127,1
    - Dst: DbusChangedProps::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:128,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:137,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:138,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:139,1
    - Dst: pldm::utils::split
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:141,1
    - Dst: DbusChangedProps::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:154,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: pldm_sensor_event_data::pldm_sensor_event_data
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:161,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:164,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:175,1
    - Dst: pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:177,1
    - Dst: emplace_back
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - sensorId
    - ' dbusMaps'
    argTypes:
    - SensorId
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 184
    functionName: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 3
    functionsReached:
    - std::vector::data
    - std::move
    - pldm::utils::split
    - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
    - size
    - propertiesChanged
    - emplace_back
    - pldm_sensor_event_data::pldm_sensor_event_data
    - static_cast<uint8_t>
    - std::make_unique<sdbusplus::match>
    - at
    - DbusChangedProps::at
    - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
    - contains
    - objectPath::c_str
    - DbusChangedProps::contains
    - std::get<std::string>
    - read
    - std::vector::resize
    - interface::c_str
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::sendStateSensorEvent(SensorId sensorId,\n                                           const
      DbusObjMaps& dbusMaps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:192,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:200,1
    - Dst: std::unique_ptr::get
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:205,1
    - Dst: getRepoByType
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:206,1
    - Dst: Repo::empty
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:207,1
    - Dst: Repo::getFirstRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:213,1
    - Dst: std::start_lifetime_as<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:216,1
    - Dst: LE16TOH
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:217,1
    - Dst: std::map::contains
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:218,1
    - Dst: std::map::at
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:220,1
    - Dst: Repo::getNextRecord
      Src: /src/pldm/host-bmc/dbus_to_event_handler.cpp:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' repo'
    - ' dbusMaps'
    argTypes:
    - pdr_utils::Repo
    - DbusObjMaps
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 226
    functionName: pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
    functionSourceFile: /src/pldm/host-bmc/dbus_to_event_handler.cpp
    functionUses: 0
    functionsReached:
    - getRepoByType
    - std::map::contains
    - std::map::at
    - std::unique_ptr::get
    - std::start_lifetime_as<pldm_state_sensor_pdr>
    - std::runtime_error
    - LE16TOH
    - Repo::getFirstRecord
    - Repo::getNextRecord
    - Repo::empty
    - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
    linkageType: ''
    returnType: void
    signature: "void DbusToPLDMEvent::listenSensorEvent(const pdr_utils::Repo& repo,\n
      \                                       const DbusObjMaps& dbusMaps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const Host&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(Host&&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Host() override
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Host() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/host_condition.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::shared_ptr<HostPDRHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::dbus_api::Host::setHostPdrObj
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHostPdrObj(std::shared_ptr<HostPDRHandler> obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const Host&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(Host&&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Host() override
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Host() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/host_condition.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::shared_ptr<HostPDRHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::dbus_api::Host::setHostPdrObj
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHostPdrObj(std::shared_ptr<HostPDRHandler> obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const Host&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(Host&&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Host() override
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Host() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/host_condition.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::shared_ptr<HostPDRHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::dbus_api::Host::setHostPdrObj
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHostPdrObj(std::shared_ptr<HostPDRHandler> obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(const Host&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(const Host&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Host(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(Host&&)'
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Host
    signature: Host & operator=(Host&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~Host() override
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Host() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/host_condition.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: pldm::dbus_api::Host::Host
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Host(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::shared_ptr<HostPDRHandler>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::dbus_api::Host::setHostPdrObj
    functionSourceFile: /src/pldm/host-bmc/host_condition.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setHostPdrObj(std::shared_ptr<HostPDRHandler> obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/host-bmc/host_condition.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::currentFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_condition.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/host-bmc/host_condition.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::currentFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_condition.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/host-bmc/host_condition.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::currentFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_condition.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/host-bmc/host_condition.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: pldm::dbus_api::Host::currentFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_condition.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Host::FirmwareCondition
    signature: Host::FirmwareCondition Host::currentFirmwareCondition() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:46,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: pldm::extractTerminusHandle
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t extractTerminusHandle(std::vector<uint8_t>& pdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:70,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:74,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:82,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - entityTree
    - ' pdr'
    argTypes:
    - pldm_entity_association_tree*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: pldm::updateContainerId
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - data
    linkageType: ''
    returnType: void
    signature: "void updateContainerId(pldm_entity_association_tree* entityTree,\n
      \                      std::vector<uint8_t>& pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseEntityMap
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:101,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:104,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:105,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:106,1
    - Dst: read
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:111,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:113,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:114,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:117,1
    - Dst: std::erase_if
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:121,1
    - Dst: pldm::HostPDRHandler::setPresenceFrus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:127,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:128,1
    - Dst: pldm_entity_association_tree_destroy_root
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:129,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:130,1
    - Dst: pldm::HostPDRHandler::sensorMap::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:132,1
    - Dst: handleBootTypesAtPowerOn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 8
    argNames:
    - mctp_eid
    - ' event'
    - repo
    - ' eventsJsonsDir'
    - entityTree
    - bmcEntityTree
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - sdeventplus::Event
    - pldm_pdr*
    - std::string
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 154
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - pldm_pdr_remove_remote_pdrs
    - pldm::HostPDRHandler::setPresenceFrus
    - pldm::HostPDRHandler::sensorMap::clear
    - pldm_entity_association_tree_destroy_root
    - DbusChangedProps::end
    - pldm_entity_association_tree_copy_root
    - parseEntityMap
    - std::erase_if
    - std::get<std::string>
    - handleBootTypesAtPowerOn
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::HostPDRHandler(\n    int /* mctp_fd */, uint8_t
      mctp_eid, sdeventplus::Event& event,\n    pldm_pdr* repo, const std::string&
      eventsJsonsDir,\n    pldm_entity_association_tree* entityTree,\n    pldm_entity_association_tree*
      bmcEntityTree,\n    pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: pldm::HostPDRHandler::setPresenceFrus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setPresenceFrus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:167,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:168,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:172,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:176,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:182,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:183,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' recordHandles'
    argTypes:
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: pldm::HostPDRHandler::fetchPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::bind
    - std::mem_fn
    - std::move
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::fetchPDR(PDRRecordHandles&& recordHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::HostPDRHandler::getHostPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pldm::HostPDRHandler::_fetchPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::HostPDRHandler::getHostPDR
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::_fetchPDR(sdeventplus::source::EventBase& /*source*/)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:194,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:198,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:198,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:200,1
    - Dst: front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:203,1
    - Dst: pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:204,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:206,1
    - Dst: front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:208,1
    - Dst: pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:209,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:215,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:218,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:218,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:220,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:223,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:227,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:228,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:233,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:235,1
    - Dst: pldm::HostPDRHandler::processHostPDRs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:237,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:241,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - nextRecordHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 246
    functionName: pldm::HostPDRHandler::getHostPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - empty
    - std::vector::data
    - error
    - pldm::HostPDRHandler::processHostPDRs
    - next
    - pldm::InstanceIdError::InstanceIdError
    - registerRequest
    - free
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - auto::value
    - auto::error
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::getHostPDR(uint32_t nextRecordHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventAction
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:251,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' entry'
    - state
    argTypes:
    - StateSensorEntry
    - pdr::EventState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: pldm::HostPDRHandler::handleStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - eventAction
    linkageType: ''
    returnType: int
    signature: "int HostPDRHandler::handleStateSensorEvent(const StateSensorEntry&
      entry,\n                                           pdr::EventState state)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: pldm_pdr_entity_association::pldm_pdr_entity_association
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: checkRecordHandleInRange
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:272,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:276,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:276,1
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:286,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:291,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:296,1
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:301,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:308,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:310,1
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:319,1
    - Dst: push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:325,1
    - Dst: pldm_find_entity_ref_in_tree
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:333,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:336,1
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:343,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:346,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:349,1
    - Dst: pldm_entity_association_pdr_add_from_node
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:355,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:361,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - ' pdr'
    - ' size'
    - ' record_handle'
    argTypes:
    - std::vector<uint8_t>
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 368
    functionName: pldm::HostPDRHandler::mergeEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_entity_association::pldm_pdr_entity_association
    - pldm_entity_association_pdr_extract
    - size
    - push_back
    - fetchLastBMCRecord
    - error
    - checkIfLogicalBitSet
    - free
    - Entities::push_back
    - pldm_entity_association_tree_add_entity
    - const_cast<uint8_t*>
    - pldm_pdr_get_record_handle
    - pldm_entity_association_tree_find_with_locality
    - checkRecordHandleInRange
    - data
    - pldm_pdr_add
    - pldm_find_entity_ref_in_tree
    - pldm_entity_association_pdr_add_from_node
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::mergeEntityAssociations(\n    const std::vector<uint8_t>&
      pdr, [[maybe_unused]] const uint32_t& size,\n    [[maybe_unused]] const uint32_t&
      record_handle)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:373,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:380,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:386,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:388,1
    - Dst: push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:390,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:391,1
    - Dst: std::vector::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:395,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:399,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:404,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:406,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:407,1
    - Dst: pldm_pdr_repository_chg_event_data::pldm_pdr_repository_chg_event_data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:407,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:410,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:412,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:412,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:416,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:421,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:424,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:424,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:426,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:430,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:430,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:431,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:433,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:437,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:438,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:449,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:456,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:457,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:461,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:467,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:469,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:469,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:472,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - ' pdrTypes'
    - eventDataFormat
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts:
    - condition: (eventDataFormat == FORMAT_IS_PDR_HANDLES)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/pldm/host-bmc/host_pdr_handler.cpp
    constantsTouched: []
    func_position:
      end: 476
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 476
    functionName: pldm::HostPDRHandler::sendPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_pdr_record_is_remote
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - error
    - decode_platform_event_message_resp
    - free
    - registerRequest
    - pldm_pdr_find_record_by_type
    - pldm_msg::pldm_msg
    - auto::error
    - pldm_pdr_get_record_handle
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - pldm_pdr_repository_chg_event_data::pldm_pdr_repository_chg_event_data
    - assert
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::sendPDRRepositoryChgEvent(std::vector<uint8_t>&&
      pdrTypes,\n                                               uint8_t eventDataFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::parseStateSensorPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:484,1
    - Dst: std::get<0>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:488,1
    - Dst: at
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:488,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:496,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' stateSensorPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: pldm::HostPDRHandler::parseStateSensorPDRs
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::get<0>
    - at
    - pldm::responder::pdr_utils::parseStateSensorPDR
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::parseStateSensorPDRs(const PDRList& stateSensorPDRs)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:521,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:522,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:527,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:533,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:541,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:543,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:547,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:567,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:567,1
    - Dst: pldm::HostPDRHandler::mergeEntityAssociations
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:575,1
    - Dst: extractTerminusHandle<pldm_terminus_locator_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:583,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:585,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:586,1
    - Dst: "reinterpret_cast<\n                            const pldm_terminus_locator_type_mctp_eid*>"
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:594,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:597,1
    - Dst: get<1>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:606,1
    - Dst: get<2>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:607,1
    - Dst: insert_or_assign
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:614,1
    - Dst: std::make_tuple
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:616,1
    - Dst: extractTerminusHandle<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:621,1
    - Dst: updateContainerId<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:622,1
    - Dst: PDRList::emplace_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:623,1
    - Dst: extractTerminusHandle<pldm_pdr_fru_record_set>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:628,1
    - Dst: updateContainerId<pldm_pdr_fru_record_set>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:629,1
    - Dst: PDRList::emplace_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:630,1
    - Dst: extractTerminusHandle<pldm_state_effecter_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:635,1
    - Dst: updateContainerId<pldm_state_effecter_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:636,1
    - Dst: extractTerminusHandle<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:641,1
    - Dst: updateContainerId<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:643,1
    - Dst: pldm_pdr_update_TL_pdr
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:649,1
    - Dst: pldm::HostPDRHandler::isHostUp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:652,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:662,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:662,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:667,1
    - Dst: updateEntityAssociation
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:675,1
    - Dst: setCoreCount
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:679,1
    - Dst: pldm::HostPDRHandler::parseStateSensorPDRs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:682,1
    - Dst: pldm::HostPDRHandler::createDbusObjects
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:683,1
    - Dst: pldm::HostPDRHandler::isHostUp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:684,1
    - Dst: pldm::HostPDRHandler::setHostSensorState
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:686,1
    - Dst: PDRList::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:688,1
    - Dst: PDRList::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:689,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:690,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:696,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:698,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:699,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:705,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:712,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:714,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:715,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 2
    argNames:
    - response
    - respMsgLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 719
    functionName: pldm::HostPDRHandler::processHostPDRs
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - "reinterpret_cast<\n                            const pldm_terminus_locator_type_mctp_eid*>"
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - PDRList::emplace_back
    - std::vector::data
    - pldm_pdr_update_TL_pdr
    - extractTerminusHandle<pldm_numeric_effecter_value_pdr>
    - get<1>
    - pldm::HostPDRHandler::mergeEntityAssociations
    - pldm::utils::reportError
    - setCoreCount
    - std::mem_fn
    - get<2>
    - error
    - std::start_lifetime_as<pldm_pdr_hdr>
    - PDRList::clear
    - pldm::HostPDRHandler::createDbusObjects
    - insert_or_assign
    - clear
    - static_cast<uint8_t>
    - updateContainerId<pldm_pdr_fru_record_set>
    - extractTerminusHandle<pldm_terminus_locator_pdr>
    - updateEntityAssociation
    - updateContainerId<pldm_state_effecter_pdr>
    - extractTerminusHandle<pldm_state_sensor_pdr>
    - extractTerminusHandle<pldm_pdr_fru_record_set>
    - pldm::HostPDRHandler::isHostUp
    - empty
    - std::make_tuple
    - pldm::HostPDRHandler::setHostSensorState
    - updateContainerId<pldm_state_sensor_pdr>
    - pldm_pdr_add
    - std::bind
    - updateContainerId<pldm_numeric_effecter_value_pdr>
    - pldm::HostPDRHandler::parseStateSensorPDRs
    - std::runtime_error
    - extractTerminusHandle<pldm_state_effecter_pdr>
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_resp
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::processHostPDRs(\n    mctp_eid_t /*eid*/, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:724,1
    - Dst: pldm::HostPDRHandler::sendPDRRepositoryChgEvent
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:725,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: pldm::HostPDRHandler::_processPDRRepoChgEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - reset
    - pldm::HostPDRHandler::sendPDRRepositoryChgEvent
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::_processPDRRepoChgEvent(\n    sdeventplus::source::EventBase&
      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:733,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:734,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:736,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:737,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:739,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:741,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:742,1
    - Dst: pldm::HostPDRHandler::getHostPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nextRecordHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 745
    functionName: pldm::HostPDRHandler::_processFetchPDREvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::pop_front
    - pldm::HostPDRHandler::pdrRecordHandles::empty
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::empty
    - pldm::HostPDRHandler::pdrRecordHandles::pop_front
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::front
    - reset
    - pldm::HostPDRHandler::pdrRecordHandles::front
    - pldm::HostPDRHandler::getHostPDR
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::_processFetchPDREvent(\n    uint32_t nextRecordHandle,
      sdeventplus::source::EventBase& /*source */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:750,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:753,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:753,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:755,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:758,1
    - Dst: encode_get_version_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:759,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:763,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:765,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:774,1
    - Dst: info
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:778,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:782,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:783,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:784,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 790
    functionName: pldm::HostPDRHandler::setHostFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - info
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setHostFirmwareCondition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: pldm::HostPDRHandler::isHostUp
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HostPDRHandler::isHostUp() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:801,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:802,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:806,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:807,1
    - Dst: std::get<2>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:818,1
    - Dst: std::get<1>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:820,1
    - Dst: std::get<0>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:825,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:827,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:830,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:830,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:832,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:836,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:836,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:837,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:842,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:843,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:847,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:859,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:868,1
    - Dst: std::array::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:870,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:874,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:878,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:892,1
    - Dst: std::tie
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:905,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:907,1
    - Dst: std::tie
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:914,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:916,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:920,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:924,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:925,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:927,1
    - Dst: find
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:935,1
    - Dst: end
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:936,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:938,1
    - Dst: pldm::HostPDRHandler::handleStateSensorEvent
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:950,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:954,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:956,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:957,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:961,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - ' stateSensorPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 969
    functionName: pldm::HostPDRHandler::setHostSensorState
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - emitStateSensorEventSignal
    - std::get<0>
    - std::vector::data
    - std::array::data
    - find
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - encode_get_state_sensor_readings_req
    - std::tie
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - pldm::utils::reportError
    - error
    - free
    - lookupSensorInfo
    - decode_get_state_sensor_readings_resp
    - std::get<2>
    - end
    - registerRequest
    - pldm_msg::pldm_msg
    - auto::error
    - pldm::pdr::CompositeSensorStates::size
    - data
    - std::get<1>
    - pldm::HostPDRHandler::handleStateSensorEvent
    - auto::value
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setHostSensorState(const PDRList& stateSensorPDRs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:974,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:977,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:977,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:979,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:984,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:984,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:985,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:986,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:989,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:990,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1003,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1015,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1022,1
    - Dst: pldm::HostPDRHandler::getFRURecordTableByRemote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1029,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1032,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1034,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1035,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' fruRecordSetPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1044
    functionName: pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - pldm::HostPDRHandler::getFRURecordTableByRemote
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::getFRURecordTableMetadataByRemote(\n    const
      PDRList& fruRecordSetPDRs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1049,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1053,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1057,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1060,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1060,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1062,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1067,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1067,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1068,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1070,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1073,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1074,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1087,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1097,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1098,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1100,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1105,1
    - Dst: pldm::responder::pdr_utils::parseFruRecordTable
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1112,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1114,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1116,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1118,1
    - Dst: pldm::HostPDRHandler::setFRUDataOnDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1122,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1125,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1127,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1127,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - totalTableRecords
    argTypes:
    - PDRList
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1132
    functionName: pldm::HostPDRHandler::getFRURecordTableByRemote
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - clear
    - pldm::responder::pdr_utils::parseFruRecordTable
    - size
    - encode_get_fru_record_table_req
    - std::vector::data
    - error
    - pldm::HostPDRHandler::setFRUDataOnDBus
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - auto::value
    - auto::error
    - std::vector::size
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::getFRURecordTableByRemote(const PDRList& fruRecordSetPDRs,\n
      \                                              uint16_t totalTableRecords)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1139,1
    - Dst: const_cast<uint8_t*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1140,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - ' entity'
    argTypes:
    - PDRList
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1151
    functionName: pldm::HostPDRHandler::getRSI
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - const_cast<uint8_t*>
    - data
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> HostPDRHandler::getRSI(const PDRList& fruRecordSetPDRs,\n
      \                                              const pldm_entity& entity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1161,1
    - Dst: pldm::HostPDRHandler::getRSI
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1162,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1178,1
    - Dst: std::string
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1180,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1180,1
    - Dst: fruFieldValue::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - ' fruRecordData'
    argTypes:
    - PDRList
    - "std::vector<\n        responder::pdr_utils::FruRecordDataFormat>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1189
    functionName: pldm::HostPDRHandler::setFRUDataOnDBus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - pldm_entity_extract
    - reinterpret_cast<const char*>
    - fruFieldValue::data
    - pldm::HostPDRHandler::getRSI
    - CustomDBus::getCustomDBus
    - std::string
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::setFRUDataOnDBus(\n    [[maybe_unused]] const
      PDRList& fruRecordSetPDRs,\n    [[maybe_unused]] const std::vector<\n        responder::pdr_utils::FruRecordDataFormat>&
      fruRecordData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1194
    functionName: pldm::HostPDRHandler::setPresentPropertyStatus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setPresentPropertyStatus(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: pldm::HostPDRHandler::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setAvailabilityState(const std::string& path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::HostPDRHandler::setPresentPropertyStatus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1208,1
    - Dst: pldm::HostPDRHandler::setAvailabilityState
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1210,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1212,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1216,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1220,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1224,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1228,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1232,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1235,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1239,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1243,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1246,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1250,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1254,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1257,1
    - Dst: pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1264,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - ' fruRecordSetPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1265
    functionName: pldm::HostPDRHandler::createDbusObjects
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - pldm::HostPDRHandler::setAvailabilityState
    - pldm_entity_extract
    - CustomDBus::getCustomDBus
    - pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
    - pldm::HostPDRHandler::setPresentPropertyStatus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::createDbusObjects(const PDRList& fruRecordSetPDRs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_delete_by_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1271,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' recordHandles'
    argTypes:
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: pldm::HostPDRHandler::deletePDRFromRepo
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm_pdr_delete_by_record_handle
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::deletePDRFromRepo(PDRRecordHandles&& recordHandles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:46,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: pldm::extractTerminusHandle
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t extractTerminusHandle(std::vector<uint8_t>& pdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:70,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:74,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:82,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - entityTree
    - ' pdr'
    argTypes:
    - pldm_entity_association_tree*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: pldm::updateContainerId
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_find_with_locality
    - pldm_entity_extract
    - data
    linkageType: ''
    returnType: void
    signature: "void updateContainerId(pldm_entity_association_tree* entityTree,\n
      \                      std::vector<uint8_t>& pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseEntityMap
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:101,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:104,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:105,1
    - Dst: propertiesChanged
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:106,1
    - Dst: read
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:111,1
    - Dst: DbusChangedProps::find
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:113,1
    - Dst: DbusChangedProps::end
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:114,1
    - Dst: std::get<std::string>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:117,1
    - Dst: std::erase_if
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:121,1
    - Dst: pldm::HostPDRHandler::setPresenceFrus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:127,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:128,1
    - Dst: pldm_entity_association_tree_destroy_root
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:129,1
    - Dst: pldm_entity_association_tree_copy_root
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:130,1
    - Dst: pldm::HostPDRHandler::sensorMap::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:132,1
    - Dst: handleBootTypesAtPowerOn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 8
    argNames:
    - mctp_eid
    - ' event'
    - repo
    - ' eventsJsonsDir'
    - entityTree
    - bmcEntityTree
    - ' instanceIdDb'
    - handler
    argTypes:
    - uint8_t
    - sdeventplus::Event
    - pldm_pdr*
    - std::string
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    - pldm::InstanceIdDb
    - pldm::requester::Handler<pldm::requester::Request>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 154
    functionName: pldm::HostPDRHandler::HostPDRHandler
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<sdbusplus::match>
    - pldm_pdr_remove_remote_pdrs
    - pldm::HostPDRHandler::setPresenceFrus
    - pldm::HostPDRHandler::sensorMap::clear
    - pldm_entity_association_tree_destroy_root
    - DbusChangedProps::end
    - pldm_entity_association_tree_copy_root
    - parseEntityMap
    - std::erase_if
    - std::get<std::string>
    - handleBootTypesAtPowerOn
    - DbusChangedProps::find
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::HostPDRHandler(\n    int /* mctp_fd */, uint8_t
      mctp_eid, sdeventplus::Event& event,\n    pldm_pdr* repo, const std::string&
      eventsJsonsDir,\n    pldm_entity_association_tree* entityTree,\n    pldm_entity_association_tree*
      bmcEntityTree,\n    pldm::InstanceIdDb& instanceIdDb,\n    pldm::requester::Handler<pldm::requester::Request>*
      handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: pldm::HostPDRHandler::setPresenceFrus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setPresenceFrus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:167,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:168,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:172,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:176,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:182,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:183,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' recordHandles'
    argTypes:
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 185
    functionName: pldm::HostPDRHandler::fetchPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::bind
    - std::mem_fn
    - std::move
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::fetchPDR(PDRRecordHandles&& recordHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::HostPDRHandler::getHostPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pldm::HostPDRHandler::_fetchPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::HostPDRHandler::getHostPDR
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::_fetchPDR(sdeventplus::source::EventBase& /*source*/)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:194,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:198,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:198,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:200,1
    - Dst: front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:203,1
    - Dst: pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:204,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:206,1
    - Dst: front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:208,1
    - Dst: pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:209,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:215,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:218,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:218,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:220,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:223,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:227,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:228,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:233,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:235,1
    - Dst: pldm::HostPDRHandler::processHostPDRs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:237,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:241,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - nextRecordHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 246
    functionName: pldm::HostPDRHandler::getHostPDR
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 3
    functionsReached:
    - empty
    - std::vector::data
    - error
    - pldm::HostPDRHandler::processHostPDRs
    - next
    - pldm::InstanceIdError::InstanceIdError
    - registerRequest
    - free
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - auto::value
    - auto::error
    - pop_front
    - front
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::getHostPDR(uint32_t nextRecordHandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eventAction
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:251,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' entry'
    - state
    argTypes:
    - StateSensorEntry
    - pdr::EventState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: pldm::HostPDRHandler::handleStateSensorEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - error
    - eventAction
    linkageType: ''
    returnType: int
    signature: "int HostPDRHandler::handleStateSensorEvent(const StateSensorEntry&
      entry,\n                                           pdr::EventState state)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: pldm_pdr_entity_association::pldm_pdr_entity_association
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:268,1
    - Dst: checkRecordHandleInRange
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:272,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:276,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:276,1
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:279,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:286,1
    - Dst: pldm_entity_association_tree_find_with_locality
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:291,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:296,1
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:301,1
    - Dst: checkIfLogicalBitSet
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:308,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:310,1
    - Dst: Entities::push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:319,1
    - Dst: push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:325,1
    - Dst: pldm_find_entity_ref_in_tree
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:333,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:336,1
    - Dst: fetchLastBMCRecord
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:343,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:346,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:349,1
    - Dst: pldm_entity_association_pdr_add_from_node
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:355,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:361,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:367,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - ' pdr'
    - ' size'
    - ' record_handle'
    argTypes:
    - std::vector<uint8_t>
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 368
    functionName: pldm::HostPDRHandler::mergeEntityAssociations
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_entity_association::pldm_pdr_entity_association
    - pldm_entity_association_pdr_extract
    - size
    - push_back
    - fetchLastBMCRecord
    - error
    - checkIfLogicalBitSet
    - free
    - Entities::push_back
    - pldm_entity_association_tree_add_entity
    - const_cast<uint8_t*>
    - pldm_pdr_get_record_handle
    - pldm_entity_association_tree_find_with_locality
    - checkRecordHandleInRange
    - data
    - pldm_pdr_add
    - pldm_find_entity_ref_in_tree
    - pldm_entity_association_pdr_add_from_node
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::mergeEntityAssociations(\n    const std::vector<uint8_t>&
      pdr, [[maybe_unused]] const uint32_t& size,\n    [[maybe_unused]] const uint32_t&
      record_handle)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:373,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:380,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:386,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:388,1
    - Dst: push_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:390,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:391,1
    - Dst: std::vector::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:395,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:399,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:404,1
    - Dst: std::vector::resize
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:406,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:407,1
    - Dst: pldm_pdr_repository_chg_event_data::pldm_pdr_repository_chg_event_data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:407,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:410,1
    - Dst: encode_pldm_pdr_repository_chg_event_data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:412,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:412,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:416,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:421,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:424,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:424,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:426,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:430,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:430,1
    - Dst: encode_platform_event_message_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:431,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:433,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:437,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:438,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:449,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:456,1
    - Dst: decode_platform_event_message_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:457,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:461,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:467,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:469,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:469,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:472,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - ' pdrTypes'
    - eventDataFormat
    argTypes:
    - std::vector<uint8_t>
    - uint8_t
    assertStmts:
    - condition: (eventDataFormat == FORMAT_IS_PDR_HANDLES)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/pldm/host-bmc/host_pdr_handler.cpp
    constantsTouched: []
    func_position:
      end: 476
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 476
    functionName: pldm::HostPDRHandler::sendPDRRepositoryChgEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - pldm_pdr_record_is_remote
    - next
    - pldm::InstanceIdError::InstanceIdError
    - encode_platform_event_message_req
    - std::move
    - std::vector::size
    - size
    - push_back
    - error
    - decode_platform_event_message_resp
    - free
    - registerRequest
    - pldm_pdr_find_record_by_type
    - pldm_msg::pldm_msg
    - auto::error
    - pldm_pdr_get_record_handle
    - data
    - encode_pldm_pdr_repository_chg_event_data
    - pldm_pdr_repository_chg_event_data::pldm_pdr_repository_chg_event_data
    - assert
    - std::vector::empty
    - auto::value
    - std::vector::resize
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::sendPDRRepositoryChgEvent(std::vector<uint8_t>&&
      pdrTypes,\n                                               uint8_t eventDataFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::pdr_utils::parseStateSensorPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:484,1
    - Dst: std::get<0>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:488,1
    - Dst: at
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:488,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:496,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' stateSensorPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: pldm::HostPDRHandler::parseStateSensorPDRs
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - emplace
    - std::get<0>
    - at
    - pldm::responder::pdr_utils::parseStateSensorPDR
    - std::move
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::parseStateSensorPDRs(const PDRList& stateSensorPDRs)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:521,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:522,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:527,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:533,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:541,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:543,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:547,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:567,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:567,1
    - Dst: pldm::HostPDRHandler::mergeEntityAssociations
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:575,1
    - Dst: extractTerminusHandle<pldm_terminus_locator_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:583,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:585,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:586,1
    - Dst: "reinterpret_cast<\n                            const pldm_terminus_locator_type_mctp_eid*>"
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:594,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:597,1
    - Dst: get<1>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:606,1
    - Dst: get<2>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:607,1
    - Dst: insert_or_assign
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:614,1
    - Dst: std::make_tuple
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:616,1
    - Dst: extractTerminusHandle<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:621,1
    - Dst: updateContainerId<pldm_state_sensor_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:622,1
    - Dst: PDRList::emplace_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:623,1
    - Dst: extractTerminusHandle<pldm_pdr_fru_record_set>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:628,1
    - Dst: updateContainerId<pldm_pdr_fru_record_set>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:629,1
    - Dst: PDRList::emplace_back
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:630,1
    - Dst: extractTerminusHandle<pldm_state_effecter_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:635,1
    - Dst: updateContainerId<pldm_state_effecter_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:636,1
    - Dst: extractTerminusHandle<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:641,1
    - Dst: updateContainerId<pldm_numeric_effecter_value_pdr>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:643,1
    - Dst: pldm_pdr_update_TL_pdr
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:649,1
    - Dst: pldm::HostPDRHandler::isHostUp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:652,1
    - Dst: pldm_pdr_add
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:662,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:662,1
    - Dst: std::runtime_error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:667,1
    - Dst: updateEntityAssociation
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:675,1
    - Dst: setCoreCount
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:679,1
    - Dst: pldm::HostPDRHandler::parseStateSensorPDRs
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:682,1
    - Dst: pldm::HostPDRHandler::createDbusObjects
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:683,1
    - Dst: pldm::HostPDRHandler::isHostUp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:684,1
    - Dst: pldm::HostPDRHandler::setHostSensorState
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:686,1
    - Dst: PDRList::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:688,1
    - Dst: PDRList::clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:689,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:690,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:696,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:698,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:699,1
    - Dst: empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:705,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:712,1
    - Dst: std::bind
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:714,1
    - Dst: std::mem_fn
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:715,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 2
    argNames:
    - response
    - respMsgLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 719
    functionName: pldm::HostPDRHandler::processHostPDRs
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - "reinterpret_cast<\n                            const pldm_terminus_locator_type_mctp_eid*>"
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - PDRList::emplace_back
    - std::vector::data
    - pldm_pdr_update_TL_pdr
    - extractTerminusHandle<pldm_numeric_effecter_value_pdr>
    - get<1>
    - pldm::HostPDRHandler::mergeEntityAssociations
    - pldm::utils::reportError
    - setCoreCount
    - std::mem_fn
    - get<2>
    - error
    - std::start_lifetime_as<pldm_pdr_hdr>
    - PDRList::clear
    - pldm::HostPDRHandler::createDbusObjects
    - insert_or_assign
    - clear
    - static_cast<uint8_t>
    - updateContainerId<pldm_pdr_fru_record_set>
    - extractTerminusHandle<pldm_terminus_locator_pdr>
    - updateEntityAssociation
    - updateContainerId<pldm_state_effecter_pdr>
    - extractTerminusHandle<pldm_state_sensor_pdr>
    - extractTerminusHandle<pldm_pdr_fru_record_set>
    - pldm::HostPDRHandler::isHostUp
    - empty
    - std::make_tuple
    - pldm::HostPDRHandler::setHostSensorState
    - updateContainerId<pldm_state_sensor_pdr>
    - pldm_pdr_add
    - std::bind
    - updateContainerId<pldm_numeric_effecter_value_pdr>
    - pldm::HostPDRHandler::parseStateSensorPDRs
    - std::runtime_error
    - extractTerminusHandle<pldm_state_effecter_pdr>
    - std::make_unique<sdeventplus::source::Defer>
    - decode_get_pdr_resp
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::processHostPDRs(\n    mctp_eid_t /*eid*/, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:724,1
    - Dst: pldm::HostPDRHandler::sendPDRRepositoryChgEvent
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:725,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 728
    functionName: pldm::HostPDRHandler::_processPDRRepoChgEvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - reset
    - pldm::HostPDRHandler::sendPDRRepositoryChgEvent
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::_processPDRRepoChgEvent(\n    sdeventplus::source::EventBase&
      /*source */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:733,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:734,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:736,1
    - Dst: pldm::HostPDRHandler::pdrRecordHandles::pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:737,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::empty
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:739,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:741,1
    - Dst: pldm::HostPDRHandler::modifiedPDRRecordHandles::pop_front
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:742,1
    - Dst: pldm::HostPDRHandler::getHostPDR
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nextRecordHandle
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 745
    functionName: pldm::HostPDRHandler::_processFetchPDREvent
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::pop_front
    - pldm::HostPDRHandler::pdrRecordHandles::empty
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::empty
    - pldm::HostPDRHandler::pdrRecordHandles::pop_front
    - pldm::HostPDRHandler::modifiedPDRRecordHandles::front
    - reset
    - pldm::HostPDRHandler::pdrRecordHandles::front
    - pldm::HostPDRHandler::getHostPDR
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::_processFetchPDREvent(\n    uint32_t nextRecordHandle,
      sdeventplus::source::EventBase& /*source */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:750,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:753,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:753,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:755,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:758,1
    - Dst: encode_get_version_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:759,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:763,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:765,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:774,1
    - Dst: info
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:778,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:782,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:783,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:784,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 790
    functionName: pldm::HostPDRHandler::setHostFirmwareCondition
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - info
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setHostFirmwareCondition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: pldm::HostPDRHandler::isHostUp
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HostPDRHandler::isHostUp() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:801,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:802,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:806,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:807,1
    - Dst: std::get<2>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:818,1
    - Dst: std::get<1>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:820,1
    - Dst: std::get<0>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:825,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:827,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:830,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:830,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:832,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:836,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:836,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:837,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:842,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:843,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:847,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:859,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:868,1
    - Dst: std::array::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:870,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:874,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:878,1
    - Dst: emitStateSensorEventSignal
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:892,1
    - Dst: std::tie
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:905,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:907,1
    - Dst: std::tie
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:914,1
    - Dst: lookupSensorInfo
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:916,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:920,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:924,1
    - Dst: pldm::pdr::CompositeSensorStates::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:925,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:927,1
    - Dst: find
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:935,1
    - Dst: end
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:936,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:938,1
    - Dst: pldm::HostPDRHandler::handleStateSensorEvent
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:950,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:954,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:956,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:957,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:961,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - ' stateSensorPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 969
    functionName: pldm::HostPDRHandler::setHostSensorState
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - emitStateSensorEventSignal
    - std::get<0>
    - std::vector::data
    - std::array::data
    - find
    - next
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - encode_get_state_sensor_readings_req
    - std::tie
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - pldm::utils::reportError
    - error
    - free
    - lookupSensorInfo
    - decode_get_state_sensor_readings_resp
    - std::get<2>
    - end
    - registerRequest
    - pldm_msg::pldm_msg
    - auto::error
    - pldm::pdr::CompositeSensorStates::size
    - data
    - std::get<1>
    - pldm::HostPDRHandler::handleStateSensorEvent
    - auto::value
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setHostSensorState(const PDRList& stateSensorPDRs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:974,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:977,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:977,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:979,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:984,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:984,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:985,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:986,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:989,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:990,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1003,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1015,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1022,1
    - Dst: pldm::HostPDRHandler::getFRURecordTableByRemote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1029,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1032,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1034,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1035,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' fruRecordSetPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 1044
    functionName: pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - std::vector::data
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - pldm::HostPDRHandler::getFRURecordTableByRemote
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::getFRURecordTableMetadataByRemote(\n    const
      PDRList& fruRecordSetPDRs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1049,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1053,1
    - Dst: next
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1057,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1060,1
    - Dst: auto::error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1060,1
    - Dst: auto::value
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1062,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1067,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1067,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1068,1
    - Dst: std::vector::size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1070,1
    - Dst: free
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1073,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1074,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1087,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1097,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1098,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1100,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1105,1
    - Dst: pldm::responder::pdr_utils::parseFruRecordTable
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1111,1
    - Dst: std::vector::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1112,1
    - Dst: size
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1114,1
    - Dst: clear
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1116,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1118,1
    - Dst: pldm::HostPDRHandler::setFRUDataOnDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1122,1
    - Dst: registerRequest
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1125,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1127,1
    - Dst: std::move
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1127,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - totalTableRecords
    argTypes:
    - PDRList
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1132
    functionName: pldm::HostPDRHandler::getFRURecordTableByRemote
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - clear
    - pldm::responder::pdr_utils::parseFruRecordTable
    - size
    - encode_get_fru_record_table_req
    - std::vector::data
    - error
    - pldm::HostPDRHandler::setFRUDataOnDBus
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - auto::value
    - auto::error
    - std::vector::size
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::getFRURecordTableByRemote(const PDRList& fruRecordSetPDRs,\n
      \                                              uint16_t totalTableRecords)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1139,1
    - Dst: const_cast<uint8_t*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1140,1
    - Dst: data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - ' entity'
    argTypes:
    - PDRList
    - pldm_entity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1151
    functionName: pldm::HostPDRHandler::getRSI
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - const_cast<uint8_t*>
    - data
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> HostPDRHandler::getRSI(const PDRList& fruRecordSetPDRs,\n
      \                                              const pldm_entity& entity)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1161,1
    - Dst: pldm::HostPDRHandler::getRSI
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1162,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1178,1
    - Dst: std::string
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1180,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1180,1
    - Dst: fruFieldValue::data
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - ' fruRecordSetPDRs'
    - ' fruRecordData'
    argTypes:
    - PDRList
    - "std::vector<\n        responder::pdr_utils::FruRecordDataFormat>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1189
    functionName: pldm::HostPDRHandler::setFRUDataOnDBus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - pldm_entity_extract
    - reinterpret_cast<const char*>
    - fruFieldValue::data
    - pldm::HostPDRHandler::getRSI
    - CustomDBus::getCustomDBus
    - std::string
    linkageType: ''
    returnType: void
    signature: "void HostPDRHandler::setFRUDataOnDBus(\n    [[maybe_unused]] const
      PDRList& fruRecordSetPDRs,\n    [[maybe_unused]] const std::vector<\n        responder::pdr_utils::FruRecordDataFormat>&
      fruRecordData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1194
    functionName: pldm::HostPDRHandler::setPresentPropertyStatus
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setPresentPropertyStatus(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: pldm::HostPDRHandler::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 1
    functionsReached:
    - CustomDBus::getCustomDBus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::setAvailabilityState(const std::string& path)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm::HostPDRHandler::setPresentPropertyStatus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1208,1
    - Dst: pldm::HostPDRHandler::setAvailabilityState
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1210,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1212,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1216,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1220,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1224,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1228,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1232,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1235,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1239,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1243,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1246,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1250,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1254,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1257,1
    - Dst: pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1264,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - ' fruRecordSetPDRs'
    argTypes:
    - PDRList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1265
    functionName: pldm::HostPDRHandler::createDbusObjects
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 2
    functionsReached:
    - pldm::HostPDRHandler::setAvailabilityState
    - pldm_entity_extract
    - CustomDBus::getCustomDBus
    - pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
    - pldm::HostPDRHandler::setPresentPropertyStatus
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::createDbusObjects(const PDRList& fruRecordSetPDRs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_delete_by_record_handle
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1271,1
    - Dst: error
      Src: /src/pldm/host-bmc/host_pdr_handler.cpp:1274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' recordHandles'
    argTypes:
    - PDRRecordHandles
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: pldm::HostPDRHandler::deletePDRFromRepo
    functionSourceFile: /src/pldm/host-bmc/host_pdr_handler.cpp
    functionUses: 0
    functionsReached:
    - error
    - pldm_pdr_delete_by_record_handle
    linkageType: ''
    returnType: void
    signature: void HostPDRHandler::deletePDRFromRepo(PDRRecordHandles&& recordHandles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:11,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:12,1
    - Dst: EXPECT_NE
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:14,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 16
    functionName: TEST
    functionSourceFile: /src/pldm/host-bmc/test/custom_dbus_test.cpp
    functionUses: 0
    functionsReached:
    - CustomDBus::getCustomDBus
    - EXPECT_NE
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CustomDBus, LocationCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:23,1
    - Dst: CustomDBus::getCustomDBus
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:24,1
    - Dst: EXPECT_NE
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:26,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/custom_dbus_test.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: TEST
    functionSourceFile: /src/pldm/host-bmc/test/custom_dbus_test.cpp
    functionUses: 0
    functionsReached:
    - CustomDBus::getCustomDBus
    - EXPECT_NE
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CustomDBus, MicroCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseEntityMap
      Src: /src/pldm/host-bmc/test/utils_test.cpp:16,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:17,1
    - Dst: EntityMaps::size
      Src: /src/pldm/host-bmc/test/utils_test.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: TEST
    functionSourceFile: /src/pldm/host-bmc/test/utils_test.cpp
    functionUses: 0
    functionsReached:
    - parseEntityMap
    - EntityMaps::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociation, parseEntityMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/pldm/host-bmc/test/utils_test.cpp:44,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:46,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:50,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:54,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:57,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:61,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:64,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:68,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/pldm/host-bmc/test/utils_test.cpp:71,1
    - Dst: parseEntityMap
      Src: /src/pldm/host-bmc/test/utils_test.cpp:90,1
    - Dst: updateEntityAssociation
      Src: /src/pldm/host-bmc/test/utils_test.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:94,1
    - Dst: ObjectPathMaps::size
      Src: /src/pldm/host-bmc/test/utils_test.cpp:94,1
    - Dst: ObjectPathMaps::size
      Src: /src/pldm/host-bmc/test/utils_test.cpp:94,1
    - Dst: ObjectPathMaps::contains
      Src: /src/pldm/host-bmc/test/utils_test.cpp:99,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/test/utils_test.cpp:102,1
    - Dst: pldm_entity_extract
      Src: /src/pldm/host-bmc/test/utils_test.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:106,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:108,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/test/utils_test.cpp:108,1
    - Dst: pldm_entity_node_get_remote_container_id
      Src: /src/pldm/host-bmc/test/utils_test.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/host-bmc/test/utils_test.cpp:113,1
    - Dst: ObjectPathMaps::size
      Src: /src/pldm/host-bmc/test/utils_test.cpp:113,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/pldm/host-bmc/test/utils_test.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 115
    functionName: TEST
    functionSourceFile: /src/pldm/host-bmc/test/utils_test.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_node_get_remote_container_id
    - pldm_entity_extract
    - updateEntityAssociation
    - ObjectPathMaps::contains
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - parseEntityMap
    - ObjectPathMaps::size
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociation, addObjectPathEntityAssociations1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Motherboard() override
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Motherboard() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Motherboard&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(Motherboard&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/motherboard.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Motherboard(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Motherboard() override
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Motherboard() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Motherboard&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(Motherboard&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/motherboard.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Motherboard(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Motherboard() override
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Motherboard() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Motherboard&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(Motherboard&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/motherboard.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Motherboard(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Motherboard() override
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Motherboard() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Motherboard&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(const Motherboard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Motherboard(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(Motherboard&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Motherboard
    signature: Motherboard & operator=(Motherboard&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/motherboard.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Motherboard::Motherboard
    functionSourceFile: /src/pldm/host-bmc/dbus/motherboard.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Motherboard(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~FabricAdapter() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FabricAdapter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const FabricAdapter&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(FabricAdapter&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fabric_adapter.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~FabricAdapter() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FabricAdapter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const FabricAdapter&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(FabricAdapter&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fabric_adapter.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~FabricAdapter() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FabricAdapter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const FabricAdapter&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(FabricAdapter&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fabric_adapter.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~FabricAdapter() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FabricAdapter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const FabricAdapter&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(const FabricAdapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(FabricAdapter&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FabricAdapter
    signature: FabricAdapter & operator=(FabricAdapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fabric_adapter.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::FabricAdapter::FabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void FabricAdapter(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const CustomDBus&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(CustomDBus&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CustomDBus()
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& getCustomDBus()'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & getCustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const CustomDBus&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(CustomDBus&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CustomDBus()
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& getCustomDBus()'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & getCustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const CustomDBus&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(CustomDBus&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CustomDBus()
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& getCustomDBus()'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & getCustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::CustomDBus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CustomDBus(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& operator=(const CustomDBus&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(const CustomDBus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(CustomDBus&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & operator=(CustomDBus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CustomDBus()
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: '& getCustomDBus()'
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CustomDBus
    signature: CustomDBus & getCustomDBus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PCIeDevice() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const PCIeDevice&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeDevice
    signature: PCIeDevice & operator=(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_device.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PCIeDevice() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const PCIeDevice&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeDevice
    signature: PCIeDevice & operator=(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_device.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PCIeDevice() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const PCIeDevice&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeDevice
    signature: PCIeDevice & operator=(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_device.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PCIeDevice() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const PCIeDevice&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeDevice
    signature: PCIeDevice & operator=(const PCIeDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_device.hpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: pldm::dbus::PCIeDevice::PCIeDevice
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeDevice(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/host-bmc/dbus/asset.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Asset::partNumber
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::Asset::partNumber
    linkageType: ''
    returnType: std::string
    signature: std::string Asset::partNumber(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/host-bmc/dbus/asset.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Asset::partNumber
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::Asset::partNumber
    linkageType: ''
    returnType: std::string
    signature: std::string Asset::partNumber(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/host-bmc/dbus/asset.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Asset::partNumber
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::Asset::partNumber
    linkageType: ''
    returnType: std::string
    signature: std::string Asset::partNumber(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/host-bmc/dbus/asset.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Asset::partNumber
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::Asset::partNumber
    linkageType: ''
    returnType: std::string
    signature: std::string Asset::partNumber(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Fan() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Fan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Fan&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Fan&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fan.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Fan(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Fan() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Fan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Fan&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Fan&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fan.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Fan(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Fan() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Fan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Fan&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Fan&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fan.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Fan(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Fan() override
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Fan() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Fan&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(const Fan&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Fan(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Fan&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fan
    signature: Fan & operator=(Fan&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/fan.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Fan::Fan
    functionSourceFile: /src/pldm/host-bmc/dbus/fan.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Fan(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: ~Asset() override
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const Asset&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(Asset&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/asset.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Asset(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: ~Asset() override
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const Asset&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(Asset&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/asset.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Asset(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: ~Asset() override
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const Asset&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(Asset&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/asset.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Asset(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: ~Asset() override
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const Asset&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(const Asset&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asset(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: '& operator=(Asset&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asset
    signature: Asset & operator=(Asset&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/asset.hpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pldm::dbus::Asset::Asset
    functionSourceFile: /src/pldm/host-bmc/dbus/asset.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Asset(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Cable() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Cable&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cable
    signature: Cable & operator=(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cable.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Cable(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Cable() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Cable&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cable
    signature: Cable & operator=(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cable.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Cable(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Cable() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Cable&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cable
    signature: Cable & operator=(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cable.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Cable(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~Cable() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cable(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(const Cable&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Cable
    signature: Cable & operator=(const Cable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cable.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pldm::dbus::Cable::Cable
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Cable(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 5
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 6
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 5
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 6
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 7
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::generationInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeDevice::generationInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 8
    functionsReached:
    - pldm::dbus::PCIeDevice::generationInUse
    linkageType: ''
    returnType: auto
    signature: auto PCIeDevice::generationInUse(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 7
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeDevice::lanesInUse
      Src: /src/pldm/host-bmc/dbus/pcie_device.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeDevice::lanesInUse
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_device.cpp
    functionUses: 8
    functionsReached:
    - pldm::dbus::PCIeDevice::lanesInUse
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeDevice::lanesInUse(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType() const -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - SlotTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType(SlotTypes value) -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType() const -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - SlotTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType(SlotTypes value) -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType() const -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - SlotTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType(SlotTypes value) -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation() const -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       generation"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Generations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::PCIeSlot::generation
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        generation"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::generation(Generations value) -> Generations
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       lanes"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::PCIeSlot::lanes
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        lanes"
    linkageType: ''
    returnType: size_t
    signature: size_t PCIeSlot::lanes(size_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType() const -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       slotType"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - SlotTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: pldm::dbus::PCIeSlot::slotType
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        slotType"
    linkageType: ''
    returnType: auto
    signature: auto PCIeSlot::slotType(SlotTypes value) -> SlotTypes
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n
        \       hotPluggable"
      Src: /src/pldm/host-bmc/dbus/pcie_slot.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pldm::dbus::PCIeSlot::hotPluggable
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::PCIeSlot::\n        hotPluggable"
    linkageType: ''
    returnType: bool
    signature: bool PCIeSlot::hotPluggable(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Panel() override
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Panel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Panel&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Panel&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/panel.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Panel(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Panel() override
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Panel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Panel&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Panel&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/panel.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Panel(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Panel() override
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Panel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Panel&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Panel&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/panel.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Panel(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Panel() override
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Panel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Panel&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(const Panel&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Panel(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Panel&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Panel
    signature: Panel & operator=(Panel&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/panel.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Panel::Panel
    functionSourceFile: /src/pldm/host-bmc/dbus/panel.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Panel(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~VRM() override
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VRM() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const VRM&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(VRM&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/vrm.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void VRM(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~VRM() override
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VRM() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const VRM&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(VRM&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/vrm.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void VRM(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~VRM() override
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VRM() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const VRM&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(VRM&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/vrm.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void VRM(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~VRM() override
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VRM() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const VRM&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(const VRM&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRM(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(VRM&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VRM
    signature: VRM & operator=(VRM&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/vrm.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::VRM::VRM
    functionSourceFile: /src/pldm/host-bmc/dbus/vrm.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void VRM(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:11,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:13,1
    - Dst: std::make_unique<LocationIntf>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:14,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: pldm::dbus::CustomDBus::setLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<LocationIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setLocationCode(const std::string& path, std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:24,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: pldm::dbus::CustomDBus::getLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> CustomDBus::getLocationCode(\n    const
      std::string& path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:34,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: pldm::dbus::CustomDBus::implementCpuCoreInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<CPUCore>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCpuCoreInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:43,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:46,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::setMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<CPUCore>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setMicroCode(const std::string& path, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:53,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: pldm::dbus::CustomDBus::getMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CustomDBus::getMicroCode(const std::string&
      path) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:63,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: std::make_unique<PCIeSlot>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: pldm::dbus::CustomDBus::implementPCIeSlotInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PCIeSlot>
    - emplace
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeSlotInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertSlotTypesFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:74,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:75,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' path'
    - ' slotType'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: pldm::dbus::CustomDBus::setSlotType
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertSlotTypesFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setSlotType(const std::string& path,\n                             const
      std::string& slotType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:83,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: std::make_unique<PCIeDevice>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: pldm::dbus::CustomDBus::implementPCIeDeviceInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<PCIeDevice>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeDeviceInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertGenerationsFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:94,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:96,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:98,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - lanesInUse
    - ' value'
    argTypes:
    - std::string
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: pldm::dbus::CustomDBus::setPCIeDeviceProps
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertGenerationsFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setPCIeDeviceProps(const std::string& path, size_t
      lanesInUse,\n                                    const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:105,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: std::make_unique<Cable>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: pldm::dbus::CustomDBus::implementCableInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Cable>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCableInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:115,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:117,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - length
    - ' cableDescription'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: pldm::dbus::CustomDBus::setCableAttributes
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setCableAttributes(const std::string& path, double
      length,\n                                    const std::string& cableDescription)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:124,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:126,1
    - Dst: std::make_unique<Motherboard>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pldm::dbus::CustomDBus::implementMotherboardInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Motherboard>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementMotherboardInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:134,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:136,1
    - Dst: std::make_unique<FabricAdapter>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:137,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: pldm::dbus::CustomDBus::implementFabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<FabricAdapter>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFabricAdapter(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:144,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:146,1
    - Dst: std::make_unique<Board>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:147,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: pldm::dbus::CustomDBus::implementBoard
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Board>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementBoard(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:154,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:156,1
    - Dst: std::make_unique<PowerSupply>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:157,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: pldm::dbus::CustomDBus::implementPowerSupplyInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<PowerSupply>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPowerSupplyInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:164,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:166,1
    - Dst: std::make_unique<Fan>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: pldm::dbus::CustomDBus::implementFanInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Fan>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFanInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:174,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:176,1
    - Dst: std::make_unique<Connector>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:177,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pldm::dbus::CustomDBus::implementConnecterInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - std::make_unique<Connector>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementConnecterInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:184,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:186,1
    - Dst: std::make_unique<ItemChassis>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:187,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: pldm::dbus::CustomDBus::implementChassisInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<ItemChassis>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementChassisInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:194,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: std::make_unique<Asset>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: pldm::dbus::CustomDBus::implementAssetInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<Asset>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementAssetInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:204,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:206,1
    - Dst: std::make_unique<Availability>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:207,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' state'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pldm::dbus::CustomDBus::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<Availability>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setAvailabilityState(const std::string& path,\n                                      const
      bool& state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:217,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:219,1
    - Dst: std::make_unique<InventoryItem>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:220,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:225,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: std::filesystem::path::filename
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - isPresent
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: pldm::dbus::CustomDBus::updateItemPresentStatus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::filesystem::path::filename
    - c_str
    - std::make_unique<InventoryItem>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::updateItemPresentStatus(const std::string& path,\n
      \                                        bool isPresent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:240,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:242,1
    - Dst: std::make_unique<Panel>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:243,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: pldm::dbus::CustomDBus::implementPanelInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Panel>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPanelInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:250,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:252,1
    - Dst: std::make_unique<VRM>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: pldm::dbus::CustomDBus::implementVRMInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<VRM>
    - c_str
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementVRMInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:11,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:13,1
    - Dst: std::make_unique<LocationIntf>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:14,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: pldm::dbus::CustomDBus::setLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<LocationIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setLocationCode(const std::string& path, std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:24,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: pldm::dbus::CustomDBus::getLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> CustomDBus::getLocationCode(\n    const
      std::string& path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:34,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: pldm::dbus::CustomDBus::implementCpuCoreInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<CPUCore>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCpuCoreInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:43,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:46,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::setMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<CPUCore>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setMicroCode(const std::string& path, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:53,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: pldm::dbus::CustomDBus::getMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CustomDBus::getMicroCode(const std::string&
      path) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:63,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: std::make_unique<PCIeSlot>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: pldm::dbus::CustomDBus::implementPCIeSlotInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PCIeSlot>
    - emplace
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeSlotInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertSlotTypesFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:74,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:75,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' path'
    - ' slotType'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: pldm::dbus::CustomDBus::setSlotType
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertSlotTypesFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setSlotType(const std::string& path,\n                             const
      std::string& slotType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:83,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: std::make_unique<PCIeDevice>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: pldm::dbus::CustomDBus::implementPCIeDeviceInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<PCIeDevice>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeDeviceInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertGenerationsFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:94,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:96,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:98,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - lanesInUse
    - ' value'
    argTypes:
    - std::string
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: pldm::dbus::CustomDBus::setPCIeDeviceProps
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertGenerationsFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setPCIeDeviceProps(const std::string& path, size_t
      lanesInUse,\n                                    const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:105,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: std::make_unique<Cable>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: pldm::dbus::CustomDBus::implementCableInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Cable>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCableInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:115,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:117,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - length
    - ' cableDescription'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: pldm::dbus::CustomDBus::setCableAttributes
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setCableAttributes(const std::string& path, double
      length,\n                                    const std::string& cableDescription)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:124,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:126,1
    - Dst: std::make_unique<Motherboard>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pldm::dbus::CustomDBus::implementMotherboardInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Motherboard>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementMotherboardInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:134,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:136,1
    - Dst: std::make_unique<FabricAdapter>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:137,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: pldm::dbus::CustomDBus::implementFabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<FabricAdapter>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFabricAdapter(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:144,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:146,1
    - Dst: std::make_unique<Board>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:147,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: pldm::dbus::CustomDBus::implementBoard
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Board>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementBoard(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:154,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:156,1
    - Dst: std::make_unique<PowerSupply>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:157,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: pldm::dbus::CustomDBus::implementPowerSupplyInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<PowerSupply>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPowerSupplyInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:164,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:166,1
    - Dst: std::make_unique<Fan>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: pldm::dbus::CustomDBus::implementFanInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Fan>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFanInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:174,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:176,1
    - Dst: std::make_unique<Connector>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:177,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pldm::dbus::CustomDBus::implementConnecterInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - std::make_unique<Connector>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementConnecterInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:184,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:186,1
    - Dst: std::make_unique<ItemChassis>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:187,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: pldm::dbus::CustomDBus::implementChassisInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<ItemChassis>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementChassisInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:194,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: std::make_unique<Asset>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: pldm::dbus::CustomDBus::implementAssetInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<Asset>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementAssetInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:204,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:206,1
    - Dst: std::make_unique<Availability>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:207,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' state'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pldm::dbus::CustomDBus::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<Availability>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setAvailabilityState(const std::string& path,\n                                      const
      bool& state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:217,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:219,1
    - Dst: std::make_unique<InventoryItem>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:220,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:225,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: std::filesystem::path::filename
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - isPresent
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: pldm::dbus::CustomDBus::updateItemPresentStatus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::filesystem::path::filename
    - c_str
    - std::make_unique<InventoryItem>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::updateItemPresentStatus(const std::string& path,\n
      \                                        bool isPresent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:240,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:242,1
    - Dst: std::make_unique<Panel>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:243,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: pldm::dbus::CustomDBus::implementPanelInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Panel>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPanelInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:250,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:252,1
    - Dst: std::make_unique<VRM>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: pldm::dbus::CustomDBus::implementVRMInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<VRM>
    - c_str
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementVRMInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:11,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:13,1
    - Dst: std::make_unique<LocationIntf>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:14,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: pldm::dbus::CustomDBus::setLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<LocationIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setLocationCode(const std::string& path, std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:24,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: pldm::dbus::CustomDBus::getLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> CustomDBus::getLocationCode(\n    const
      std::string& path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:34,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: pldm::dbus::CustomDBus::implementCpuCoreInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<CPUCore>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCpuCoreInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:43,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:46,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::setMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<CPUCore>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setMicroCode(const std::string& path, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:53,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: pldm::dbus::CustomDBus::getMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CustomDBus::getMicroCode(const std::string&
      path) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:63,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: std::make_unique<PCIeSlot>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: pldm::dbus::CustomDBus::implementPCIeSlotInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PCIeSlot>
    - emplace
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeSlotInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertSlotTypesFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:74,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:75,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' path'
    - ' slotType'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: pldm::dbus::CustomDBus::setSlotType
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertSlotTypesFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setSlotType(const std::string& path,\n                             const
      std::string& slotType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:83,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: std::make_unique<PCIeDevice>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: pldm::dbus::CustomDBus::implementPCIeDeviceInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<PCIeDevice>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeDeviceInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertGenerationsFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:94,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:96,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:98,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - lanesInUse
    - ' value'
    argTypes:
    - std::string
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: pldm::dbus::CustomDBus::setPCIeDeviceProps
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertGenerationsFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setPCIeDeviceProps(const std::string& path, size_t
      lanesInUse,\n                                    const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:105,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: std::make_unique<Cable>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: pldm::dbus::CustomDBus::implementCableInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Cable>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCableInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:115,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:117,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - length
    - ' cableDescription'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: pldm::dbus::CustomDBus::setCableAttributes
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setCableAttributes(const std::string& path, double
      length,\n                                    const std::string& cableDescription)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:124,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:126,1
    - Dst: std::make_unique<Motherboard>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pldm::dbus::CustomDBus::implementMotherboardInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Motherboard>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementMotherboardInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:134,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:136,1
    - Dst: std::make_unique<FabricAdapter>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:137,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: pldm::dbus::CustomDBus::implementFabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<FabricAdapter>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFabricAdapter(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:144,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:146,1
    - Dst: std::make_unique<Board>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:147,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: pldm::dbus::CustomDBus::implementBoard
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Board>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementBoard(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:154,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:156,1
    - Dst: std::make_unique<PowerSupply>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:157,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: pldm::dbus::CustomDBus::implementPowerSupplyInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<PowerSupply>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPowerSupplyInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:164,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:166,1
    - Dst: std::make_unique<Fan>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: pldm::dbus::CustomDBus::implementFanInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Fan>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFanInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:174,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:176,1
    - Dst: std::make_unique<Connector>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:177,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pldm::dbus::CustomDBus::implementConnecterInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - std::make_unique<Connector>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementConnecterInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:184,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:186,1
    - Dst: std::make_unique<ItemChassis>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:187,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: pldm::dbus::CustomDBus::implementChassisInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<ItemChassis>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementChassisInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:194,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: std::make_unique<Asset>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: pldm::dbus::CustomDBus::implementAssetInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<Asset>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementAssetInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:204,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:206,1
    - Dst: std::make_unique<Availability>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:207,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' state'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pldm::dbus::CustomDBus::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<Availability>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setAvailabilityState(const std::string& path,\n                                      const
      bool& state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:217,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:219,1
    - Dst: std::make_unique<InventoryItem>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:220,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:225,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: std::filesystem::path::filename
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - isPresent
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: pldm::dbus::CustomDBus::updateItemPresentStatus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::filesystem::path::filename
    - c_str
    - std::make_unique<InventoryItem>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::updateItemPresentStatus(const std::string& path,\n
      \                                        bool isPresent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:240,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:242,1
    - Dst: std::make_unique<Panel>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:243,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: pldm::dbus::CustomDBus::implementPanelInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Panel>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPanelInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:250,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:252,1
    - Dst: std::make_unique<VRM>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: pldm::dbus::CustomDBus::implementVRMInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<VRM>
    - c_str
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementVRMInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:11,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:13,1
    - Dst: std::make_unique<LocationIntf>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:14,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:15,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: pldm::dbus::CustomDBus::setLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<LocationIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setLocationCode(const std::string& path, std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:24,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: pldm::dbus::CustomDBus::getLocationCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<std::string>
    signature: "std::optional<std::string> CustomDBus::getLocationCode(\n    const
      std::string& path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:34,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:36,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: pldm::dbus::CustomDBus::implementCpuCoreInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<CPUCore>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCpuCoreInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:43,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: std::make_unique<CPUCore>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:45,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:46,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - value
    argTypes:
    - std::string
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: pldm::dbus::CustomDBus::setMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<CPUCore>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::setMicroCode(const std::string& path, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:53,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: pldm::dbus::CustomDBus::getMicroCode
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: std::optional<uint32_t>
    signature: std::optional<uint32_t> CustomDBus::getMicroCode(const std::string&
      path) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:63,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: std::make_unique<PCIeSlot>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:65,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: pldm::dbus::CustomDBus::implementPCIeSlotInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PCIeSlot>
    - emplace
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeSlotInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertSlotTypesFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:74,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:75,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' path'
    - ' slotType'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: pldm::dbus::CustomDBus::setSlotType
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertSlotTypesFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setSlotType(const std::string& path,\n                             const
      std::string& slotType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:83,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: std::make_unique<PCIeDevice>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:85,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: pldm::dbus::CustomDBus::implementPCIeDeviceInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<PCIeDevice>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPCIeDeviceInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::PCIeSlot::convertGenerationsFromString
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:94,1
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:96,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:98,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - lanesInUse
    - ' value'
    argTypes:
    - std::string
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: pldm::dbus::CustomDBus::setPCIeDeviceProps
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - contains
    - at
    - pldm::dbus::PCIeSlot::convertGenerationsFromString
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setPCIeDeviceProps(const std::string& path, size_t
      lanesInUse,\n                                    const std::string& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:105,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: std::make_unique<Cable>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:107,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: pldm::dbus::CustomDBus::implementCableInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Cable>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementCableInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:115,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:117,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' path'
    - length
    - ' cableDescription'
    argTypes:
    - std::string
    - double
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: pldm::dbus::CustomDBus::setCableAttributes
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setCableAttributes(const std::string& path, double
      length,\n                                    const std::string& cableDescription)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:124,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:126,1
    - Dst: std::make_unique<Motherboard>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pldm::dbus::CustomDBus::implementMotherboardInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<Motherboard>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementMotherboardInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:134,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:136,1
    - Dst: std::make_unique<FabricAdapter>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:137,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: pldm::dbus::CustomDBus::implementFabricAdapter
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<FabricAdapter>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFabricAdapter(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:144,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:146,1
    - Dst: std::make_unique<Board>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:147,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: pldm::dbus::CustomDBus::implementBoard
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Board>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementBoard(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:154,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:156,1
    - Dst: std::make_unique<PowerSupply>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:157,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: pldm::dbus::CustomDBus::implementPowerSupplyInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<PowerSupply>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPowerSupplyInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:164,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:166,1
    - Dst: std::make_unique<Fan>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:167,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: pldm::dbus::CustomDBus::implementFanInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Fan>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementFanInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:174,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:176,1
    - Dst: std::make_unique<Connector>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:177,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pldm::dbus::CustomDBus::implementConnecterInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - std::make_unique<Connector>
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementConnecterInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:184,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:186,1
    - Dst: std::make_unique<ItemChassis>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:187,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: pldm::dbus::CustomDBus::implementChassisInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<ItemChassis>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementChassisInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:194,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: std::make_unique<Asset>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:196,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: pldm::dbus::CustomDBus::implementAssetInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - contains
    - std::make_unique<Asset>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementAssetInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:204,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:206,1
    - Dst: std::make_unique<Availability>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:207,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:208,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' path'
    - ' state'
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pldm::dbus::CustomDBus::setAvailabilityState
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - at
    - contains
    - std::make_unique<Availability>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::setAvailabilityState(const std::string& path,\n                                      const
      bool& state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:217,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:219,1
    - Dst: std::make_unique<InventoryItem>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:220,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:221,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:225,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: std::filesystem::path::filename
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:229,1
    - Dst: at
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' path'
    - isPresent
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: pldm::dbus::CustomDBus::updateItemPresentStatus
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::filesystem::path::filename
    - c_str
    - std::make_unique<InventoryItem>
    - at
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void CustomDBus::updateItemPresentStatus(const std::string& path,\n
      \                                        bool isPresent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:240,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:242,1
    - Dst: std::make_unique<Panel>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:243,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: pldm::dbus::CustomDBus::implementPanelInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - c_str
    - contains
    - std::make_unique<Panel>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementPanelInterface(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:250,1
    - Dst: emplace
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:252,1
    - Dst: std::make_unique<VRM>
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:253,1
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/custom_dbus.cpp:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: pldm::dbus::CustomDBus::implementVRMInterface
    functionSourceFile: /src/pldm/host-bmc/dbus/custom_dbus.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - std::make_unique<VRM>
    - c_str
    - contains
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void CustomDBus::implementVRMInterface(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Cable::length
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        length"
    linkageType: ''
    returnType: double
    signature: double Cable::length(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
      Src: /src/pldm/host-bmc/dbus/cable.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pldm::dbus::Cable::cableTypeDescription
    functionSourceFile: /src/pldm/host-bmc/dbus/cable.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Cable::\n        cableTypeDescription"
    linkageType: ''
    returnType: std::string
    signature: std::string Cable::cableTypeDescription(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 5
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 6
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 7
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Availability::available
      Src: /src/pldm/host-bmc/dbus/availability.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::Availability::available
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.cpp
    functionUses: 8
    functionsReached:
    - pldm::dbus::Availability::available
    linkageType: ''
    returnType: bool
    signature: bool Availability::available(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~ItemChassis() override
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemChassis() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const ItemChassis&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(ItemChassis&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/chassis.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void ItemChassis(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~ItemChassis() override
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemChassis() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const ItemChassis&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(ItemChassis&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/chassis.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void ItemChassis(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~ItemChassis() override
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemChassis() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const ItemChassis&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(ItemChassis&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/chassis.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void ItemChassis(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~ItemChassis() override
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemChassis() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const ItemChassis&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(const ItemChassis&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemChassis(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(ItemChassis&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemChassis
    signature: ItemChassis & operator=(ItemChassis&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/chassis.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::ItemChassis::ItemChassis
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void ItemChassis(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~PowerSupply() override
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerSupply() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const PowerSupply&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(PowerSupply&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/power_supply.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PowerSupply(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~PowerSupply() override
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerSupply() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const PowerSupply&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(PowerSupply&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/power_supply.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PowerSupply(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~PowerSupply() override
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerSupply() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const PowerSupply&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(PowerSupply&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/power_supply.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PowerSupply(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~PowerSupply() override
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PowerSupply() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const PowerSupply&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(const PowerSupply&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PowerSupply(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(PowerSupply&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PowerSupply
    signature: PowerSupply & operator=(PowerSupply&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/power_supply.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::PowerSupply::PowerSupply
    functionSourceFile: /src/pldm/host-bmc/dbus/power_supply.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PowerSupply(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~PCIeSlot() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeSlot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PCIeSlot&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeSlot
    signature: PCIeSlot & operator=(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_slot.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~PCIeSlot() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeSlot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PCIeSlot&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeSlot
    signature: PCIeSlot & operator=(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_slot.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~PCIeSlot() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeSlot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PCIeSlot&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeSlot
    signature: PCIeSlot & operator=(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_slot.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~PCIeSlot() override
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PCIeSlot() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PCIeSlot&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCIeSlot
    signature: PCIeSlot & operator=(const PCIeSlot&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/pcie_slot.hpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: pldm::dbus::PCIeSlot::PCIeSlot
    functionSourceFile: /src/pldm/host-bmc/dbus/pcie_slot.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PCIeSlot(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~InventoryItem() override
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryItem() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const InventoryItem&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(InventoryItem&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/inventory_item.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void InventoryItem(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~InventoryItem() override
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryItem() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const InventoryItem&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(InventoryItem&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/inventory_item.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void InventoryItem(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~InventoryItem() override
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryItem() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const InventoryItem&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(InventoryItem&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/inventory_item.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void InventoryItem(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~InventoryItem() override
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryItem() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const InventoryItem&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(const InventoryItem&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryItem(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(InventoryItem&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryItem
    signature: InventoryItem & operator=(InventoryItem&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/inventory_item.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::InventoryItem
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void InventoryItem(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n
        \       microcode"
      Src: /src/pldm/host-bmc/dbus/cpu_core.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::CPUCore::microcode
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::CpuCore::\n        microcode"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t CPUCore::microcode(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~CPUCore() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CPUCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const CPUCore&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(CPUCore&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cpu_core.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void CPUCore(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~CPUCore() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CPUCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const CPUCore&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(CPUCore&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cpu_core.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void CPUCore(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~CPUCore() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CPUCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const CPUCore&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(CPUCore&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cpu_core.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void CPUCore(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~CPUCore() override
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CPUCore() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const CPUCore&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(const CPUCore&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CPUCore(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(CPUCore&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPUCore
    signature: CPUCore & operator=(CPUCore&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/cpu_core.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::CPUCore::CPUCore
    functionSourceFile: /src/pldm/host-bmc/dbus/cpu_core.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void CPUCore(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Board() override
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Board() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Board&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Board&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/board.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Board(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Board() override
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Board() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Board&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Board&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/board.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Board(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Board() override
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Board() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Board&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Board&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/board.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Board(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Board() override
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Board() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Board&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(const Board&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Board(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Board&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Board
    signature: Board & operator=(Board&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/board.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Board::Board
    functionSourceFile: /src/pldm/host-bmc/dbus/board.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Board(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Availability() override
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Availability() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Availability&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Availability&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/availability.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Availability(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Availability() override
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Availability() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Availability&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Availability&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/availability.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Availability(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Availability() override
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Availability() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Availability&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Availability&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/availability.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Availability(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Availability() override
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Availability() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Availability&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(const Availability&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Availability(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Availability&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Availability
    signature: Availability & operator=(Availability&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/availability.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Availability::Availability
    functionSourceFile: /src/pldm/host-bmc/dbus/availability.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Availability(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::prettyName
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::InventoryItem::prettyName
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 1
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 1
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::prettyName
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 2
    functionsReached:
    - pldm::dbus::InventoryItem::prettyName
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 2
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::prettyName
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 3
    functionsReached:
    - pldm::dbus::InventoryItem::prettyName
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 5
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 6
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 3
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::server::Item::\n        prettyName"
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::prettyName
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::InventoryItem::prettyName
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 4
    functionsReached:
    - pldm::dbus::InventoryItem::prettyName
    linkageType: ''
    returnType: std::string
    signature: std::string InventoryItem::prettyName(std::string value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 7
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::InventoryItem::present
      Src: /src/pldm/host-bmc/dbus/inventory_item.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pldm::dbus::InventoryItem::present
    functionSourceFile: /src/pldm/host-bmc/dbus/inventory_item.cpp
    functionUses: 8
    functionsReached:
    - pldm::dbus::InventoryItem::present
    linkageType: ''
    returnType: bool
    signature: bool InventoryItem::present(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Connector() override
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connector() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Connector&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Connector&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/connector.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Connector(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Connector() override
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connector() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Connector&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Connector&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/connector.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Connector(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Connector() override
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connector() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Connector&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Connector&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/connector.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Connector(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: ~Connector() override
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Connector() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(const Connector&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(const Connector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Connector(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(Connector&&)'
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Connector
    signature: Connector & operator=(Connector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/host-bmc/dbus/connector.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pldm::dbus::Connector::Connector
    functionSourceFile: /src/pldm/host-bmc/dbus/connector.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void Connector(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type() const -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ChassisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type(ChassisType value) -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type() const -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ChassisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type(ChassisType value) -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type() const -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ChassisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type(ChassisType value) -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type() const -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n
        \       type"
      Src: /src/pldm/host-bmc/dbus/chassis.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ChassisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: pldm::dbus::ItemChassis::type
    functionSourceFile: /src/pldm/host-bmc/dbus/chassis.cpp
    functionUses: 0
    functionsReached:
    - "sdbusplus::xyz::openbmc_project::Inventory::Item::server::Chassis::\n        type"
    linkageType: ''
    returnType: auto
    signature: auto ItemChassis::type(ChassisType value) -> ChassisType
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const PldmEntityBase&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(PldmEntityBase&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~PldmEntityBase()
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(sdbusplus::bus_t& /*bus*/, const std::string& /*path*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& operator=(const PldmEntityReq&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& operator=(PldmEntityReq&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: ~PldmEntityReq() override
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityReq() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:116,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pldm::dbus_api::PldmEntityReq::partNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - pldm::dbus::Asset::partNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string partNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::serialNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::dbus_api::PldmEntityReq::serialNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::serialNumber
    linkageType: ''
    returnType: std::string
    signature: std::string serialNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::manufacturer
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pldm::dbus_api::PldmEntityReq::manufacturer
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::manufacturer
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string manufacturer(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::buildDate
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pldm::dbus_api::PldmEntityReq::buildDate
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::buildDate
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string buildDate(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::model
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pldm::dbus_api::PldmEntityReq::model
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::model
    linkageType: ''
    returnType: std::string
    signature: std::string model(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::subModel
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pldm::dbus_api::PldmEntityReq::subModel
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::subModel
    linkageType: ''
    returnType: std::string
    signature: std::string subModel(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::sparePartNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pldm::dbus_api::PldmEntityReq::sparePartNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::sparePartNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string sparePartNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::assetTag
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pldm::dbus_api::PldmEntityReq::assetTag
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::assetTag
    linkageType: ''
    returnType: std::string
    signature: std::string assetTag(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::version
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pldm::dbus_api::PldmEntityReq::version
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::version
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string version(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::names
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pldm::dbus_api::PldmEntityReq::names
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 1
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::names
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> names(std::vector<std::string> values) override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PldmEntityReq<ChassisServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:189,1
    - Dst: std::make_unique<PldmEntityReq<CpuServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:191,1
    - Dst: std::make_unique<PldmEntityReq<DimmServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:193,1
    - Dst: std::make_unique<PldmEntityReq<FanServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:195,1
    - Dst: std::make_unique<PldmEntityReq<PowerSupplyServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:197,1
    - Dst: std::make_unique<PldmEntityReq<AcceleratorServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:201,1
    - Dst: std::make_unique<PldmEntityReq<BoardServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - entityType
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: pldm::dbus_api::createPldmEntity
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PldmEntityReq<PowerSupplyServer>>
    - std::make_unique<PldmEntityReq<BoardServer>>
    - std::make_unique<PldmEntityReq<FanServer>>
    - std::make_unique<PldmEntityReq<CpuServer>>
    - std::make_unique<PldmEntityReq<DimmServer>>
    - std::make_unique<PldmEntityReq<AcceleratorServer>>
    - std::make_unique<PldmEntityReq<ChassisServer>>
    linkageType: ''
    returnType: std::unique_ptr<PldmEntityBase>
    signature: "std::unique_ptr<PldmEntityBase> createPldmEntity(\n    sdbusplus::bus_t&
      bus, const std::string& path, uint16_t entityType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const PldmEntityBase&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(PldmEntityBase&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~PldmEntityBase()
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(sdbusplus::bus_t& /*bus*/, const std::string& /*path*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& operator=(const PldmEntityReq&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& operator=(PldmEntityReq&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: ~PldmEntityReq() override
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityReq() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:116,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pldm::dbus_api::PldmEntityReq::partNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - pldm::dbus::Asset::partNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string partNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::serialNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::dbus_api::PldmEntityReq::serialNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::serialNumber
    linkageType: ''
    returnType: std::string
    signature: std::string serialNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::manufacturer
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pldm::dbus_api::PldmEntityReq::manufacturer
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::manufacturer
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string manufacturer(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::buildDate
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pldm::dbus_api::PldmEntityReq::buildDate
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::buildDate
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string buildDate(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::model
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pldm::dbus_api::PldmEntityReq::model
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::model
    linkageType: ''
    returnType: std::string
    signature: std::string model(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::subModel
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pldm::dbus_api::PldmEntityReq::subModel
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::subModel
    linkageType: ''
    returnType: std::string
    signature: std::string subModel(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::sparePartNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pldm::dbus_api::PldmEntityReq::sparePartNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::sparePartNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string sparePartNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::assetTag
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pldm::dbus_api::PldmEntityReq::assetTag
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::assetTag
    linkageType: ''
    returnType: std::string
    signature: std::string assetTag(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::version
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pldm::dbus_api::PldmEntityReq::version
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::version
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string version(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::names
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pldm::dbus_api::PldmEntityReq::names
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 2
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::names
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> names(std::vector<std::string> values) override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PldmEntityReq<ChassisServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:189,1
    - Dst: std::make_unique<PldmEntityReq<CpuServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:191,1
    - Dst: std::make_unique<PldmEntityReq<DimmServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:193,1
    - Dst: std::make_unique<PldmEntityReq<FanServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:195,1
    - Dst: std::make_unique<PldmEntityReq<PowerSupplyServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:197,1
    - Dst: std::make_unique<PldmEntityReq<AcceleratorServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:201,1
    - Dst: std::make_unique<PldmEntityReq<BoardServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - entityType
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: pldm::dbus_api::createPldmEntity
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PldmEntityReq<PowerSupplyServer>>
    - std::make_unique<PldmEntityReq<BoardServer>>
    - std::make_unique<PldmEntityReq<FanServer>>
    - std::make_unique<PldmEntityReq<CpuServer>>
    - std::make_unique<PldmEntityReq<DimmServer>>
    - std::make_unique<PldmEntityReq<AcceleratorServer>>
    - std::make_unique<PldmEntityReq<ChassisServer>>
    linkageType: ''
    returnType: std::unique_ptr<PldmEntityBase>
    signature: "std::unique_ptr<PldmEntityBase> createPldmEntity(\n    sdbusplus::bus_t&
      bus, const std::string& path, uint16_t entityType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const PldmEntityBase&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(PldmEntityBase&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~PldmEntityBase()
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(sdbusplus::bus_t& /*bus*/, const std::string& /*path*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& operator=(const PldmEntityReq&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& operator=(PldmEntityReq&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: ~PldmEntityReq() override
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityReq() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:116,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pldm::dbus_api::PldmEntityReq::partNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - pldm::dbus::Asset::partNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string partNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::serialNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::dbus_api::PldmEntityReq::serialNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::serialNumber
    linkageType: ''
    returnType: std::string
    signature: std::string serialNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::manufacturer
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pldm::dbus_api::PldmEntityReq::manufacturer
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::manufacturer
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string manufacturer(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::buildDate
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pldm::dbus_api::PldmEntityReq::buildDate
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::buildDate
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string buildDate(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::model
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pldm::dbus_api::PldmEntityReq::model
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::model
    linkageType: ''
    returnType: std::string
    signature: std::string model(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::subModel
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pldm::dbus_api::PldmEntityReq::subModel
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::subModel
    linkageType: ''
    returnType: std::string
    signature: std::string subModel(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::sparePartNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pldm::dbus_api::PldmEntityReq::sparePartNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::sparePartNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string sparePartNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::assetTag
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pldm::dbus_api::PldmEntityReq::assetTag
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::assetTag
    linkageType: ''
    returnType: std::string
    signature: std::string assetTag(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::version
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pldm::dbus_api::PldmEntityReq::version
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::version
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string version(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::names
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pldm::dbus_api::PldmEntityReq::names
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 3
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::names
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> names(std::vector<std::string> values) override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PldmEntityReq<ChassisServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:189,1
    - Dst: std::make_unique<PldmEntityReq<CpuServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:191,1
    - Dst: std::make_unique<PldmEntityReq<DimmServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:193,1
    - Dst: std::make_unique<PldmEntityReq<FanServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:195,1
    - Dst: std::make_unique<PldmEntityReq<PowerSupplyServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:197,1
    - Dst: std::make_unique<PldmEntityReq<AcceleratorServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:201,1
    - Dst: std::make_unique<PldmEntityReq<BoardServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - entityType
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: pldm::dbus_api::createPldmEntity
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PldmEntityReq<PowerSupplyServer>>
    - std::make_unique<PldmEntityReq<BoardServer>>
    - std::make_unique<PldmEntityReq<FanServer>>
    - std::make_unique<PldmEntityReq<CpuServer>>
    - std::make_unique<PldmEntityReq<DimmServer>>
    - std::make_unique<PldmEntityReq<AcceleratorServer>>
    - std::make_unique<PldmEntityReq<ChassisServer>>
    linkageType: ''
    returnType: std::unique_ptr<PldmEntityBase>
    signature: "std::unique_ptr<PldmEntityBase> createPldmEntity(\n    sdbusplus::bus_t&
      bus, const std::string& path, uint16_t entityType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(const PldmEntityBase&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(const PldmEntityBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(PldmEntityBase&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityBase
    signature: PldmEntityBase & operator=(PldmEntityBase&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~PldmEntityBase()
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::dbus_api::PldmEntityBase::PldmEntityBase
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityBase(sdbusplus::bus_t& /*bus*/, const std::string& /*path*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: '& operator=(const PldmEntityReq&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(const PldmEntityReq&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& operator=(PldmEntityReq&&) noexcept'
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PldmEntityReq
    signature: PldmEntityReq & operator=(PldmEntityReq&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: ~PldmEntityReq() override
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PldmEntityReq() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:116,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:117,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' bus'
    - ' path'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: pldm::dbus_api::PldmEntityReq::PldmEntityReq
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: void PldmEntityReq(sdbusplus::bus_t& bus, const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus::Asset::partNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pldm::dbus_api::PldmEntityReq::partNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - pldm::dbus::Asset::partNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string partNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::serialNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pldm::dbus_api::PldmEntityReq::serialNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::serialNumber
    linkageType: ''
    returnType: std::string
    signature: std::string serialNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::manufacturer
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pldm::dbus_api::PldmEntityReq::manufacturer
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::manufacturer
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string manufacturer(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::buildDate
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pldm::dbus_api::PldmEntityReq::buildDate
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::buildDate
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string buildDate(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::model
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pldm::dbus_api::PldmEntityReq::model
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::model
    linkageType: ''
    returnType: std::string
    signature: std::string model(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::subModel
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pldm::dbus_api::PldmEntityReq::subModel
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::subModel
    linkageType: ''
    returnType: std::string
    signature: std::string subModel(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::sparePartNumber
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pldm::dbus_api::PldmEntityReq::sparePartNumber
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::sparePartNumber
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string sparePartNumber(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::assetTag
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pldm::dbus_api::PldmEntityReq::assetTag
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::assetTag
    linkageType: ''
    returnType: std::string
    signature: std::string assetTag(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::version
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pldm::dbus_api::PldmEntityReq::version
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - pldm::dbus_api::PldmEntityReq::version
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string version(std::string value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::dbus_api::PldmEntityReq::names
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pldm::dbus_api::PldmEntityReq::names
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - pldm::dbus_api::PldmEntityReq::names
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> names(std::vector<std::string> values) override
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<PldmEntityReq<ChassisServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:189,1
    - Dst: std::make_unique<PldmEntityReq<CpuServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:191,1
    - Dst: std::make_unique<PldmEntityReq<DimmServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:193,1
    - Dst: std::make_unique<PldmEntityReq<FanServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:195,1
    - Dst: std::make_unique<PldmEntityReq<PowerSupplyServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:197,1
    - Dst: std::make_unique<PldmEntityReq<AcceleratorServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:201,1
    - Dst: std::make_unique<PldmEntityReq<BoardServer>>
      Src: /src/pldm/platform-mc/dbus_impl_fru.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - entityType
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: pldm::dbus_api::createPldmEntity
    functionSourceFile: /src/pldm/platform-mc/dbus_impl_fru.hpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PldmEntityReq<PowerSupplyServer>>
    - std::make_unique<PldmEntityReq<BoardServer>>
    - std::make_unique<PldmEntityReq<FanServer>>
    - std::make_unique<PldmEntityReq<CpuServer>>
    - std::make_unique<PldmEntityReq<DimmServer>>
    - std::make_unique<PldmEntityReq<AcceleratorServer>>
    - std::make_unique<PldmEntityReq<ChassisServer>>
    linkageType: ''
    returnType: std::unique_ptr<PldmEntityBase>
    signature: "std::unique_ptr<PldmEntityBase> createPldmEntity(\n    sdbusplus::bus_t&
      bus, const std::string& path, uint16_t entityType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pldm::platform_mc::Manager::beforeDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::beforeDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/manager.cpp:21,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/manager.cpp:24,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/manager.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::afterDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - initTerminus
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::afterDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/manager.cpp:37,1
    - Dst: end
      Src: /src/pldm/platform-mc/manager.cpp:38,1
    - Dst: pollForPlatformEventTask
      Src: /src/pldm/platform-mc/manager.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::Manager::pollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pollForPlatformEventTask
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> Manager::pollForPlatformEvent(\n    pldm_tid_t tid,
      uint16_t /* pollEventId */, uint32_t pollDataTransferHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/pldm/platform-mc/manager.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: pldm::platform_mc::Manager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::oemPollForPlatformEvent(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pldm::platform_mc::Manager::beforeDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::beforeDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/manager.cpp:21,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/manager.cpp:24,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/manager.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::afterDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - initTerminus
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::afterDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/manager.cpp:37,1
    - Dst: end
      Src: /src/pldm/platform-mc/manager.cpp:38,1
    - Dst: pollForPlatformEventTask
      Src: /src/pldm/platform-mc/manager.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::Manager::pollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pollForPlatformEventTask
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> Manager::pollForPlatformEvent(\n    pldm_tid_t tid,
      uint16_t /* pollEventId */, uint32_t pollDataTransferHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/pldm/platform-mc/manager.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: pldm::platform_mc::Manager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::oemPollForPlatformEvent(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pldm::platform_mc::Manager::beforeDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::beforeDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/manager.cpp:21,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/manager.cpp:24,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/manager.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::afterDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - initTerminus
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::afterDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/manager.cpp:37,1
    - Dst: end
      Src: /src/pldm/platform-mc/manager.cpp:38,1
    - Dst: pollForPlatformEventTask
      Src: /src/pldm/platform-mc/manager.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::Manager::pollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pollForPlatformEventTask
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> Manager::pollForPlatformEvent(\n    pldm_tid_t tid,
      uint16_t /* pollEventId */, uint32_t pollDataTransferHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/pldm/platform-mc/manager.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: pldm::platform_mc::Manager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::oemPollForPlatformEvent(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pldm::platform_mc::Manager::beforeDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::beforeDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/manager.cpp:21,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/manager.cpp:24,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/manager.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::afterDiscoverTerminus
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - initTerminus
    - lg2::error
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::afterDiscoverTerminus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/manager.cpp:37,1
    - Dst: end
      Src: /src/pldm/platform-mc/manager.cpp:38,1
    - Dst: pollForPlatformEventTask
      Src: /src/pldm/platform-mc/manager.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::Manager::pollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pollForPlatformEventTask
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> Manager::pollForPlatformEvent(\n    pldm_tid_t tid,
      uint16_t /* pollEventId */, uint32_t pollDataTransferHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handler
      Src: /src/pldm/platform-mc/manager.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: pldm::platform_mc::Manager::oemPollForPlatformEvent
    functionSourceFile: /src/pldm/platform-mc/manager.cpp
    functionUses: 0
    functionsReached:
    - handler
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> Manager::oemPollForPlatformEvent(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SensorManager::SensorManager(sdeventplus::Event& event,\n                             TerminusManager&
      terminusManager,\n                             TerminiMapper& termini, Manager*
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:24,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:30,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:32,1
    - Dst: pldm::platform_mc::SensorManager::updateAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:39,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:41,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPolling
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::startSensorPollTimer
      Src: /src/pldm/platform-mc/sensor_manager.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::SensorManager::startPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - pldm::platform_mc::SensorManager::doSensorPolling
    - pldm::platform_mc::SensorManager::startSensorPollTimer
    - contains
    - pldm::platform_mc::SensorManager::updateAvailableState
    - std::make_unique<sdbusplus::Timer>
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void SensorManager::startPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:51,1
    - Dst: start
      Src: /src/pldm/platform-mc/sensor_manager.cpp:53,1
    - Dst: duration_cast<std::chrono::milliseconds>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:54,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/sensor_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::startSensorPollTimer
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 1
    functionsReached:
    - isRunning
    - start
    - duration_cast<std::chrono::milliseconds>
    - std::chrono::milliseconds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SensorManager::startSensorPollTimer(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:70,1
    - Dst: updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:84,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: pldm::platform_mc::SensorManager::disableTerminusSensors
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - contains
    - updateReading
    linkageType: ''
    returnType: void
    signature: void SensorManager::disableTerminusSensors(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:92,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:94,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:95,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:98,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:100,1
    - Dst: scope::request_stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:102,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:103,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::SensorManager::stopPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - stop
    - contains
    - erase
    - scope::request_stop
    linkageType: ''
    returnType: void
    signature: void SensorManager::stopPolling(pldm_tid_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/sensor_manager.cpp:114,1
    - Dst: end
      Src: /src/pldm/platform-mc/sensor_manager.cpp:115,1
    - Dst: auto::second::rcOpt::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:117,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:121,1
    - Dst: std::make_shared<PollHandle>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:124,1
    - Dst: auto::scope::spawn
      Src: /src/pldm/platform-mc/sensor_manager.cpp:126,1
    - Dst: stdexec::stopped_as_optional
      Src: /src/pldm/platform-mc/sensor_manager.cpp:129,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPollingTask
      Src: /src/pldm/platform-mc/sensor_manager.cpp:130,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:132,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:138,1
    - Dst: sensorPollTimers::contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:141,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:143,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:145,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:150,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 158
    functionName: pldm::platform_mc::SensorManager::doSensorPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::SensorManager::doSensorPollingTask
    - auto::second::rcOpt::has_value
    - isRunning
    - exec::default_task_context<void>
    - find
    - std::make_shared<PollHandle>
    - sensorPollTimers::contains
    - stop
    - auto::has_value
    - erase
    - auto::scope::spawn
    - end
    - lg2::error
    - lg2::info
    - stdexec::stopped_as_optional
    linkageType: ''
    returnType: void
    signature: void SensorManager::doSensorPolling(pldm_tid_t tid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:170,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:171,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:185,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:187,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:189,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:190,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:193,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:201,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:203,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:209,1
    - Dst: oemPollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:215,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:221,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:223,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:225,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:227,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:234,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:236,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:238,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:239,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:242,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: pldm::platform_mc::SensorManager::getSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:253,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:255,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:257,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:268,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 284
    functionName: pldm::platform_mc::SensorManager::doSensorPollingTask
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - get
    - pollForPlatformEvent
    - sd_event_now
    - isRunning
    - oemPollForPlatformEvent
    - contains
    - lg2::error
    - pldm::platform_mc::SensorManager::getSensorReading
    - pldm::platform_mc::SensorManager::getAvailableState
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> SensorManager::doSensorPollingTask(pldm_tid_t tid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:291,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/platform-mc/sensor_manager.cpp:299,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:302,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:308,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:310,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:312,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:313,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:318,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:322,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:328,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:329,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/platform-mc/sensor_manager.cpp:342,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:349,1
    - Dst: std::shared_ptr<NumericSensor>::handleErrGetSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:352,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:358,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:364,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:370,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:373,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:377,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:384,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:387,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:390,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:393,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:396,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:399,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:402,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - sensor
    argTypes:
    - std::shared_ptr<NumericSensor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::SensorManager::getSensorReading
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    - isRunning
    - std::shared_ptr<NumericSensor>::updateReading
    - sendRecvPldmMsg
    - contains
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint8_t*>
    - Request::data
    - std::shared_ptr<NumericSensor>::handleErrGetSensorReading
    - pldm_msg::pldm_msg
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::SensorManager::getAvailableState
    - lg2::error
    - stdexec::just_stopped
    - encode_get_sensor_reading_req
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> SensorManager::getSensorReading(\n    std::shared_ptr<NumericSensor>
      sensor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SensorManager::SensorManager(sdeventplus::Event& event,\n                             TerminusManager&
      terminusManager,\n                             TerminiMapper& termini, Manager*
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:24,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:30,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:32,1
    - Dst: pldm::platform_mc::SensorManager::updateAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:39,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:41,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPolling
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::startSensorPollTimer
      Src: /src/pldm/platform-mc/sensor_manager.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::SensorManager::startPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - pldm::platform_mc::SensorManager::doSensorPolling
    - pldm::platform_mc::SensorManager::startSensorPollTimer
    - contains
    - pldm::platform_mc::SensorManager::updateAvailableState
    - std::make_unique<sdbusplus::Timer>
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void SensorManager::startPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:51,1
    - Dst: start
      Src: /src/pldm/platform-mc/sensor_manager.cpp:53,1
    - Dst: duration_cast<std::chrono::milliseconds>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:54,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/sensor_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::startSensorPollTimer
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 2
    functionsReached:
    - isRunning
    - start
    - duration_cast<std::chrono::milliseconds>
    - std::chrono::milliseconds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SensorManager::startSensorPollTimer(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:70,1
    - Dst: updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:84,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: pldm::platform_mc::SensorManager::disableTerminusSensors
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - contains
    - updateReading
    linkageType: ''
    returnType: void
    signature: void SensorManager::disableTerminusSensors(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:92,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:94,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:95,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:98,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:100,1
    - Dst: scope::request_stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:102,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:103,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::SensorManager::stopPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - stop
    - contains
    - erase
    - scope::request_stop
    linkageType: ''
    returnType: void
    signature: void SensorManager::stopPolling(pldm_tid_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/sensor_manager.cpp:114,1
    - Dst: end
      Src: /src/pldm/platform-mc/sensor_manager.cpp:115,1
    - Dst: auto::second::rcOpt::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:117,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:121,1
    - Dst: std::make_shared<PollHandle>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:124,1
    - Dst: auto::scope::spawn
      Src: /src/pldm/platform-mc/sensor_manager.cpp:126,1
    - Dst: stdexec::stopped_as_optional
      Src: /src/pldm/platform-mc/sensor_manager.cpp:129,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPollingTask
      Src: /src/pldm/platform-mc/sensor_manager.cpp:130,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:132,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:138,1
    - Dst: sensorPollTimers::contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:141,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:143,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:145,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:150,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 158
    functionName: pldm::platform_mc::SensorManager::doSensorPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::SensorManager::doSensorPollingTask
    - auto::second::rcOpt::has_value
    - isRunning
    - exec::default_task_context<void>
    - find
    - std::make_shared<PollHandle>
    - sensorPollTimers::contains
    - stop
    - auto::has_value
    - erase
    - auto::scope::spawn
    - end
    - lg2::error
    - lg2::info
    - stdexec::stopped_as_optional
    linkageType: ''
    returnType: void
    signature: void SensorManager::doSensorPolling(pldm_tid_t tid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:170,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:171,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:185,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:187,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:189,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:190,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:193,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:201,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:203,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:209,1
    - Dst: oemPollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:215,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:221,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:223,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:225,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:227,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:234,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:236,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:238,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:239,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:242,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: pldm::platform_mc::SensorManager::getSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:253,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:255,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:257,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:268,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 284
    functionName: pldm::platform_mc::SensorManager::doSensorPollingTask
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - get
    - pollForPlatformEvent
    - sd_event_now
    - isRunning
    - oemPollForPlatformEvent
    - contains
    - lg2::error
    - pldm::platform_mc::SensorManager::getSensorReading
    - pldm::platform_mc::SensorManager::getAvailableState
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> SensorManager::doSensorPollingTask(pldm_tid_t tid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:291,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/platform-mc/sensor_manager.cpp:299,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:302,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:308,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:310,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:312,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:313,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:318,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:322,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:328,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:329,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/platform-mc/sensor_manager.cpp:342,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:349,1
    - Dst: std::shared_ptr<NumericSensor>::handleErrGetSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:352,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:358,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:364,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:370,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:373,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:377,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:384,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:387,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:390,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:393,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:396,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:399,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:402,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - sensor
    argTypes:
    - std::shared_ptr<NumericSensor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::SensorManager::getSensorReading
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 2
    functionsReached:
    - static_cast<double>
    - isRunning
    - std::shared_ptr<NumericSensor>::updateReading
    - sendRecvPldmMsg
    - contains
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint8_t*>
    - Request::data
    - std::shared_ptr<NumericSensor>::handleErrGetSensorReading
    - pldm_msg::pldm_msg
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::SensorManager::getAvailableState
    - lg2::error
    - stdexec::just_stopped
    - encode_get_sensor_reading_req
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> SensorManager::getSensorReading(\n    std::shared_ptr<NumericSensor>
      sensor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SensorManager::SensorManager(sdeventplus::Event& event,\n                             TerminusManager&
      terminusManager,\n                             TerminiMapper& termini, Manager*
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:24,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:30,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:32,1
    - Dst: pldm::platform_mc::SensorManager::updateAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:39,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:41,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPolling
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::startSensorPollTimer
      Src: /src/pldm/platform-mc/sensor_manager.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::SensorManager::startPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - pldm::platform_mc::SensorManager::doSensorPolling
    - pldm::platform_mc::SensorManager::startSensorPollTimer
    - contains
    - pldm::platform_mc::SensorManager::updateAvailableState
    - std::make_unique<sdbusplus::Timer>
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void SensorManager::startPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:51,1
    - Dst: start
      Src: /src/pldm/platform-mc/sensor_manager.cpp:53,1
    - Dst: duration_cast<std::chrono::milliseconds>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:54,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/sensor_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::startSensorPollTimer
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 3
    functionsReached:
    - isRunning
    - start
    - duration_cast<std::chrono::milliseconds>
    - std::chrono::milliseconds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SensorManager::startSensorPollTimer(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:70,1
    - Dst: updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:84,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: pldm::platform_mc::SensorManager::disableTerminusSensors
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - contains
    - updateReading
    linkageType: ''
    returnType: void
    signature: void SensorManager::disableTerminusSensors(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:92,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:94,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:95,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:98,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:100,1
    - Dst: scope::request_stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:102,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:103,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::SensorManager::stopPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - stop
    - contains
    - erase
    - scope::request_stop
    linkageType: ''
    returnType: void
    signature: void SensorManager::stopPolling(pldm_tid_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/sensor_manager.cpp:114,1
    - Dst: end
      Src: /src/pldm/platform-mc/sensor_manager.cpp:115,1
    - Dst: auto::second::rcOpt::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:117,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:121,1
    - Dst: std::make_shared<PollHandle>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:124,1
    - Dst: auto::scope::spawn
      Src: /src/pldm/platform-mc/sensor_manager.cpp:126,1
    - Dst: stdexec::stopped_as_optional
      Src: /src/pldm/platform-mc/sensor_manager.cpp:129,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPollingTask
      Src: /src/pldm/platform-mc/sensor_manager.cpp:130,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:132,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:138,1
    - Dst: sensorPollTimers::contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:141,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:143,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:145,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:150,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 158
    functionName: pldm::platform_mc::SensorManager::doSensorPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::SensorManager::doSensorPollingTask
    - auto::second::rcOpt::has_value
    - isRunning
    - exec::default_task_context<void>
    - find
    - std::make_shared<PollHandle>
    - sensorPollTimers::contains
    - stop
    - auto::has_value
    - erase
    - auto::scope::spawn
    - end
    - lg2::error
    - lg2::info
    - stdexec::stopped_as_optional
    linkageType: ''
    returnType: void
    signature: void SensorManager::doSensorPolling(pldm_tid_t tid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:170,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:171,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:185,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:187,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:189,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:190,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:193,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:201,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:203,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:209,1
    - Dst: oemPollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:215,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:221,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:223,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:225,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:227,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:234,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:236,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:238,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:239,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:242,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: pldm::platform_mc::SensorManager::getSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:253,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:255,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:257,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:268,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 284
    functionName: pldm::platform_mc::SensorManager::doSensorPollingTask
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - get
    - pollForPlatformEvent
    - sd_event_now
    - isRunning
    - oemPollForPlatformEvent
    - contains
    - lg2::error
    - pldm::platform_mc::SensorManager::getSensorReading
    - pldm::platform_mc::SensorManager::getAvailableState
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> SensorManager::doSensorPollingTask(pldm_tid_t tid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:291,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/platform-mc/sensor_manager.cpp:299,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:302,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:308,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:310,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:312,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:313,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:318,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:322,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:328,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:329,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/platform-mc/sensor_manager.cpp:342,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:349,1
    - Dst: std::shared_ptr<NumericSensor>::handleErrGetSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:352,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:358,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:364,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:370,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:373,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:377,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:384,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:387,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:390,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:393,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:396,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:399,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:402,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - sensor
    argTypes:
    - std::shared_ptr<NumericSensor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::SensorManager::getSensorReading
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 3
    functionsReached:
    - static_cast<double>
    - isRunning
    - std::shared_ptr<NumericSensor>::updateReading
    - sendRecvPldmMsg
    - contains
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint8_t*>
    - Request::data
    - std::shared_ptr<NumericSensor>::handleErrGetSensorReading
    - pldm_msg::pldm_msg
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::SensorManager::getAvailableState
    - lg2::error
    - stdexec::just_stopped
    - encode_get_sensor_reading_req
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> SensorManager::getSensorReading(\n    std::shared_ptr<NumericSensor>
      sensor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SensorManager::SensorManager(sdeventplus::Event& event,\n                             TerminusManager&
      terminusManager,\n                             TerminiMapper& termini, Manager*
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:24,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:30,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:32,1
    - Dst: pldm::platform_mc::SensorManager::updateAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:39,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:41,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPolling
      Src: /src/pldm/platform-mc/sensor_manager.cpp:42,1
    - Dst: pldm::platform_mc::SensorManager::startSensorPollTimer
      Src: /src/pldm/platform-mc/sensor_manager.cpp:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::SensorManager::startPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - get
    - pldm::platform_mc::SensorManager::doSensorPolling
    - pldm::platform_mc::SensorManager::startSensorPollTimer
    - contains
    - pldm::platform_mc::SensorManager::updateAvailableState
    - std::make_unique<sdbusplus::Timer>
    - lg2::info
    linkageType: ''
    returnType: void
    signature: void SensorManager::startPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:51,1
    - Dst: start
      Src: /src/pldm/platform-mc/sensor_manager.cpp:53,1
    - Dst: duration_cast<std::chrono::milliseconds>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:54,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/sensor_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::startSensorPollTimer
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 4
    functionsReached:
    - isRunning
    - start
    - duration_cast<std::chrono::milliseconds>
    - std::chrono::milliseconds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void SensorManager::startSensorPollTimer(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:70,1
    - Dst: updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:84,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: pldm::platform_mc::SensorManager::disableTerminusSensors
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - contains
    - updateReading
    linkageType: ''
    returnType: void
    signature: void SensorManager::disableTerminusSensors(pldm_tid_t tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:92,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:94,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:95,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:98,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:100,1
    - Dst: scope::request_stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:102,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:103,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::SensorManager::stopPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 0
    functionsReached:
    - stop
    - contains
    - erase
    - scope::request_stop
    linkageType: ''
    returnType: void
    signature: void SensorManager::stopPolling(pldm_tid_t tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/platform-mc/sensor_manager.cpp:114,1
    - Dst: end
      Src: /src/pldm/platform-mc/sensor_manager.cpp:115,1
    - Dst: auto::second::rcOpt::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:117,1
    - Dst: erase
      Src: /src/pldm/platform-mc/sensor_manager.cpp:121,1
    - Dst: std::make_shared<PollHandle>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:124,1
    - Dst: auto::scope::spawn
      Src: /src/pldm/platform-mc/sensor_manager.cpp:126,1
    - Dst: stdexec::stopped_as_optional
      Src: /src/pldm/platform-mc/sensor_manager.cpp:129,1
    - Dst: pldm::platform_mc::SensorManager::doSensorPollingTask
      Src: /src/pldm/platform-mc/sensor_manager.cpp:130,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/sensor_manager.cpp:132,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:138,1
    - Dst: sensorPollTimers::contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:141,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:143,1
    - Dst: stop
      Src: /src/pldm/platform-mc/sensor_manager.cpp:145,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:150,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 158
    functionName: pldm::platform_mc::SensorManager::doSensorPolling
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::SensorManager::doSensorPollingTask
    - auto::second::rcOpt::has_value
    - isRunning
    - exec::default_task_context<void>
    - find
    - std::make_shared<PollHandle>
    - sensorPollTimers::contains
    - stop
    - auto::has_value
    - erase
    - auto::scope::spawn
    - end
    - lg2::error
    - lg2::info
    - stdexec::stopped_as_optional
    linkageType: ''
    returnType: void
    signature: void SensorManager::doSensorPolling(pldm_tid_t tid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:170,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:171,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:176,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:185,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:187,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:189,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:190,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:193,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:201,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:203,1
    - Dst: pollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:209,1
    - Dst: oemPollForPlatformEvent
      Src: /src/pldm/platform-mc/sensor_manager.cpp:215,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:218,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:221,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:223,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:225,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:227,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:234,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:236,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:238,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:239,1
    - Dst: size
      Src: /src/pldm/platform-mc/sensor_manager.cpp:242,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:249,1
    - Dst: pldm::platform_mc::SensorManager::getSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:253,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:255,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:257,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:261,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:268,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:277,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    - Dst: get
      Src: /src/pldm/platform-mc/sensor_manager.cpp:280,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 284
    functionName: pldm::platform_mc::SensorManager::doSensorPollingTask
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 4
    functionsReached:
    - size
    - get
    - pollForPlatformEvent
    - sd_event_now
    - isRunning
    - oemPollForPlatformEvent
    - contains
    - lg2::error
    - pldm::platform_mc::SensorManager::getSensorReading
    - pldm::platform_mc::SensorManager::getAvailableState
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> SensorManager::doSensorPollingTask(pldm_tid_t tid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:291,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:298,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/platform-mc/sensor_manager.cpp:299,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:302,1
    - Dst: pldm::platform_mc::SensorManager::getAvailableState
      Src: /src/pldm/platform-mc/sensor_manager.cpp:308,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/sensor_manager.cpp:310,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/sensor_manager.cpp:312,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/sensor_manager.cpp:313,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/sensor_manager.cpp:318,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:322,1
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.cpp:328,1
    - Dst: isRunning
      Src: /src/pldm/platform-mc/sensor_manager.cpp:329,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/platform-mc/sensor_manager.cpp:342,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:349,1
    - Dst: std::shared_ptr<NumericSensor>::handleErrGetSensorReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:352,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/sensor_manager.cpp:358,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:364,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:370,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:373,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:377,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:384,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:387,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:390,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:393,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:396,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/sensor_manager.cpp:399,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/sensor_manager.cpp:402,1
    - Dst: std::shared_ptr<NumericSensor>::updateReading
      Src: /src/pldm/platform-mc/sensor_manager.cpp:406,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 1
    argNames:
    - sensor
    argTypes:
    - std::shared_ptr<NumericSensor>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::SensorManager::getSensorReading
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.cpp
    functionUses: 4
    functionsReached:
    - static_cast<double>
    - isRunning
    - std::shared_ptr<NumericSensor>::updateReading
    - sendRecvPldmMsg
    - contains
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint8_t*>
    - Request::data
    - std::shared_ptr<NumericSensor>::handleErrGetSensorReading
    - pldm_msg::pldm_msg
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::SensorManager::getAvailableState
    - lg2::error
    - stdexec::just_stopped
    - encode_get_sensor_reading_req
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> SensorManager::getSensorReading(\n    std::shared_ptr<NumericSensor>
      sensor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:33,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' dBusValues'
    - ' propertyValues'
    - ' propertyType'
    argTypes:
    - Json
    - std::vector<PropertyValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: pldm::host_effecters::HostEffecterParser::populatePropVals
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - jsonEntryToDbusVal
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::populatePropVals(\n    const Json& dBusValues,
      std::vector<PropertyValue>& propertyValues,\n    const std::string& propertyType)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: fs::is_empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:43,1
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:49,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:51,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:52,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:56,1
    - Dst: auto::is_discarded
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:57,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:59,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:60,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:65,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:69,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:70,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:73,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:76,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:80,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:86,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:89,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:93,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:94,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:101,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:102,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:103,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:104,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:105,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:109,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:113,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:120,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:123,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:132,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:133,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:134,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:135,1
    - Dst: EffecterInfo::dbusNumericEffecterInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:138,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:139,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:148,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:150,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:152,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:154,1
    - Dst: pldm::host_effecters::HostEffecterParser::populatePropVals
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:157,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:161,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:162,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:163,1
    - Dst: DBusEffecterMapping::propertyValues::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: auto::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:166,1
    - Dst: DBusEffecterMapping::state::states::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:174,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:177,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:178,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:179,1
    - Dst: EffecterInfo::dbusInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - ' jsonPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 186
    functionName: pldm::host_effecters::HostEffecterParser::parseEffecterJson
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::populatePropVals
    - EffecterInfo::dbusInfo::emplace_back
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - fs::is_empty
    - size
    - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - lg2::error
    - emplace_back
    - EffecterInfo::dbusInfo::size
    - std::numeric_limits<double>::quiet_NaN
    - DBusEffecterMapping::propertyValues::size
    - DBusEffecterMapping::state::states::emplace_back
    - contains
    - auto::value
    - EffecterInfo::dbusNumericEffecterInfo::emplace_back
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser::parseEffecterJson(const std::string& jsonPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:195,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:199,1
    - Dst: std::get<std::string>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:200,1
    - Dst: info
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:208,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: pldm::host_effecters::HostEffecterParser::isHostOn
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - error
    - sdbusplus::message::convert_from_string<Stages>
    - std::get<std::string>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: bool
    signature: bool HostEffecterParser::isHostOn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:232,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:240,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:242,1
    - Dst: findStateEffecterId
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:250,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:260,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:271,1
    - Dst: pldm::host_effecters::HostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:280,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:295,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:299,1
    - Dst: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:305,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:309,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 320
    functionName: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - find
    - error
    - findStateEffecterId
    - pldm::host_effecters::HostEffecterParser::findNewStateValue
    - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    - std::vector::push_back
    - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    - end
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processHostEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: signed
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: std::round
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - value
    - offset
    - resolution
    - modify
    argTypes:
    - double
    - double
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: pldm::host_effecters::HostEffecterParser::adjustValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - std::round
    - signed
    - std::pow
    linkageType: ''
    returnType: double
    signature: "double HostEffecterParser::adjustValue(double value, double offset,\n
      \                                      double resolution, int8_t modify)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:341,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:348,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:354,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:356,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:361,1
    - Dst: pldm::utils::dbusPropValuesToDouble
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:362,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:364,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: pldm::host_effecters::HostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:391,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:394,1
    - Dst: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:401,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:405,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 423
    functionName: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - pldm::host_effecters::HostEffecterParser::adjustValue
    - std::isfinite
    - find
    - pldm::utils::dbusPropValuesToDouble
    - contains
    - error
    - std::numeric_limits<double>::quiet_NaN
    - end
    - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processTerminusNumericEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:434,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - effecterInfoIndex
    - dbusInfoIndex
    - ' propertyValue'
    argTypes:
    - size_t
    - size_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: pldm::host_effecters::HostEffecterParser::findNewStateValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - std::find
    - std::out_of_range
    - end
    - std::distance
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t HostEffecterParser::findNewStateValue(\n    size_t effecterInfoIndex,
      size_t dbusInfoIndex,\n    const PropertyValue& propertyValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 467
    functionName: pldm::host_effecters::getEffecterDataSize
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:475,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:480,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:484,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:489,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:501,1
    - Dst: std::vector::resize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:502,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:509,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:511,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:518,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:520,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:527,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:529,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:536,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:538,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:545,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:547,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:554,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:556,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:566,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:571,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:580,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:585,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:590,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:596,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:602,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - effecterInfoIndex
    - effecterId
    - dataSize
    - rawValue
    argTypes:
    - size_t
    - uint16_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 610
    functionName: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - std::vector::data
    - error
    - reinterpret_cast<uint8_t*>
    - getEffecterDataSize
    - std::string::empty
    - next
    - getActiveEidByName
    - decode_set_numeric_effecter_value_resp
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - std::vector::resize
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setTerminusNumericEffecter(\n    size_t effecterInfoIndex,
      uint16_t effecterId, uint8_t dataSize,\n    double rawValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:618,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:620,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:623,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:628,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:640,1
    - Dst: data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:641,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:645,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:649,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:658,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:663,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:667,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:670,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:675,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:678,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:683,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - effecterInfoIndex
    - ' stateField'
    - effecterId
    argTypes:
    - size_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 693
    functionName: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::reportError
    - data
    - decode_set_state_effecter_states_resp
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - std::string::empty
    - next
    - getActiveEidByName
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setHostStateEffecter(\n    size_t effecterInfoIndex,
      std::vector<set_effecter_state_field>& stateField,\n    uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:701,1
    - Dst: propertiesChanged
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:702,1
    - Dst: read
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:707,1
    - Dst: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' objectPath'
    - ' interface'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - std::string
    - std::string
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    - std::make_unique<sdbusplus::match>
    - emplace_back
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::createHostEffecterMatch(\n    const std::string&
      objectPath, const std::string& interface,\n    size_t effecterInfoIndex, size_t
      dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:33,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' dBusValues'
    - ' propertyValues'
    - ' propertyType'
    argTypes:
    - Json
    - std::vector<PropertyValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: pldm::host_effecters::HostEffecterParser::populatePropVals
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - jsonEntryToDbusVal
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::populatePropVals(\n    const Json& dBusValues,
      std::vector<PropertyValue>& propertyValues,\n    const std::string& propertyType)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: fs::is_empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:43,1
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:49,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:51,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:52,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:56,1
    - Dst: auto::is_discarded
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:57,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:59,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:60,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:65,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:69,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:70,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:73,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:76,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:80,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:86,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:89,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:93,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:94,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:101,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:102,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:103,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:104,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:105,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:109,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:113,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:120,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:123,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:132,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:133,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:134,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:135,1
    - Dst: EffecterInfo::dbusNumericEffecterInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:138,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:139,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:148,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:150,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:152,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:154,1
    - Dst: pldm::host_effecters::HostEffecterParser::populatePropVals
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:157,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:161,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:162,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:163,1
    - Dst: DBusEffecterMapping::propertyValues::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: auto::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:166,1
    - Dst: DBusEffecterMapping::state::states::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:174,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:177,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:178,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:179,1
    - Dst: EffecterInfo::dbusInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - ' jsonPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 186
    functionName: pldm::host_effecters::HostEffecterParser::parseEffecterJson
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::populatePropVals
    - EffecterInfo::dbusInfo::emplace_back
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - fs::is_empty
    - size
    - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - lg2::error
    - emplace_back
    - EffecterInfo::dbusInfo::size
    - std::numeric_limits<double>::quiet_NaN
    - DBusEffecterMapping::propertyValues::size
    - DBusEffecterMapping::state::states::emplace_back
    - contains
    - auto::value
    - EffecterInfo::dbusNumericEffecterInfo::emplace_back
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser::parseEffecterJson(const std::string& jsonPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:195,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:199,1
    - Dst: std::get<std::string>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:200,1
    - Dst: info
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:208,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: pldm::host_effecters::HostEffecterParser::isHostOn
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - error
    - sdbusplus::message::convert_from_string<Stages>
    - std::get<std::string>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: bool
    signature: bool HostEffecterParser::isHostOn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:232,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:240,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:242,1
    - Dst: findStateEffecterId
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:250,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:260,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:271,1
    - Dst: pldm::host_effecters::HostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:280,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:295,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:299,1
    - Dst: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:305,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:309,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 320
    functionName: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - find
    - error
    - findStateEffecterId
    - pldm::host_effecters::HostEffecterParser::findNewStateValue
    - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    - std::vector::push_back
    - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    - end
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processHostEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: signed
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: std::round
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - value
    - offset
    - resolution
    - modify
    argTypes:
    - double
    - double
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: pldm::host_effecters::HostEffecterParser::adjustValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 1
    functionsReached:
    - std::round
    - signed
    - std::pow
    linkageType: ''
    returnType: double
    signature: "double HostEffecterParser::adjustValue(double value, double offset,\n
      \                                      double resolution, int8_t modify)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:341,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:348,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:354,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:356,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:361,1
    - Dst: pldm::utils::dbusPropValuesToDouble
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:362,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:364,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: pldm::host_effecters::HostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:391,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:394,1
    - Dst: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:401,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:405,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 423
    functionName: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - pldm::host_effecters::HostEffecterParser::adjustValue
    - std::isfinite
    - find
    - pldm::utils::dbusPropValuesToDouble
    - contains
    - error
    - std::numeric_limits<double>::quiet_NaN
    - end
    - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processTerminusNumericEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:434,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - effecterInfoIndex
    - dbusInfoIndex
    - ' propertyValue'
    argTypes:
    - size_t
    - size_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: pldm::host_effecters::HostEffecterParser::findNewStateValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - std::find
    - std::out_of_range
    - end
    - std::distance
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t HostEffecterParser::findNewStateValue(\n    size_t effecterInfoIndex,
      size_t dbusInfoIndex,\n    const PropertyValue& propertyValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 467
    functionName: pldm::host_effecters::getEffecterDataSize
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:475,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:480,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:484,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:489,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:501,1
    - Dst: std::vector::resize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:502,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:509,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:511,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:518,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:520,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:527,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:529,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:536,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:538,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:545,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:547,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:554,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:556,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:566,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:571,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:580,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:585,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:590,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:596,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:602,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - effecterInfoIndex
    - effecterId
    - dataSize
    - rawValue
    argTypes:
    - size_t
    - uint16_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 610
    functionName: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - std::vector::data
    - error
    - reinterpret_cast<uint8_t*>
    - getEffecterDataSize
    - std::string::empty
    - next
    - getActiveEidByName
    - decode_set_numeric_effecter_value_resp
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - std::vector::resize
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setTerminusNumericEffecter(\n    size_t effecterInfoIndex,
      uint16_t effecterId, uint8_t dataSize,\n    double rawValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:618,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:620,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:623,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:628,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:640,1
    - Dst: data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:641,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:645,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:649,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:658,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:663,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:667,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:670,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:675,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:678,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:683,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - effecterInfoIndex
    - ' stateField'
    - effecterId
    argTypes:
    - size_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 693
    functionName: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::reportError
    - data
    - decode_set_state_effecter_states_resp
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - std::string::empty
    - next
    - getActiveEidByName
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setHostStateEffecter(\n    size_t effecterInfoIndex,
      std::vector<set_effecter_state_field>& stateField,\n    uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:701,1
    - Dst: propertiesChanged
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:702,1
    - Dst: read
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:707,1
    - Dst: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' objectPath'
    - ' interface'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - std::string
    - std::string
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    - std::make_unique<sdbusplus::match>
    - emplace_back
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::createHostEffecterMatch(\n    const std::string&
      objectPath, const std::string& interface,\n    size_t effecterInfoIndex, size_t
      dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:33,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' dBusValues'
    - ' propertyValues'
    - ' propertyType'
    argTypes:
    - Json
    - std::vector<PropertyValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: pldm::host_effecters::HostEffecterParser::populatePropVals
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - jsonEntryToDbusVal
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::populatePropVals(\n    const Json& dBusValues,
      std::vector<PropertyValue>& propertyValues,\n    const std::string& propertyType)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: fs::is_empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:43,1
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:49,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:51,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:52,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:56,1
    - Dst: auto::is_discarded
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:57,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:59,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:60,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:65,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:69,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:70,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:73,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:76,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:80,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:86,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:89,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:93,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:94,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:101,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:102,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:103,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:104,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:105,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:109,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:113,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:120,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:123,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:132,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:133,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:134,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:135,1
    - Dst: EffecterInfo::dbusNumericEffecterInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:138,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:139,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:148,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:150,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:152,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:154,1
    - Dst: pldm::host_effecters::HostEffecterParser::populatePropVals
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:157,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:161,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:162,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:163,1
    - Dst: DBusEffecterMapping::propertyValues::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: auto::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:166,1
    - Dst: DBusEffecterMapping::state::states::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:174,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:177,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:178,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:179,1
    - Dst: EffecterInfo::dbusInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - ' jsonPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 186
    functionName: pldm::host_effecters::HostEffecterParser::parseEffecterJson
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::populatePropVals
    - EffecterInfo::dbusInfo::emplace_back
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - fs::is_empty
    - size
    - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - lg2::error
    - emplace_back
    - EffecterInfo::dbusInfo::size
    - std::numeric_limits<double>::quiet_NaN
    - DBusEffecterMapping::propertyValues::size
    - DBusEffecterMapping::state::states::emplace_back
    - contains
    - auto::value
    - EffecterInfo::dbusNumericEffecterInfo::emplace_back
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser::parseEffecterJson(const std::string& jsonPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:195,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:199,1
    - Dst: std::get<std::string>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:200,1
    - Dst: info
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:208,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: pldm::host_effecters::HostEffecterParser::isHostOn
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - error
    - sdbusplus::message::convert_from_string<Stages>
    - std::get<std::string>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: bool
    signature: bool HostEffecterParser::isHostOn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:232,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:240,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:242,1
    - Dst: findStateEffecterId
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:250,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:260,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:271,1
    - Dst: pldm::host_effecters::HostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:280,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:295,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:299,1
    - Dst: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:305,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:309,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 320
    functionName: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - find
    - error
    - findStateEffecterId
    - pldm::host_effecters::HostEffecterParser::findNewStateValue
    - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    - std::vector::push_back
    - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    - end
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processHostEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: signed
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: std::round
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - value
    - offset
    - resolution
    - modify
    argTypes:
    - double
    - double
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: pldm::host_effecters::HostEffecterParser::adjustValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 2
    functionsReached:
    - std::round
    - signed
    - std::pow
    linkageType: ''
    returnType: double
    signature: "double HostEffecterParser::adjustValue(double value, double offset,\n
      \                                      double resolution, int8_t modify)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:341,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:348,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:354,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:356,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:361,1
    - Dst: pldm::utils::dbusPropValuesToDouble
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:362,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:364,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: pldm::host_effecters::HostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:391,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:394,1
    - Dst: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:401,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:405,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 423
    functionName: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - pldm::host_effecters::HostEffecterParser::adjustValue
    - std::isfinite
    - find
    - pldm::utils::dbusPropValuesToDouble
    - contains
    - error
    - std::numeric_limits<double>::quiet_NaN
    - end
    - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processTerminusNumericEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:434,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - effecterInfoIndex
    - dbusInfoIndex
    - ' propertyValue'
    argTypes:
    - size_t
    - size_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: pldm::host_effecters::HostEffecterParser::findNewStateValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - std::find
    - std::out_of_range
    - end
    - std::distance
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t HostEffecterParser::findNewStateValue(\n    size_t effecterInfoIndex,
      size_t dbusInfoIndex,\n    const PropertyValue& propertyValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 467
    functionName: pldm::host_effecters::getEffecterDataSize
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:475,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:480,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:484,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:489,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:501,1
    - Dst: std::vector::resize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:502,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:509,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:511,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:518,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:520,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:527,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:529,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:536,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:538,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:545,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:547,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:554,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:556,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:566,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:571,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:580,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:585,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:590,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:596,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:602,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - effecterInfoIndex
    - effecterId
    - dataSize
    - rawValue
    argTypes:
    - size_t
    - uint16_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 610
    functionName: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - std::vector::data
    - error
    - reinterpret_cast<uint8_t*>
    - getEffecterDataSize
    - std::string::empty
    - next
    - getActiveEidByName
    - decode_set_numeric_effecter_value_resp
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - std::vector::resize
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setTerminusNumericEffecter(\n    size_t effecterInfoIndex,
      uint16_t effecterId, uint8_t dataSize,\n    double rawValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:618,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:620,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:623,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:628,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:640,1
    - Dst: data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:641,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:645,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:649,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:658,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:663,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:667,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:670,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:675,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:678,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:683,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - effecterInfoIndex
    - ' stateField'
    - effecterId
    argTypes:
    - size_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 693
    functionName: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::reportError
    - data
    - decode_set_state_effecter_states_resp
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - std::string::empty
    - next
    - getActiveEidByName
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setHostStateEffecter(\n    size_t effecterInfoIndex,
      std::vector<set_effecter_state_field>& stateField,\n    uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:701,1
    - Dst: propertiesChanged
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:702,1
    - Dst: read
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:707,1
    - Dst: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' objectPath'
    - ' interface'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - std::string
    - std::string
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    - std::make_unique<sdbusplus::match>
    - emplace_back
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::createHostEffecterMatch(\n    const std::string&
      objectPath, const std::string& interface,\n    size_t effecterInfoIndex, size_t
      dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonEntryToDbusVal
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:33,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' dBusValues'
    - ' propertyValues'
    - ' propertyType'
    argTypes:
    - Json
    - std::vector<PropertyValue>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: pldm::host_effecters::HostEffecterParser::populatePropVals
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - jsonEntryToDbusVal
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::populatePropVals(\n    const Json& dBusValues,
      std::vector<PropertyValue>& propertyValues,\n    const std::string& propertyType)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: fs::is_empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:41,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:43,1
    - Dst: fs::exists
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:49,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:51,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:52,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:56,1
    - Dst: auto::is_discarded
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:57,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:59,1
    - Dst: InternalFailure
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:60,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:65,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:69,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:70,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:71,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:73,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:76,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:80,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:86,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:87,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:89,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:91,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:93,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:94,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:101,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:102,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:103,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:104,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:105,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:107,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:109,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:113,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:120,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:123,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:132,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:133,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:134,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:135,1
    - Dst: EffecterInfo::dbusNumericEffecterInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:138,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:139,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:141,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:148,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:149,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:150,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:152,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:154,1
    - Dst: pldm::host_effecters::HostEffecterParser::populatePropVals
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:157,1
    - Dst: value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:161,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:162,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:163,1
    - Dst: DBusEffecterMapping::propertyValues::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: auto::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:164,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:166,1
    - Dst: DBusEffecterMapping::state::states::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:174,1
    - Dst: size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:177,1
    - Dst: EffecterInfo::dbusInfo::size
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:178,1
    - Dst: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:179,1
    - Dst: EffecterInfo::dbusInfo::emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:182,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - ' jsonPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 186
    functionName: pldm::host_effecters::HostEffecterParser::parseEffecterJson
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::populatePropVals
    - EffecterInfo::dbusInfo::emplace_back
    - fs::exists
    - auto::size
    - value
    - std::move
    - auto::is_discarded
    - fs::is_empty
    - size
    - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    - error
    - InternalFailure
    - pldm::fw_update::PackageParser::parse
    - lg2::error
    - emplace_back
    - EffecterInfo::dbusInfo::size
    - std::numeric_limits<double>::quiet_NaN
    - DBusEffecterMapping::propertyValues::size
    - DBusEffecterMapping::state::states::emplace_back
    - contains
    - auto::value
    - EffecterInfo::dbusNumericEffecterInfo::emplace_back
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser::parseEffecterJson(const std::string& jsonPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDbusPropertyVariant
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:195,1
    - Dst: sdbusplus::message::convert_from_string<Stages>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:199,1
    - Dst: std::get<std::string>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:200,1
    - Dst: info
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:208,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: pldm::host_effecters::HostEffecterParser::isHostOn
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 6
    functionsReached:
    - error
    - sdbusplus::message::convert_from_string<Stages>
    - std::get<std::string>
    - getDbusPropertyVariant
    - info
    linkageType: ''
    returnType: bool
    signature: bool HostEffecterParser::isHostOn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:232,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:240,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:242,1
    - Dst: findStateEffecterId
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:250,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:260,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:271,1
    - Dst: pldm::host_effecters::HostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:280,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:295,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:299,1
    - Dst: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:305,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:309,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 320
    functionName: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - find
    - error
    - findStateEffecterId
    - pldm::host_effecters::HostEffecterParser::findNewStateValue
    - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    - std::vector::push_back
    - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    - end
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processHostEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pow
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: signed
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:325,1
    - Dst: std::round
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - value
    - offset
    - resolution
    - modify
    argTypes:
    - double
    - double
    - double
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: pldm::host_effecters::HostEffecterParser::adjustValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 3
    functionsReached:
    - std::round
    - signed
    - std::pow
    linkageType: ''
    returnType: double
    signature: "double HostEffecterParser::adjustValue(double value, double offset,\n
      \                                      double resolution, int8_t modify)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:341,1
    - Dst: contains
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:346,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:348,1
    - Dst: find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:354,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:356,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:361,1
    - Dst: pldm::utils::dbusPropValuesToDouble
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:362,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:364,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:371,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:380,1
    - Dst: pldm::host_effecters::HostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:391,1
    - Dst: pldm::host_effecters::HostEffecterParser::isHostOn
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:394,1
    - Dst: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:401,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:405,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ' chProperties'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - DbusChgHostEffecterProps
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 423
    functionName: pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::isHostOn
    - pldm::host_effecters::HostEffecterParser::adjustValue
    - std::isfinite
    - find
    - pldm::utils::dbusPropValuesToDouble
    - contains
    - error
    - std::numeric_limits<double>::quiet_NaN
    - end
    - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::processTerminusNumericEffecterChangeNotification(\n
      \   const DbusChgHostEffecterProps& chProperties, size_t effecterInfoIndex,\n
      \   size_t dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:432,1
    - Dst: end
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:434,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: begin
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:436,1
    - Dst: std::out_of_range
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - effecterInfoIndex
    - dbusInfoIndex
    - ' propertyValue'
    argTypes:
    - size_t
    - size_t
    - PropertyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: pldm::host_effecters::HostEffecterParser::findNewStateValue
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - std::find
    - std::out_of_range
    - end
    - std::distance
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t HostEffecterParser::findNewStateValue(\n    size_t effecterInfoIndex,
      size_t dbusInfoIndex,\n    const PropertyValue& propertyValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - effecterDataSize
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 467
    functionName: pldm::host_effecters::getEffecterDataSize
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEffecterDataSize(uint8_t effecterDataSize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:475,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:480,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:484,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:489,1
    - Dst: getEffecterDataSize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:501,1
    - Dst: std::vector::resize
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:502,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:503,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:509,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:511,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:518,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:520,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:527,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:529,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:536,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:538,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:545,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:547,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:554,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:556,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:566,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:571,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:580,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:585,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:590,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:596,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:602,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:604,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - effecterInfoIndex
    - effecterId
    - dataSize
    - rawValue
    argTypes:
    - size_t
    - uint16_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 610
    functionName: pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - std::vector::data
    - error
    - reinterpret_cast<uint8_t*>
    - getEffecterDataSize
    - std::string::empty
    - next
    - getActiveEidByName
    - decode_set_numeric_effecter_value_resp
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - std::vector::resize
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setTerminusNumericEffecter(\n    size_t effecterInfoIndex,
      uint16_t effecterId, uint8_t dataSize,\n    double rawValue)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:618,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:620,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:623,1
    - Dst: next
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:628,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:639,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:640,1
    - Dst: data
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:641,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:645,1
    - Dst: free
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:649,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:658,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:663,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:667,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:670,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:675,1
    - Dst: pldm::utils::reportError
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:678,1
    - Dst: registerRequest
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:683,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:685,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - effecterInfoIndex
    - ' stateField'
    - effecterId
    argTypes:
    - size_t
    - std::vector<set_effecter_state_field>
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 693
    functionName: pldm::host_effecters::HostEffecterParser::setHostStateEffecter
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::reportError
    - data
    - decode_set_state_effecter_states_resp
    - std::vector::data
    - encode_set_state_effecter_states_req
    - error
    - std::string::empty
    - next
    - getActiveEidByName
    - registerRequest
    - free
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    linkageType: ''
    returnType: int
    signature: "int HostEffecterParser::setHostStateEffecter(\n    size_t effecterInfoIndex,
      std::vector<set_effecter_state_field>& stateField,\n    uint16_t effecterId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: std::make_unique<sdbusplus::match>
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:700,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:701,1
    - Dst: propertiesChanged
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:702,1
    - Dst: read
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:707,1
    - Dst: pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' objectPath'
    - ' interface'
    - effecterInfoIndex
    - dbusInfoIndex
    - effecterId
    argTypes:
    - std::string
    - std::string
    - size_t
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
    functionUses: 4
    functionsReached:
    - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
    - std::make_unique<sdbusplus::match>
    - emplace_back
    - read
    - propertiesChanged
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser::createHostEffecterMatch(\n    const std::string&
      objectPath, const std::string& interface,\n    size_t effecterInfoIndex, size_t
      dbusInfoIndex, uint16_t effecterId)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:28,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:35,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:51,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
      Src: /src/pldm/platform-mc/platform_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:58,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:64,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:68,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:75,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTables
      Src: /src/pldm/platform-mc/platform_manager.cpp:78,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:81,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:87,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:92,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:94,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:97,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:103,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:108,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:115,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:121,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageBufferSize
      Src: /src/pldm/platform-mc/platform_manager.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:133,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:141,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:147,1
    - Dst: pldm::platform_mc::PlatformManager::configEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:149,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:158,1
    - Dst: startSensorPolling
      Src: /src/pldm/platform-mc/platform_manager.cpp:166,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:170,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 177
    functionName: pldm::platform_mc::PlatformManager::initTerminus
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    - pldm::platform_mc::PlatformManager::eventMessageBufferSize
    - pldm::platform_mc::PlatformManager::configEventReceiver
    - pldm::platform_mc::PlatformManager::getPDRs
    - std::vector::data
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    - std::min
    - auto::parseTerminusPDRs
    - startSensorPolling
    - std::vector::push_back
    - std::vector::size
    - pldm::platform_mc::PlatformManager::getFRURecordTables
    - lg2::error
    - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::initTerminus()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:181,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:189,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageSupported
      Src: /src/pldm/platform-mc/platform_manager.cpp:204,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:210,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:217,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:222,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:224,1
    - Dst: pldm::platform_mc::PlatformManager::setEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:268,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:273,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 285
    functionName: pldm::platform_mc::PlatformManager::configEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::eventMessageSupported
    - pldm::platform_mc::PlatformManager::setEventReceiver
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::configEventReceiver(pldm_tid_t tid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Terminus>::getTid
      Src: /src/pldm/platform-mc/platform_manager.cpp:289,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:294,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:296,1
    - Dst: std::shared_ptr<Terminus>::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:297,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
      Src: /src/pldm/platform-mc/platform_manager.cpp:301,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:305,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:313,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:314,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:332,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:338,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:344,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:347,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: le16toh
      Src: /src/pldm/platform-mc/platform_manager.cpp:363,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:364,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:365,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:368,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:375,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:383,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - terminus
    argTypes:
    - std::shared_ptr<Terminus>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 398
    functionName: pldm::platform_mc::PlatformManager::getPDRs
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - std::shared_ptr<Terminus>::doesSupportCommand
    - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    - std::shared_ptr<Terminus>::pdrs::emplace_back
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getPDR
    - std::numeric_limits<uint32_t>::max
    - std::min
    - std::vector::data
    - std::start_lifetime_as<pldm_pdr_hdr>
    - le16toh
    - std::shared_ptr<Terminus>::getTid
    - std::vector::begin
    - std::vector::end
    - std::move
    - std::shared_ptr<Terminus>::pdrs::clear
    - lg2::error
    - std::vector<uint8_t>
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::getPDRs(std::shared_ptr<Terminus>
      terminus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:410,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:415,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:427,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:434,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:436,1
    - Dst: size
      Src: /src/pldm/platform-mc/platform_manager.cpp:437,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:440,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 12
    argNames:
    - tid
    - recordHndl
    - dataTransferHndl
    - transferOpFlag
    - requestCnt
    - recordChgNum
    - ' nextRecordHndl'
    - ' nextDataTransferHndl'
    - ' transferFlag'
    - ' responseCnt'
    - ' recordData'
    - ' transferCrc'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: pldm::platform_mc::PlatformManager::getPDR
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - lg2::error
    - decode_get_pdr_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDR(\n    const pldm_tid_t tid,
      const uint32_t recordHndl,\n    const uint32_t dataTransferHndl, const uint8_t
      transferOpFlag,\n    const uint16_t requestCnt, const uint16_t recordChgNum,\n
      \   uint32_t& nextRecordHndl, uint32_t& nextDataTransferHndl,\n    uint8_t&
      transferFlag, uint16_t& responseCnt,\n    std::vector<uint8_t>& recordData,
      uint8_t& transferCrc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/platform-mc/platform_manager.cpp:462,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:466,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:474,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:478,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:489,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - tid
    - ' repositoryState'
    - ' recordCount'
    - ' repositorySize'
    - ' largestRecordSize'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - sendRecvPldmMsg
    - std::array::data
    - Request::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    - lg2::error
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDRRepositoryInfo(\n    const
      pldm_tid_t tid, uint8_t& repositoryState, uint32_t& recordCount,\n    uint32_t&
      repositorySize, uint32_t& largestRecordSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: encode_event_message_buffer_size_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:519,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:523,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:531,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:535,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:542,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:546,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - receiverMaxBufferSize
    - ' terminusBufferSize'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 561
    functionName: pldm::platform_mc::PlatformManager::eventMessageBufferSize
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_event_message_buffer_size_resp
    - sendRecvPldmMsg
    - encode_event_message_buffer_size_req
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageBufferSize(\n    pldm_tid_t
      tid, uint16_t receiverMaxBufferSize,\n    uint16_t& terminusBufferSize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:579,1
    - Dst: getLocalEid
      Src: /src/pldm/platform-mc/platform_manager.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:584,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:592,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:596,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:603,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - tid
    - eventMessageGlobalEnable
    - protocolType
    - heartbeatTimer
    argTypes:
    - pldm_tid_t
    - pldm_event_message_global_enable
    - pldm_transport_protocol_type
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 622
    functionName: pldm::platform_mc::PlatformManager::setEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_set_event_receiver_resp
    - getLocalEid
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_set_event_receiver_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::setEventReceiver(\n    pldm_tid_t
      tid, pldm_event_message_global_enable eventMessageGlobalEnable,\n    pldm_transport_protocol_type
      protocolType, uint16_t heartbeatTimer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: encode_event_message_supported_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:632,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:635,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:643,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:647,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:654,1
    - Dst: resize
      Src: /src/pldm/platform-mc/platform_manager.cpp:656,1
    - Dst: decode_event_message_supported_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:658,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:664,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - tid
    - formatVersion
    - ' synchronyConfiguration'
    - ' synchronyConfigurationSupported'
    - ' numberEventClassReturned'
    - ' eventClass'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - bitfield8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 679
    functionName: pldm::platform_mc::PlatformManager::eventMessageSupported
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - encode_event_message_supported_req
    - static_cast<uint8_t>
    - decode_event_message_supported_resp
    - data
    - sendRecvPldmMsg
    - resize
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageSupported(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t& synchronyConfiguration,\n    bitfield8_t&
      synchronyConfigurationSupported,\n    uint8_t& numberEventClassReturned, std::vector<uint8_t>&
      eventClass)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:688,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:692,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:701,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:705,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:714,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:724,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:731,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - tid
    - total
    argTypes:
    - pldm_tid_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 746
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTableMetadata(pldm_tid_t
      tid,\n                                                           uint16_t* total)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:757,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:762,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:771,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:775,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:784,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/platform-mc/platform_manager.cpp:789,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:790,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:792,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:796,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - tid
    - dataTransferHndl
    - transferOpFlag
    - nextDataTransferHndl
    - transferFlag
    - responseCnt
    - ' recordData'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint8_t
    - uint32_t*
    - uint8_t*
    - size_t*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 811
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTable
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 0
    functionsReached:
    - data
    - encode_get_fru_record_table_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - lg2::error
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTable(\n    pldm_tid_t
      tid, const uint32_t dataTransferHndl,\n    const uint8_t transferOpFlag, uint32_t*
      nextDataTransferHndl,\n    uint8_t* transferFlag, size_t* responseCnt,\n    std::vector<uint8_t>&
      recordData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:816,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:818,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - tid
    - fruData
    - fruLen
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: pldm::platform_mc::PlatformManager::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - lg2::error
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    linkageType: ''
    returnType: void
    signature: "void PlatformManager::updateInventoryWithFru(\n    pldm_tid_t tid,
      const uint8_t* fruData, const size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:831,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTable
      Src: /src/pldm/platform-mc/platform_manager.cpp:846,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:852,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:873,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:875,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:877,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - ' totalTableRecords'
    - ' fruData'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 884
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTables
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getFRURecordTable
    - std::vector::begin
    - std::vector::size
    - lg2::error
    - std::vector::end
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTables(\n    pldm_tid_t
      tid, const uint16_t& totalTableRecords,\n    std::vector<uint8_t>& fruData)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:28,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:35,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:51,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
      Src: /src/pldm/platform-mc/platform_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:58,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:64,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:68,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:75,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTables
      Src: /src/pldm/platform-mc/platform_manager.cpp:78,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:81,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:87,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:92,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:94,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:97,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:103,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:108,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:115,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:121,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageBufferSize
      Src: /src/pldm/platform-mc/platform_manager.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:133,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:141,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:147,1
    - Dst: pldm::platform_mc::PlatformManager::configEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:149,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:158,1
    - Dst: startSensorPolling
      Src: /src/pldm/platform-mc/platform_manager.cpp:166,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:170,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 177
    functionName: pldm::platform_mc::PlatformManager::initTerminus
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    - pldm::platform_mc::PlatformManager::eventMessageBufferSize
    - pldm::platform_mc::PlatformManager::configEventReceiver
    - pldm::platform_mc::PlatformManager::getPDRs
    - std::vector::data
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    - std::min
    - auto::parseTerminusPDRs
    - startSensorPolling
    - std::vector::push_back
    - std::vector::size
    - pldm::platform_mc::PlatformManager::getFRURecordTables
    - lg2::error
    - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::initTerminus()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:181,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:189,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageSupported
      Src: /src/pldm/platform-mc/platform_manager.cpp:204,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:210,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:217,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:222,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:224,1
    - Dst: pldm::platform_mc::PlatformManager::setEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:268,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:273,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 285
    functionName: pldm::platform_mc::PlatformManager::configEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::eventMessageSupported
    - pldm::platform_mc::PlatformManager::setEventReceiver
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::configEventReceiver(pldm_tid_t tid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Terminus>::getTid
      Src: /src/pldm/platform-mc/platform_manager.cpp:289,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:294,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:296,1
    - Dst: std::shared_ptr<Terminus>::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:297,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
      Src: /src/pldm/platform-mc/platform_manager.cpp:301,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:305,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:313,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:314,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:332,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:338,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:344,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:347,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: le16toh
      Src: /src/pldm/platform-mc/platform_manager.cpp:363,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:364,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:365,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:368,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:375,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:383,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - terminus
    argTypes:
    - std::shared_ptr<Terminus>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 398
    functionName: pldm::platform_mc::PlatformManager::getPDRs
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - std::shared_ptr<Terminus>::doesSupportCommand
    - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    - std::shared_ptr<Terminus>::pdrs::emplace_back
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getPDR
    - std::numeric_limits<uint32_t>::max
    - std::min
    - std::vector::data
    - std::start_lifetime_as<pldm_pdr_hdr>
    - le16toh
    - std::shared_ptr<Terminus>::getTid
    - std::vector::begin
    - std::vector::end
    - std::move
    - std::shared_ptr<Terminus>::pdrs::clear
    - lg2::error
    - std::vector<uint8_t>
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::getPDRs(std::shared_ptr<Terminus>
      terminus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:410,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:415,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:427,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:434,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:436,1
    - Dst: size
      Src: /src/pldm/platform-mc/platform_manager.cpp:437,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:440,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 12
    argNames:
    - tid
    - recordHndl
    - dataTransferHndl
    - transferOpFlag
    - requestCnt
    - recordChgNum
    - ' nextRecordHndl'
    - ' nextDataTransferHndl'
    - ' transferFlag'
    - ' responseCnt'
    - ' recordData'
    - ' transferCrc'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: pldm::platform_mc::PlatformManager::getPDR
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - lg2::error
    - decode_get_pdr_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDR(\n    const pldm_tid_t tid,
      const uint32_t recordHndl,\n    const uint32_t dataTransferHndl, const uint8_t
      transferOpFlag,\n    const uint16_t requestCnt, const uint16_t recordChgNum,\n
      \   uint32_t& nextRecordHndl, uint32_t& nextDataTransferHndl,\n    uint8_t&
      transferFlag, uint16_t& responseCnt,\n    std::vector<uint8_t>& recordData,
      uint8_t& transferCrc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/platform-mc/platform_manager.cpp:462,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:466,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:474,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:478,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:489,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - tid
    - ' repositoryState'
    - ' recordCount'
    - ' repositorySize'
    - ' largestRecordSize'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - sendRecvPldmMsg
    - std::array::data
    - Request::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    - lg2::error
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDRRepositoryInfo(\n    const
      pldm_tid_t tid, uint8_t& repositoryState, uint32_t& recordCount,\n    uint32_t&
      repositorySize, uint32_t& largestRecordSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: encode_event_message_buffer_size_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:519,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:523,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:531,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:535,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:542,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:546,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - receiverMaxBufferSize
    - ' terminusBufferSize'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 561
    functionName: pldm::platform_mc::PlatformManager::eventMessageBufferSize
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_event_message_buffer_size_resp
    - sendRecvPldmMsg
    - encode_event_message_buffer_size_req
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageBufferSize(\n    pldm_tid_t
      tid, uint16_t receiverMaxBufferSize,\n    uint16_t& terminusBufferSize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:579,1
    - Dst: getLocalEid
      Src: /src/pldm/platform-mc/platform_manager.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:584,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:592,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:596,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:603,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - tid
    - eventMessageGlobalEnable
    - protocolType
    - heartbeatTimer
    argTypes:
    - pldm_tid_t
    - pldm_event_message_global_enable
    - pldm_transport_protocol_type
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 622
    functionName: pldm::platform_mc::PlatformManager::setEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_set_event_receiver_resp
    - getLocalEid
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_set_event_receiver_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::setEventReceiver(\n    pldm_tid_t
      tid, pldm_event_message_global_enable eventMessageGlobalEnable,\n    pldm_transport_protocol_type
      protocolType, uint16_t heartbeatTimer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: encode_event_message_supported_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:632,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:635,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:643,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:647,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:654,1
    - Dst: resize
      Src: /src/pldm/platform-mc/platform_manager.cpp:656,1
    - Dst: decode_event_message_supported_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:658,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:664,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - tid
    - formatVersion
    - ' synchronyConfiguration'
    - ' synchronyConfigurationSupported'
    - ' numberEventClassReturned'
    - ' eventClass'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - bitfield8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 679
    functionName: pldm::platform_mc::PlatformManager::eventMessageSupported
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - encode_event_message_supported_req
    - static_cast<uint8_t>
    - decode_event_message_supported_resp
    - data
    - sendRecvPldmMsg
    - resize
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageSupported(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t& synchronyConfiguration,\n    bitfield8_t&
      synchronyConfigurationSupported,\n    uint8_t& numberEventClassReturned, std::vector<uint8_t>&
      eventClass)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:688,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:692,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:701,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:705,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:714,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:724,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:731,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - tid
    - total
    argTypes:
    - pldm_tid_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 746
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTableMetadata(pldm_tid_t
      tid,\n                                                           uint16_t* total)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:757,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:762,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:771,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:775,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:784,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/platform-mc/platform_manager.cpp:789,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:790,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:792,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:796,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - tid
    - dataTransferHndl
    - transferOpFlag
    - nextDataTransferHndl
    - transferFlag
    - responseCnt
    - ' recordData'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint8_t
    - uint32_t*
    - uint8_t*
    - size_t*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 811
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTable
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 1
    functionsReached:
    - data
    - encode_get_fru_record_table_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - lg2::error
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTable(\n    pldm_tid_t
      tid, const uint32_t dataTransferHndl,\n    const uint8_t transferOpFlag, uint32_t*
      nextDataTransferHndl,\n    uint8_t* transferFlag, size_t* responseCnt,\n    std::vector<uint8_t>&
      recordData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:816,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:818,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - tid
    - fruData
    - fruLen
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: pldm::platform_mc::PlatformManager::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - lg2::error
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    linkageType: ''
    returnType: void
    signature: "void PlatformManager::updateInventoryWithFru(\n    pldm_tid_t tid,
      const uint8_t* fruData, const size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:831,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTable
      Src: /src/pldm/platform-mc/platform_manager.cpp:846,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:852,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:873,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:875,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:877,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - ' totalTableRecords'
    - ' fruData'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 884
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTables
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getFRURecordTable
    - std::vector::begin
    - std::vector::size
    - lg2::error
    - std::vector::end
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTables(\n    pldm_tid_t
      tid, const uint16_t& totalTableRecords,\n    std::vector<uint8_t>& fruData)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:28,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:35,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:51,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
      Src: /src/pldm/platform-mc/platform_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:58,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:64,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:68,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:75,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTables
      Src: /src/pldm/platform-mc/platform_manager.cpp:78,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:81,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:87,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:92,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:94,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:97,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:103,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:108,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:115,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:121,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageBufferSize
      Src: /src/pldm/platform-mc/platform_manager.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:133,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:141,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:147,1
    - Dst: pldm::platform_mc::PlatformManager::configEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:149,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:158,1
    - Dst: startSensorPolling
      Src: /src/pldm/platform-mc/platform_manager.cpp:166,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:170,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 177
    functionName: pldm::platform_mc::PlatformManager::initTerminus
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    - pldm::platform_mc::PlatformManager::eventMessageBufferSize
    - pldm::platform_mc::PlatformManager::configEventReceiver
    - pldm::platform_mc::PlatformManager::getPDRs
    - std::vector::data
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    - std::min
    - auto::parseTerminusPDRs
    - startSensorPolling
    - std::vector::push_back
    - std::vector::size
    - pldm::platform_mc::PlatformManager::getFRURecordTables
    - lg2::error
    - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::initTerminus()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:181,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:189,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageSupported
      Src: /src/pldm/platform-mc/platform_manager.cpp:204,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:210,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:217,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:222,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:224,1
    - Dst: pldm::platform_mc::PlatformManager::setEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:268,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:273,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 285
    functionName: pldm::platform_mc::PlatformManager::configEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::eventMessageSupported
    - pldm::platform_mc::PlatformManager::setEventReceiver
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::configEventReceiver(pldm_tid_t tid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Terminus>::getTid
      Src: /src/pldm/platform-mc/platform_manager.cpp:289,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:294,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:296,1
    - Dst: std::shared_ptr<Terminus>::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:297,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
      Src: /src/pldm/platform-mc/platform_manager.cpp:301,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:305,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:313,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:314,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:332,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:338,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:344,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:347,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: le16toh
      Src: /src/pldm/platform-mc/platform_manager.cpp:363,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:364,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:365,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:368,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:375,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:383,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - terminus
    argTypes:
    - std::shared_ptr<Terminus>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 398
    functionName: pldm::platform_mc::PlatformManager::getPDRs
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - std::shared_ptr<Terminus>::doesSupportCommand
    - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    - std::shared_ptr<Terminus>::pdrs::emplace_back
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getPDR
    - std::numeric_limits<uint32_t>::max
    - std::min
    - std::vector::data
    - std::start_lifetime_as<pldm_pdr_hdr>
    - le16toh
    - std::shared_ptr<Terminus>::getTid
    - std::vector::begin
    - std::vector::end
    - std::move
    - std::shared_ptr<Terminus>::pdrs::clear
    - lg2::error
    - std::vector<uint8_t>
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::getPDRs(std::shared_ptr<Terminus>
      terminus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:410,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:415,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:427,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:434,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:436,1
    - Dst: size
      Src: /src/pldm/platform-mc/platform_manager.cpp:437,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:440,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 12
    argNames:
    - tid
    - recordHndl
    - dataTransferHndl
    - transferOpFlag
    - requestCnt
    - recordChgNum
    - ' nextRecordHndl'
    - ' nextDataTransferHndl'
    - ' transferFlag'
    - ' responseCnt'
    - ' recordData'
    - ' transferCrc'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: pldm::platform_mc::PlatformManager::getPDR
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - lg2::error
    - decode_get_pdr_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDR(\n    const pldm_tid_t tid,
      const uint32_t recordHndl,\n    const uint32_t dataTransferHndl, const uint8_t
      transferOpFlag,\n    const uint16_t requestCnt, const uint16_t recordChgNum,\n
      \   uint32_t& nextRecordHndl, uint32_t& nextDataTransferHndl,\n    uint8_t&
      transferFlag, uint16_t& responseCnt,\n    std::vector<uint8_t>& recordData,
      uint8_t& transferCrc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/platform-mc/platform_manager.cpp:462,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:466,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:474,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:478,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:489,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - tid
    - ' repositoryState'
    - ' recordCount'
    - ' repositorySize'
    - ' largestRecordSize'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - sendRecvPldmMsg
    - std::array::data
    - Request::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    - lg2::error
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDRRepositoryInfo(\n    const
      pldm_tid_t tid, uint8_t& repositoryState, uint32_t& recordCount,\n    uint32_t&
      repositorySize, uint32_t& largestRecordSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: encode_event_message_buffer_size_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:519,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:523,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:531,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:535,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:542,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:546,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - receiverMaxBufferSize
    - ' terminusBufferSize'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 561
    functionName: pldm::platform_mc::PlatformManager::eventMessageBufferSize
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_event_message_buffer_size_resp
    - sendRecvPldmMsg
    - encode_event_message_buffer_size_req
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageBufferSize(\n    pldm_tid_t
      tid, uint16_t receiverMaxBufferSize,\n    uint16_t& terminusBufferSize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:579,1
    - Dst: getLocalEid
      Src: /src/pldm/platform-mc/platform_manager.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:584,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:592,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:596,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:603,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - tid
    - eventMessageGlobalEnable
    - protocolType
    - heartbeatTimer
    argTypes:
    - pldm_tid_t
    - pldm_event_message_global_enable
    - pldm_transport_protocol_type
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 622
    functionName: pldm::platform_mc::PlatformManager::setEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_set_event_receiver_resp
    - getLocalEid
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_set_event_receiver_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::setEventReceiver(\n    pldm_tid_t
      tid, pldm_event_message_global_enable eventMessageGlobalEnable,\n    pldm_transport_protocol_type
      protocolType, uint16_t heartbeatTimer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: encode_event_message_supported_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:632,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:635,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:643,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:647,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:654,1
    - Dst: resize
      Src: /src/pldm/platform-mc/platform_manager.cpp:656,1
    - Dst: decode_event_message_supported_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:658,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:664,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - tid
    - formatVersion
    - ' synchronyConfiguration'
    - ' synchronyConfigurationSupported'
    - ' numberEventClassReturned'
    - ' eventClass'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - bitfield8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 679
    functionName: pldm::platform_mc::PlatformManager::eventMessageSupported
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - encode_event_message_supported_req
    - static_cast<uint8_t>
    - decode_event_message_supported_resp
    - data
    - sendRecvPldmMsg
    - resize
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageSupported(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t& synchronyConfiguration,\n    bitfield8_t&
      synchronyConfigurationSupported,\n    uint8_t& numberEventClassReturned, std::vector<uint8_t>&
      eventClass)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:688,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:692,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:701,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:705,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:714,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:724,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:731,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - tid
    - total
    argTypes:
    - pldm_tid_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 746
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTableMetadata(pldm_tid_t
      tid,\n                                                           uint16_t* total)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:757,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:762,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:771,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:775,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:784,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/platform-mc/platform_manager.cpp:789,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:790,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:792,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:796,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - tid
    - dataTransferHndl
    - transferOpFlag
    - nextDataTransferHndl
    - transferFlag
    - responseCnt
    - ' recordData'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint8_t
    - uint32_t*
    - uint8_t*
    - size_t*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 811
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTable
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 2
    functionsReached:
    - data
    - encode_get_fru_record_table_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - lg2::error
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTable(\n    pldm_tid_t
      tid, const uint32_t dataTransferHndl,\n    const uint8_t transferOpFlag, uint32_t*
      nextDataTransferHndl,\n    uint8_t* transferFlag, size_t* responseCnt,\n    std::vector<uint8_t>&
      recordData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:816,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:818,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - tid
    - fruData
    - fruLen
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: pldm::platform_mc::PlatformManager::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 6
    functionsReached:
    - lg2::error
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    linkageType: ''
    returnType: void
    signature: "void PlatformManager::updateInventoryWithFru(\n    pldm_tid_t tid,
      const uint8_t* fruData, const size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:831,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTable
      Src: /src/pldm/platform-mc/platform_manager.cpp:846,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:852,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:873,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:875,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:877,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - ' totalTableRecords'
    - ' fruData'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 884
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTables
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getFRURecordTable
    - std::vector::begin
    - std::vector::size
    - lg2::error
    - std::vector::end
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTables(\n    pldm_tid_t
      tid, const uint16_t& totalTableRecords,\n    std::vector<uint8_t>& fruData)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:28,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:35,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:51,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
      Src: /src/pldm/platform-mc/platform_manager.cpp:55,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:58,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:64,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:68,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:75,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTables
      Src: /src/pldm/platform-mc/platform_manager.cpp:78,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:81,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:87,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:92,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:94,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:97,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:103,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/platform_manager.cpp:108,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:115,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:117,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:121,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageBufferSize
      Src: /src/pldm/platform-mc/platform_manager.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:133,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:141,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:147,1
    - Dst: pldm::platform_mc::PlatformManager::configEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:149,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:158,1
    - Dst: startSensorPolling
      Src: /src/pldm/platform-mc/platform_manager.cpp:166,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:170,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 177
    functionName: pldm::platform_mc::PlatformManager::initTerminus
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 0
    functionsReached:
    - lg2::info
    - pldm::platform_mc::PlatformManager::eventMessageBufferSize
    - pldm::platform_mc::PlatformManager::configEventReceiver
    - pldm::platform_mc::PlatformManager::getPDRs
    - std::vector::data
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    - std::min
    - auto::parseTerminusPDRs
    - startSensorPolling
    - std::vector::push_back
    - std::vector::size
    - pldm::platform_mc::PlatformManager::getFRURecordTables
    - lg2::error
    - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::initTerminus()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:181,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:189,1
    - Dst: pldm::platform_mc::PlatformManager::eventMessageSupported
      Src: /src/pldm/platform-mc/platform_manager.cpp:204,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:210,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:217,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:222,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:224,1
    - Dst: pldm::platform_mc::PlatformManager::setEventReceiver
      Src: /src/pldm/platform-mc/platform_manager.cpp:268,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:273,1
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:279,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 285
    functionName: pldm::platform_mc::PlatformManager::configEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - auto::doesSupportCommand
    - contains
    - pldm::platform_mc::PlatformManager::eventMessageSupported
    - pldm::platform_mc::PlatformManager::setEventReceiver
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::configEventReceiver(pldm_tid_t tid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Terminus>::getTid
      Src: /src/pldm/platform-mc/platform_manager.cpp:289,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:294,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:296,1
    - Dst: std::shared_ptr<Terminus>::doesSupportCommand
      Src: /src/pldm/platform-mc/platform_manager.cpp:297,1
    - Dst: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
      Src: /src/pldm/platform-mc/platform_manager.cpp:301,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:305,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:312,1
    - Dst: std::min
      Src: /src/pldm/platform-mc/platform_manager.cpp:313,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/pldm/platform-mc/platform_manager.cpp:314,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:332,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:338,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:344,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:347,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:354,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:355,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:362,1
    - Dst: le16toh
      Src: /src/pldm/platform-mc/platform_manager.cpp:363,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:364,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:365,1
    - Dst: pldm::platform_mc::PlatformManager::getPDR
      Src: /src/pldm/platform-mc/platform_manager.cpp:368,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:375,1
    - Dst: std::shared_ptr<Terminus>::pdrs::clear
      Src: /src/pldm/platform-mc/platform_manager.cpp:378,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:382,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:383,1
    - Dst: std::shared_ptr<Terminus>::pdrs::emplace_back
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/platform_manager.cpp:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - terminus
    argTypes:
    - std::shared_ptr<Terminus>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 398
    functionName: pldm::platform_mc::PlatformManager::getPDRs
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - std::shared_ptr<Terminus>::doesSupportCommand
    - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    - std::shared_ptr<Terminus>::pdrs::emplace_back
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getPDR
    - std::numeric_limits<uint32_t>::max
    - std::min
    - std::vector::data
    - std::start_lifetime_as<pldm_pdr_hdr>
    - le16toh
    - std::shared_ptr<Terminus>::getTid
    - std::vector::begin
    - std::vector::end
    - std::move
    - std::shared_ptr<Terminus>::pdrs::clear
    - lg2::error
    - std::vector<uint8_t>
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> PlatformManager::getPDRs(std::shared_ptr<Terminus>
      terminus)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:409,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:410,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:415,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:427,1
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:434,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:436,1
    - Dst: size
      Src: /src/pldm/platform-mc/platform_manager.cpp:437,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:440,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 12
    argNames:
    - tid
    - recordHndl
    - dataTransferHndl
    - transferOpFlag
    - requestCnt
    - recordChgNum
    - ' nextRecordHndl'
    - ' nextDataTransferHndl'
    - ' transferFlag'
    - ' responseCnt'
    - ' recordData'
    - ' transferCrc'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: pldm::platform_mc::PlatformManager::getPDR
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - size
    - data
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_pdr_req
    - lg2::error
    - decode_get_pdr_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDR(\n    const pldm_tid_t tid,
      const uint32_t recordHndl,\n    const uint32_t dataTransferHndl, const uint8_t
      transferOpFlag,\n    const uint16_t requestCnt, const uint16_t recordChgNum,\n
      \   uint32_t& nextRecordHndl, uint32_t& nextDataTransferHndl,\n    uint8_t&
      transferFlag, uint16_t& responseCnt,\n    std::vector<uint8_t>& recordData,
      uint8_t& transferCrc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:461,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/platform-mc/platform_manager.cpp:462,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:466,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:474,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:478,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:489,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:491,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:503,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - tid
    - ' repositoryState'
    - ' recordCount'
    - ' repositorySize'
    - ' largestRecordSize'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 510
    functionName: pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - sendRecvPldmMsg
    - std::array::data
    - Request::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    - lg2::error
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getPDRRepositoryInfo(\n    const
      pldm_tid_t tid, uint8_t& repositoryState, uint32_t& recordCount,\n    uint32_t&
      repositorySize, uint32_t& largestRecordSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:518,1
    - Dst: encode_event_message_buffer_size_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:519,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:523,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:531,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:535,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:542,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:546,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - receiverMaxBufferSize
    - ' terminusBufferSize'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 561
    functionName: pldm::platform_mc::PlatformManager::eventMessageBufferSize
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_event_message_buffer_size_resp
    - sendRecvPldmMsg
    - encode_event_message_buffer_size_req
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageBufferSize(\n    pldm_tid_t
      tid, uint16_t receiverMaxBufferSize,\n    uint16_t& terminusBufferSize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:578,1
    - Dst: encode_set_event_receiver_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:579,1
    - Dst: getLocalEid
      Src: /src/pldm/platform-mc/platform_manager.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:584,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:592,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:596,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:603,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - tid
    - eventMessageGlobalEnable
    - protocolType
    - heartbeatTimer
    argTypes:
    - pldm_tid_t
    - pldm_event_message_global_enable
    - pldm_transport_protocol_type
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 622
    functionName: pldm::platform_mc::PlatformManager::setEventReceiver
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_set_event_receiver_resp
    - getLocalEid
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_set_event_receiver_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::setEventReceiver(\n    pldm_tid_t
      tid, pldm_event_message_global_enable eventMessageGlobalEnable,\n    pldm_transport_protocol_type
      protocolType, uint16_t heartbeatTimer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:631,1
    - Dst: encode_event_message_supported_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:632,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:635,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:643,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:647,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/platform_manager.cpp:654,1
    - Dst: resize
      Src: /src/pldm/platform-mc/platform_manager.cpp:656,1
    - Dst: decode_event_message_supported_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:658,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:664,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 6
    argNames:
    - tid
    - formatVersion
    - ' synchronyConfiguration'
    - ' synchronyConfigurationSupported'
    - ' numberEventClassReturned'
    - ' eventClass'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - bitfield8_t
    - uint8_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 679
    functionName: pldm::platform_mc::PlatformManager::eventMessageSupported
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - encode_event_message_supported_req
    - static_cast<uint8_t>
    - decode_event_message_supported_resp
    - data
    - sendRecvPldmMsg
    - resize
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::eventMessageSupported(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t& synchronyConfiguration,\n    bitfield8_t&
      synchronyConfigurationSupported,\n    uint8_t& numberEventClassReturned, std::vector<uint8_t>&
      eventClass)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:686,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:688,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:692,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:701,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:705,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:714,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:724,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:731,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:739,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - tid
    - total
    argTypes:
    - pldm_tid_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 746
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - encode_get_fru_record_table_metadata_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTableMetadata(pldm_tid_t
      tid,\n                                                           uint16_t* total)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/platform_manager.cpp:755,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/platform-mc/platform_manager.cpp:757,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:762,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/platform_manager.cpp:771,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:775,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:784,1
    - Dst: reinterpret_cast<const struct pldm_msg*>
      Src: /src/pldm/platform-mc/platform_manager.cpp:789,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/platform-mc/platform_manager.cpp:790,1
    - Dst: data
      Src: /src/pldm/platform-mc/platform_manager.cpp:792,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:796,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - tid
    - dataTransferHndl
    - transferOpFlag
    - nextDataTransferHndl
    - transferFlag
    - responseCnt
    - ' recordData'
    argTypes:
    - pldm_tid_t
    - uint32_t
    - uint8_t
    - uint32_t*
    - uint8_t*
    - size_t*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 811
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTable
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 3
    functionsReached:
    - data
    - encode_get_fru_record_table_req
    - sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - decode_get_fru_record_table_resp
    - lg2::error
    - reinterpret_cast<const struct pldm_msg*>
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTable(\n    pldm_tid_t
      tid, const uint32_t dataTransferHndl,\n    const uint8_t transferOpFlag, uint32_t*
      nextDataTransferHndl,\n    uint8_t* transferFlag, size_t* responseCnt,\n    std::vector<uint8_t>&
      recordData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/platform_manager.cpp:816,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:818,1
    - Dst: pldm::platform_mc::PlatformManager::updateInventoryWithFru
      Src: /src/pldm/platform-mc/platform_manager.cpp:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - tid
    - fruData
    - fruLen
    argTypes:
    - pldm_tid_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: pldm::platform_mc::PlatformManager::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 8
    functionsReached:
    - lg2::error
    - contains
    - pldm::platform_mc::PlatformManager::updateInventoryWithFru
    linkageType: ''
    returnType: void
    signature: "void PlatformManager::updateInventoryWithFru(\n    pldm_tid_t tid,
      const uint8_t* fruData, const size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/platform_manager.cpp:831,1
    - Dst: pldm::platform_mc::PlatformManager::getFRURecordTable
      Src: /src/pldm/platform-mc/platform_manager.cpp:846,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:852,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:858,1
    - Dst: std::vector::begin
      Src: /src/pldm/platform-mc/platform_manager.cpp:859,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:873,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/platform_manager.cpp:875,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/platform_manager.cpp:877,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - tid
    - ' totalTableRecords'
    - ' fruData'
    argTypes:
    - pldm_tid_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 884
    functionName: pldm::platform_mc::PlatformManager::getFRURecordTables
    functionSourceFile: /src/pldm/platform-mc/platform_manager.cpp
    functionUses: 4
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::PlatformManager::getFRURecordTable
    - std::vector::begin
    - std::vector::size
    - lg2::error
    - std::vector::end
    - lg2::info
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> PlatformManager::getFRURecordTables(\n    pldm_tid_t
      tid, const uint16_t& totalTableRecords,\n    std::vector<uint8_t>& fruData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const SensorManager&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(SensorManager&&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~SensorManager()
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.hpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: pldm::platform_mc::SensorManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const SensorManager&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(SensorManager&&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~SensorManager()
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.hpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: pldm::platform_mc::SensorManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const SensorManager&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(SensorManager&&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~SensorManager()
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.hpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: pldm::platform_mc::SensorManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::platform_mc::SensorManager::SensorManager
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SensorManager(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const SensorManager&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(const SensorManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(SensorManager&&)'
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SensorManager
    signature: SensorManager & operator=(SensorManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~SensorManager()
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SensorManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::SensorManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/sensor_manager.hpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: pldm::platform_mc::SensorManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/sensor_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& operator=(const HostEffecterParser&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(HostEffecterParser&&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~HostEffecterParser()
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:114,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - instanceIdDb
    - fd
    - repo
    - dbusHandler
    - ' jsonPath'
    - handler
    - platformManager
    argTypes:
    - pldm::InstanceIdDb*
    - int
    - pldm_pdr*
    - pldm::utils::DBusHandler*
    - std::string
    - pldm::requester::Handler<pldm::requester::Request>*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::host_effecters::HostEffecterParser::parseEffecterJson
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser(\n        pldm::InstanceIdDb* instanceIdDb,
      int fd, const pldm_pdr* repo,\n        pldm::utils::DBusHandler* const dbusHandler,\n
      \       const std::string& jsonPath,\n        pldm::requester::Handler<pldm::requester::Request>*
      handler,\n        platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& operator=(const HostEffecterParser&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(HostEffecterParser&&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~HostEffecterParser()
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:114,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - instanceIdDb
    - fd
    - repo
    - dbusHandler
    - ' jsonPath'
    - handler
    - platformManager
    argTypes:
    - pldm::InstanceIdDb*
    - int
    - pldm_pdr*
    - pldm::utils::DBusHandler*
    - std::string
    - pldm::requester::Handler<pldm::requester::Request>*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::host_effecters::HostEffecterParser::parseEffecterJson
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser(\n        pldm::InstanceIdDb* instanceIdDb,
      int fd, const pldm_pdr* repo,\n        pldm::utils::DBusHandler* const dbusHandler,\n
      \       const std::string& jsonPath,\n        pldm::requester::Handler<pldm::requester::Request>*
      handler,\n        platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& operator=(const HostEffecterParser&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(HostEffecterParser&&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~HostEffecterParser()
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:114,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - instanceIdDb
    - fd
    - repo
    - dbusHandler
    - ' jsonPath'
    - handler
    - platformManager
    argTypes:
    - pldm::InstanceIdDb*
    - int
    - pldm_pdr*
    - pldm::utils::DBusHandler*
    - std::string
    - pldm::requester::Handler<pldm::requester::Request>*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::host_effecters::HostEffecterParser::parseEffecterJson
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser(\n        pldm::InstanceIdDb* instanceIdDb,
      int fd, const pldm_pdr* repo,\n        pldm::utils::DBusHandler* const dbusHandler,\n
      \       const std::string& jsonPath,\n        pldm::requester::Handler<pldm::requester::Request>*
      handler,\n        platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '& operator=(const HostEffecterParser&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(const HostEffecterParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HostEffecterParser(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(HostEffecterParser&&)'
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HostEffecterParser
    signature: HostEffecterParser & operator=(HostEffecterParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~HostEffecterParser()
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HostEffecterParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::host_effecters::HostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:114,1
    - Dst: error
      Src: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - instanceIdDb
    - fd
    - repo
    - dbusHandler
    - ' jsonPath'
    - handler
    - platformManager
    argTypes:
    - pldm::InstanceIdDb*
    - int
    - pldm_pdr*
    - pldm::utils::DBusHandler*
    - std::string
    - pldm::requester::Handler<pldm::requester::Request>*
    - platform_mc::Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: pldm::host_effecters::HostEffecterParser::HostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    functionUses: 0
    functionsReached:
    - error
    - pldm::host_effecters::HostEffecterParser::parseEffecterJson
    linkageType: ''
    returnType: void
    signature: "void HostEffecterParser(\n        pldm::InstanceIdDb* instanceIdDb,
      int fd, const pldm_pdr* repo,\n        pldm::utils::DBusHandler* const dbusHandler,\n
      \       const std::string& jsonPath,\n        pldm::requester::Handler<pldm::requester::Request>*
      handler,\n        platform_mc::Manager* platformManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:34,1
    - Dst: std::make_unique<EntityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:42,1
    - Dst: entityType
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:47,1
    - Dst: entityInstanceNumber
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:48,1
    - Dst: containerID
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' associationPath'
    - ' sensorName'
    - entityType
    - entityInstanceNum
    - containerId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: pldm::platform_mc::NumericSensor::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - containerID
    - std::make_unique<EntityIntf>
    - entityType
    - entityInstanceNumber
    - lg2::error
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::createInventoryPath(\n    const std::string& associationPath,
      const std::string& sensorName,\n    const uint16_t entityType, const uint16_t
      entityInstanceNum,\n    const uint16_t containerId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sensor_data_size
    - ' value'
    argTypes:
    - uint8_t
    - union_sensor_data_size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: pldm::platform_mc::getSensorDataValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getSensorDataValue(uint8_t sensor_data_size,\n                                 union_sensor_data_size&
      value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - range_field_format
    - ' value'
    argTypes:
    - uint8_t
    - union_range_field_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: pldm::platform_mc::getRangeFieldValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getRangeFieldValue(uint8_t range_field_format,\n                                 union_range_field_format&
      value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:163,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - baseUnit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 169
    functionName: pldm::platform_mc::NumericSensor::setSensorUnit
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - lg2::error
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    linkageType: ''
    returnType: void
    signature: void NumericSensor::setSensorUnit(uint8_t baseUnit)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:179,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:185,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:197,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:199,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:210,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:218,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:221,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:226,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:231,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:236,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:238,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:239,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:244,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:245,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:246,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:247,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:248,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:249,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:255,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:262,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:269,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:276,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:282,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:287,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:300,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:313,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:316,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:321,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:332,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:335,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:340,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:346,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:349,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:359,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:362,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:364,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:373,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:376,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:378,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:389,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:392,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:408,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:411,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:427,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:430,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 436
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - getRangeFieldValue
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - getSensorDataValue
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - std::isfinite
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(const pldm_tid_t tid, const bool
      sensorDisabled,\n                             std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr,\n                             const std::string& sensorName,\n                             const
      std::string& associationPath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:446,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:452,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:464,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:466,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:468,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:477,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:485,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:488,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:492,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:493,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:497,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:498,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:501,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:502,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:506,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:507,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:508,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:509,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:510,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:511,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:546,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:547,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:566,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:569,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:574,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:585,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:588,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:593,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:599,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:602,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:612,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:615,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:617,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:626,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:629,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:631,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:642,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:645,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:661,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:664,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:680,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:683,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 129
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 689
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - c_str
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(\n    const pldm_tid_t tid, const
      bool sensorDisabled,\n    std::shared_ptr<pldm_compact_numeric_sensor_pdr> pdr,\n
      \   const std::string& sensorName, const std::string& associationPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:694,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 703
    functionName: pldm::platform_mc::NumericSensor::conversionFormula
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::conversionFormula(double value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:707,1
    - Dst: std::pow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: pldm::platform_mc::NumericSensor::unitModifier
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - std::pow
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::unitModifier(double value) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:720,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:725,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:726,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:730,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:734,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:737,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:745,1
    - Dst: pldm::platform_mc::NumericSensor::updateThresholds
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:746,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:750,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - available
    - functional
    - value
    argTypes:
    - bool
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 769
    functionName: pldm::platform_mc::NumericSensor::updateReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - functional
    - available
    - pldm::platform_mc::NumericSensor::conversionFormula
    - value
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::updateThresholds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateReading(bool available, bool functional,
      double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:776,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:781,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: pldm::platform_mc::NumericSensor::handleErrGetSensorReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - functional
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    - value
    linkageType: ''
    returnType: void
    signature: void NumericSensor::handleErrGetSensorReading()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - alarm
    - direction
    - value
    - threshold
    - hyst
    argTypes:
    - bool
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::NumericSensor::checkThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::checkThreshold(bool alarm, bool direction, double
      value,\n                                   double threshold, double hyst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: pldm::platform_mc::NumericSensor::hasThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    linkageType: ''
    returnType: bool
    signature: bool NumericSensor::hasThresholdAlarm()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:838,1
    - Dst: warningHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:841,1
    - Dst: warningHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:845,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:850,1
    - Dst: warningLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:853,1
    - Dst: warningLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - warningAlarmHigh
    - warningHighAlarmDeasserted
    - warningAlarmLow
    - warningLowAlarmAsserted
    - warningLowAlarmDeasserted
    - warningHighAlarmAsserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setWarningThresholdAlarm(pldm::utils::Direction
      direction,\n                                             double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:867,1
    - Dst: criticalHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:870,1
    - Dst: criticalHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:874,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:879,1
    - Dst: criticalLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:882,1
    - Dst: criticalLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - criticalHighAlarmDeasserted
    - criticalLowAlarmAsserted
    - criticalLowAlarmDeasserted
    - criticalHighAlarmAsserted
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setCriticalThresholdAlarm(pldm::utils::Direction
      direction,\n                                              double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:896,1
    - Dst: hardShutdownHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:899,1
    - Dst: hardShutdownHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:903,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:908,1
    - Dst: hardShutdownLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:911,1
    - Dst: hardShutdownLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 918
    functionName: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - hardShutdownHighAlarmAsserted
    - hardShutdownLowAlarmAsserted
    - hardShutdownLowAlarmDeasserted
    - hardShutdownHighAlarmDeasserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setHardShutdownThresholdAlarm(\n    pldm::utils::Direction
      direction, double value, bool newAlarm)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:924,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:926,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:931,1
    - Dst: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:939,1
    - Dst: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:942,1
    - Dst: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:945,1
    - Dst: pldm::platform_mc::NumericSensor::createThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:952,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:957,1
    - Dst: pldm::platform_mc::NumericSensor::clearThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:959,1
    - Dst: pldm::platform_mc::NumericSensor::hasThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:962,1
    - Dst: pldm::platform_mc::NumericSensor::createNormalRangeLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - level
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 968
    functionName: pldm::platform_mc::NumericSensor::setThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - pldm::platform_mc::NumericSensor::createThresholdLog
    - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    - pldm::platform_mc::NumericSensor::hasThresholdAlarm
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - has_value
    - pldm::platform_mc::NumericSensor::createNormalRangeLog
    - lg2::error
    - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    - pldm::platform_mc::NumericSensor::clearThresholdLog
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::setThresholdAlarm(pldm::utils::Level level,\n                                     pldm::utils::Direction
      direction,\n                                     double value, bool newAlarm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:981,1
    - Dst: lg2::resolve
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:983,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:988,1
    - Dst: reset
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' log'
    argTypes:
    - std::optional<sdbusplus::object_path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: pldm::platform_mc::NumericSensor::clearThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - str::empty
    - lg2::error
    - reset
    - lg2::resolve
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::clearThresholdLog(\n    std::optional<sdbusplus::object_path>&
      log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1012,1
    - Dst: errorObj
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sensorObjPath'
    - value
    - sensorUnit
    - threshold
    argTypes:
    - std::string
    - double
    - SensorUnit
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: pldm::platform_mc::logThresholdHelper
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - errorObj
    linkageType: ''
    returnType: auto
    signature: "auto logThresholdHelper(const std::string& sensorObjPath, double value,\n
      \                       SensorUnit sensorUnit, double threshold)\n    -> std::optional<sdbusplus::object_path>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1046,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1049,1
    - Dst: helper
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1051,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - direction
    - value
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: pldm::platform_mc::NumericSensor::createThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - std::map::at
    - lg2::error
    - helper
    - pldm::platform_mc::NumericSensor::getThreshold
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::createThresholdLog(\n    pldm::utils::Level level,
      pldm::utils::Direction direction, double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: Events::SensorReadingNormalRange
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: pldm::platform_mc::NumericSensor::createNormalRangeLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - Events::SensorReadingNormalRange
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::createNormalRangeLog(double value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1082,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1087,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1094,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1098,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1105,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1106,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1110,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1112,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1117
    functionName: pldm::platform_mc::NumericSensor::updateThresholds
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - std::isfinite
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThreshold
    - pldm::platform_mc::NumericSensor::checkThreshold
    - value
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateThresholds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1125,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1132,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - eventType
    - direction
    - rawValue
    - newAlarm
    - assert
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1138
    functionName: pldm::platform_mc::NumericSensor::triggerThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - lg2::error
    - pldm::platform_mc::NumericSensor::unitModifier
    - pldm::platform_mc::NumericSensor::conversionFormula
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::triggerThresholdEvent(\n    pldm::utils::Level
      eventType, pldm::utils::Direction direction,\n    double rawValue, bool newAlarm,
      bool assert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:34,1
    - Dst: std::make_unique<EntityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:42,1
    - Dst: entityType
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:47,1
    - Dst: entityInstanceNumber
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:48,1
    - Dst: containerID
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' associationPath'
    - ' sensorName'
    - entityType
    - entityInstanceNum
    - containerId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: pldm::platform_mc::NumericSensor::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - containerID
    - std::make_unique<EntityIntf>
    - entityType
    - entityInstanceNumber
    - lg2::error
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::createInventoryPath(\n    const std::string& associationPath,
      const std::string& sensorName,\n    const uint16_t entityType, const uint16_t
      entityInstanceNum,\n    const uint16_t containerId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sensor_data_size
    - ' value'
    argTypes:
    - uint8_t
    - union_sensor_data_size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: pldm::platform_mc::getSensorDataValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getSensorDataValue(uint8_t sensor_data_size,\n                                 union_sensor_data_size&
      value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - range_field_format
    - ' value'
    argTypes:
    - uint8_t
    - union_range_field_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: pldm::platform_mc::getRangeFieldValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getRangeFieldValue(uint8_t range_field_format,\n                                 union_range_field_format&
      value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:163,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - baseUnit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 169
    functionName: pldm::platform_mc::NumericSensor::setSensorUnit
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - lg2::error
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    linkageType: ''
    returnType: void
    signature: void NumericSensor::setSensorUnit(uint8_t baseUnit)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:179,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:185,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:197,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:199,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:210,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:218,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:221,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:226,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:231,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:236,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:238,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:239,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:244,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:245,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:246,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:247,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:248,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:249,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:255,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:262,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:269,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:276,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:282,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:287,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:300,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:313,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:316,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:321,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:332,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:335,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:340,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:346,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:349,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:359,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:362,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:364,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:373,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:376,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:378,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:389,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:392,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:408,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:411,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:427,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:430,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 436
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - getRangeFieldValue
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - getSensorDataValue
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - std::isfinite
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(const pldm_tid_t tid, const bool
      sensorDisabled,\n                             std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr,\n                             const std::string& sensorName,\n                             const
      std::string& associationPath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:446,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:452,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:464,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:466,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:468,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:477,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:485,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:488,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:492,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:493,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:497,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:498,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:501,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:502,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:506,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:507,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:508,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:509,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:510,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:511,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:546,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:547,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:566,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:569,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:574,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:585,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:588,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:593,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:599,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:602,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:612,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:615,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:617,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:626,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:629,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:631,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:642,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:645,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:661,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:664,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:680,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:683,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 129
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 689
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - c_str
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(\n    const pldm_tid_t tid, const
      bool sensorDisabled,\n    std::shared_ptr<pldm_compact_numeric_sensor_pdr> pdr,\n
      \   const std::string& sensorName, const std::string& associationPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:694,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 703
    functionName: pldm::platform_mc::NumericSensor::conversionFormula
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 6
    functionsReached:
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::conversionFormula(double value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:707,1
    - Dst: std::pow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: pldm::platform_mc::NumericSensor::unitModifier
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 6
    functionsReached:
    - std::pow
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::unitModifier(double value) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:720,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:725,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:726,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:730,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:734,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:737,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:745,1
    - Dst: pldm::platform_mc::NumericSensor::updateThresholds
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:746,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:750,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - available
    - functional
    - value
    argTypes:
    - bool
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 769
    functionName: pldm::platform_mc::NumericSensor::updateReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - functional
    - available
    - pldm::platform_mc::NumericSensor::conversionFormula
    - value
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::updateThresholds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateReading(bool available, bool functional,
      double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:776,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:781,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: pldm::platform_mc::NumericSensor::handleErrGetSensorReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - functional
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    - value
    linkageType: ''
    returnType: void
    signature: void NumericSensor::handleErrGetSensorReading()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - alarm
    - direction
    - value
    - threshold
    - hyst
    argTypes:
    - bool
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::NumericSensor::checkThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::checkThreshold(bool alarm, bool direction, double
      value,\n                                   double threshold, double hyst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: pldm::platform_mc::NumericSensor::hasThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    linkageType: ''
    returnType: bool
    signature: bool NumericSensor::hasThresholdAlarm()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:838,1
    - Dst: warningHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:841,1
    - Dst: warningHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:845,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:850,1
    - Dst: warningLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:853,1
    - Dst: warningLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - warningAlarmHigh
    - warningHighAlarmDeasserted
    - warningAlarmLow
    - warningLowAlarmAsserted
    - warningLowAlarmDeasserted
    - warningHighAlarmAsserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setWarningThresholdAlarm(pldm::utils::Direction
      direction,\n                                             double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:867,1
    - Dst: criticalHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:870,1
    - Dst: criticalHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:874,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:879,1
    - Dst: criticalLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:882,1
    - Dst: criticalLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - criticalHighAlarmDeasserted
    - criticalLowAlarmAsserted
    - criticalLowAlarmDeasserted
    - criticalHighAlarmAsserted
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setCriticalThresholdAlarm(pldm::utils::Direction
      direction,\n                                              double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:896,1
    - Dst: hardShutdownHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:899,1
    - Dst: hardShutdownHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:903,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:908,1
    - Dst: hardShutdownLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:911,1
    - Dst: hardShutdownLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 918
    functionName: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 1
    functionsReached:
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - hardShutdownHighAlarmAsserted
    - hardShutdownLowAlarmAsserted
    - hardShutdownLowAlarmDeasserted
    - hardShutdownHighAlarmDeasserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setHardShutdownThresholdAlarm(\n    pldm::utils::Direction
      direction, double value, bool newAlarm)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:924,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:926,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:931,1
    - Dst: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:939,1
    - Dst: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:942,1
    - Dst: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:945,1
    - Dst: pldm::platform_mc::NumericSensor::createThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:952,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:957,1
    - Dst: pldm::platform_mc::NumericSensor::clearThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:959,1
    - Dst: pldm::platform_mc::NumericSensor::hasThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:962,1
    - Dst: pldm::platform_mc::NumericSensor::createNormalRangeLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - level
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 968
    functionName: pldm::platform_mc::NumericSensor::setThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - pldm::platform_mc::NumericSensor::createThresholdLog
    - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    - pldm::platform_mc::NumericSensor::hasThresholdAlarm
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - has_value
    - pldm::platform_mc::NumericSensor::createNormalRangeLog
    - lg2::error
    - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    - pldm::platform_mc::NumericSensor::clearThresholdLog
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::setThresholdAlarm(pldm::utils::Level level,\n                                     pldm::utils::Direction
      direction,\n                                     double value, bool newAlarm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:981,1
    - Dst: lg2::resolve
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:983,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:988,1
    - Dst: reset
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' log'
    argTypes:
    - std::optional<sdbusplus::object_path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: pldm::platform_mc::NumericSensor::clearThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - str::empty
    - lg2::error
    - reset
    - lg2::resolve
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::clearThresholdLog(\n    std::optional<sdbusplus::object_path>&
      log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1012,1
    - Dst: errorObj
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sensorObjPath'
    - value
    - sensorUnit
    - threshold
    argTypes:
    - std::string
    - double
    - SensorUnit
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: pldm::platform_mc::logThresholdHelper
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - errorObj
    linkageType: ''
    returnType: auto
    signature: "auto logThresholdHelper(const std::string& sensorObjPath, double value,\n
      \                       SensorUnit sensorUnit, double threshold)\n    -> std::optional<sdbusplus::object_path>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1046,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1049,1
    - Dst: helper
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1051,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - direction
    - value
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: pldm::platform_mc::NumericSensor::createThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - std::map::at
    - lg2::error
    - helper
    - pldm::platform_mc::NumericSensor::getThreshold
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::createThresholdLog(\n    pldm::utils::Level level,
      pldm::utils::Direction direction, double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: Events::SensorReadingNormalRange
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: pldm::platform_mc::NumericSensor::createNormalRangeLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - Events::SensorReadingNormalRange
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::createNormalRangeLog(double value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1082,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1087,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1094,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1098,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1105,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1106,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1110,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1112,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1117
    functionName: pldm::platform_mc::NumericSensor::updateThresholds
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - std::isfinite
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThreshold
    - pldm::platform_mc::NumericSensor::checkThreshold
    - value
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateThresholds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1125,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1132,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - eventType
    - direction
    - rawValue
    - newAlarm
    - assert
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1138
    functionName: pldm::platform_mc::NumericSensor::triggerThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - lg2::error
    - pldm::platform_mc::NumericSensor::unitModifier
    - pldm::platform_mc::NumericSensor::conversionFormula
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::triggerThresholdEvent(\n    pldm::utils::Level
      eventType, pldm::utils::Direction direction,\n    double rawValue, bool newAlarm,
      bool assert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:34,1
    - Dst: std::make_unique<EntityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:42,1
    - Dst: entityType
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:47,1
    - Dst: entityInstanceNumber
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:48,1
    - Dst: containerID
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' associationPath'
    - ' sensorName'
    - entityType
    - entityInstanceNum
    - containerId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: pldm::platform_mc::NumericSensor::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - std::string::c_str
    - containerID
    - std::make_unique<EntityIntf>
    - entityType
    - entityInstanceNumber
    - lg2::error
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::createInventoryPath(\n    const std::string& associationPath,
      const std::string& sensorName,\n    const uint16_t entityType, const uint16_t
      entityInstanceNum,\n    const uint16_t containerId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sensor_data_size
    - ' value'
    argTypes:
    - uint8_t
    - union_sensor_data_size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: pldm::platform_mc::getSensorDataValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getSensorDataValue(uint8_t sensor_data_size,\n                                 union_sensor_data_size&
      value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - range_field_format
    - ' value'
    argTypes:
    - uint8_t
    - union_range_field_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: pldm::platform_mc::getRangeFieldValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getRangeFieldValue(uint8_t range_field_format,\n                                 union_range_field_format&
      value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:163,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - baseUnit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 169
    functionName: pldm::platform_mc::NumericSensor::setSensorUnit
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - lg2::error
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    linkageType: ''
    returnType: void
    signature: void NumericSensor::setSensorUnit(uint8_t baseUnit)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:179,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:185,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:197,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:199,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:210,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:218,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:221,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:226,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:231,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:236,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:238,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:239,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:244,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:245,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:246,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:247,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:248,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:249,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:255,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:262,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:269,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:276,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:282,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:287,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:300,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:313,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:316,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:321,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:332,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:335,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:340,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:346,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:349,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:359,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:362,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:364,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:373,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:376,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:378,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:389,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:392,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:408,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:411,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:427,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:430,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 436
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - getRangeFieldValue
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - getSensorDataValue
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - std::isfinite
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(const pldm_tid_t tid, const bool
      sensorDisabled,\n                             std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr,\n                             const std::string& sensorName,\n                             const
      std::string& associationPath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:446,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:452,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:464,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:466,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:468,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:477,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:485,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:488,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:492,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:493,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:497,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:498,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:501,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:502,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:506,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:507,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:508,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:509,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:510,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:511,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:546,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:547,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:566,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:569,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:574,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:585,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:588,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:593,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:599,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:602,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:612,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:615,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:617,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:626,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:629,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:631,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:642,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:645,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:661,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:664,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:680,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:683,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 129
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 689
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - c_str
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(\n    const pldm_tid_t tid, const
      bool sensorDisabled,\n    std::shared_ptr<pldm_compact_numeric_sensor_pdr> pdr,\n
      \   const std::string& sensorName, const std::string& associationPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:694,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 703
    functionName: pldm::platform_mc::NumericSensor::conversionFormula
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 10
    functionsReached:
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::conversionFormula(double value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:707,1
    - Dst: std::pow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: pldm::platform_mc::NumericSensor::unitModifier
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 10
    functionsReached:
    - std::pow
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::unitModifier(double value) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:720,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:725,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:726,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:730,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:734,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:737,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:745,1
    - Dst: pldm::platform_mc::NumericSensor::updateThresholds
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:746,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:750,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - available
    - functional
    - value
    argTypes:
    - bool
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 769
    functionName: pldm::platform_mc::NumericSensor::updateReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - functional
    - available
    - pldm::platform_mc::NumericSensor::conversionFormula
    - value
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::updateThresholds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateReading(bool available, bool functional,
      double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:776,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:781,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: pldm::platform_mc::NumericSensor::handleErrGetSensorReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - functional
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    - value
    linkageType: ''
    returnType: void
    signature: void NumericSensor::handleErrGetSensorReading()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - alarm
    - direction
    - value
    - threshold
    - hyst
    argTypes:
    - bool
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::NumericSensor::checkThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::checkThreshold(bool alarm, bool direction, double
      value,\n                                   double threshold, double hyst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: pldm::platform_mc::NumericSensor::hasThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    linkageType: ''
    returnType: bool
    signature: bool NumericSensor::hasThresholdAlarm()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:838,1
    - Dst: warningHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:841,1
    - Dst: warningHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:845,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:850,1
    - Dst: warningLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:853,1
    - Dst: warningLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - warningAlarmHigh
    - warningHighAlarmDeasserted
    - warningAlarmLow
    - warningLowAlarmAsserted
    - warningLowAlarmDeasserted
    - warningHighAlarmAsserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setWarningThresholdAlarm(pldm::utils::Direction
      direction,\n                                             double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:867,1
    - Dst: criticalHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:870,1
    - Dst: criticalHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:874,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:879,1
    - Dst: criticalLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:882,1
    - Dst: criticalLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - criticalHighAlarmDeasserted
    - criticalLowAlarmAsserted
    - criticalLowAlarmDeasserted
    - criticalHighAlarmAsserted
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setCriticalThresholdAlarm(pldm::utils::Direction
      direction,\n                                              double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:896,1
    - Dst: hardShutdownHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:899,1
    - Dst: hardShutdownHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:903,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:908,1
    - Dst: hardShutdownLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:911,1
    - Dst: hardShutdownLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 918
    functionName: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 2
    functionsReached:
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - hardShutdownHighAlarmAsserted
    - hardShutdownLowAlarmAsserted
    - hardShutdownLowAlarmDeasserted
    - hardShutdownHighAlarmDeasserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setHardShutdownThresholdAlarm(\n    pldm::utils::Direction
      direction, double value, bool newAlarm)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:924,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:926,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:931,1
    - Dst: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:939,1
    - Dst: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:942,1
    - Dst: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:945,1
    - Dst: pldm::platform_mc::NumericSensor::createThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:952,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:957,1
    - Dst: pldm::platform_mc::NumericSensor::clearThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:959,1
    - Dst: pldm::platform_mc::NumericSensor::hasThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:962,1
    - Dst: pldm::platform_mc::NumericSensor::createNormalRangeLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - level
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 968
    functionName: pldm::platform_mc::NumericSensor::setThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - pldm::platform_mc::NumericSensor::createThresholdLog
    - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    - pldm::platform_mc::NumericSensor::hasThresholdAlarm
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - has_value
    - pldm::platform_mc::NumericSensor::createNormalRangeLog
    - lg2::error
    - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    - pldm::platform_mc::NumericSensor::clearThresholdLog
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::setThresholdAlarm(pldm::utils::Level level,\n                                     pldm::utils::Direction
      direction,\n                                     double value, bool newAlarm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:981,1
    - Dst: lg2::resolve
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:983,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:988,1
    - Dst: reset
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' log'
    argTypes:
    - std::optional<sdbusplus::object_path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: pldm::platform_mc::NumericSensor::clearThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - str::empty
    - lg2::error
    - reset
    - lg2::resolve
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::clearThresholdLog(\n    std::optional<sdbusplus::object_path>&
      log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1012,1
    - Dst: errorObj
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sensorObjPath'
    - value
    - sensorUnit
    - threshold
    argTypes:
    - std::string
    - double
    - SensorUnit
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: pldm::platform_mc::logThresholdHelper
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - errorObj
    linkageType: ''
    returnType: auto
    signature: "auto logThresholdHelper(const std::string& sensorObjPath, double value,\n
      \                       SensorUnit sensorUnit, double threshold)\n    -> std::optional<sdbusplus::object_path>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1046,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1049,1
    - Dst: helper
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1051,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - direction
    - value
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: pldm::platform_mc::NumericSensor::createThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - std::map::at
    - lg2::error
    - helper
    - pldm::platform_mc::NumericSensor::getThreshold
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::createThresholdLog(\n    pldm::utils::Level level,
      pldm::utils::Direction direction, double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: Events::SensorReadingNormalRange
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: pldm::platform_mc::NumericSensor::createNormalRangeLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - Events::SensorReadingNormalRange
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::createNormalRangeLog(double value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1082,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1087,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1094,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1098,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1105,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1106,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1110,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1112,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1117
    functionName: pldm::platform_mc::NumericSensor::updateThresholds
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - std::isfinite
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThreshold
    - pldm::platform_mc::NumericSensor::checkThreshold
    - value
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateThresholds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1125,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1132,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - eventType
    - direction
    - rawValue
    - newAlarm
    - assert
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1138
    functionName: pldm::platform_mc::NumericSensor::triggerThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - lg2::error
    - pldm::platform_mc::NumericSensor::unitModifier
    - pldm::platform_mc::NumericSensor::conversionFormula
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::triggerThresholdEvent(\n    pldm::utils::Level
      eventType, pldm::utils::Direction direction,\n    double rawValue, bool newAlarm,
      bool assert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:34,1
    - Dst: std::make_unique<EntityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:42,1
    - Dst: entityType
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:47,1
    - Dst: entityInstanceNumber
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:48,1
    - Dst: containerID
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ' associationPath'
    - ' sensorName'
    - entityType
    - entityInstanceNum
    - containerId
    argTypes:
    - std::string
    - std::string
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: pldm::platform_mc::NumericSensor::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 6
    functionsReached:
    - std::string::c_str
    - containerID
    - std::make_unique<EntityIntf>
    - entityType
    - entityInstanceNumber
    - lg2::error
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::createInventoryPath(\n    const std::string& associationPath,
      const std::string& sensorName,\n    const uint16_t entityType, const uint16_t
      entityInstanceNum,\n    const uint16_t containerId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sensor_data_size
    - ' value'
    argTypes:
    - uint8_t
    - union_sensor_data_size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: pldm::platform_mc::getSensorDataValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getSensorDataValue(uint8_t sensor_data_size,\n                                 union_sensor_data_size&
      value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - range_field_format
    - ' value'
    argTypes:
    - uint8_t
    - union_range_field_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: pldm::platform_mc::getRangeFieldValue
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: double
    signature: "double getRangeFieldValue(uint8_t range_field_format,\n                                 union_range_field_format&
      value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:163,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - baseUnit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 169
    functionName: pldm::platform_mc::NumericSensor::setSensorUnit
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 6
    functionsReached:
    - lg2::error
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    linkageType: ''
    returnType: void
    signature: void NumericSensor::setSensorUnit(uint8_t baseUnit)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:179,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:185,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:197,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:199,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:210,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:214,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:218,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:221,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:226,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:231,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:236,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:238,1
    - Dst: getSensorDataValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:239,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:244,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:245,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:246,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:247,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:248,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:249,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:255,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:262,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:269,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:276,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:282,1
    - Dst: getRangeFieldValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:287,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:300,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:309,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:313,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:316,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:319,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:320,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:321,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:322,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:328,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:332,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:335,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:338,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:339,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:340,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:341,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:344,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:346,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:349,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:359,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:362,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:364,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:373,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:376,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:378,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:385,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:389,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:392,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:395,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:396,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:408,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:411,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:414,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:415,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:423,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:427,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:430,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:433,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:434,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 132
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 436
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - getRangeFieldValue
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - getSensorDataValue
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - std::isfinite
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(const pldm_tid_t tid, const bool
      sensorDisabled,\n                             std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr,\n                             const std::string& sensorName,\n                             const
      std::string& associationPath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:446,1
    - Dst: pldm::platform_mc::NumericSensor::setSensorUnit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:452,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:463,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:464,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:466,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:468,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:477,1
    - Dst: std::make_unique<AssociationDefinitionsInft>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:481,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:485,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:488,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:492,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:493,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:497,1
    - Dst: c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:498,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:501,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:502,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:506,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:507,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:508,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:509,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:510,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:511,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:546,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:547,1
    - Dst: std::make_unique<ValueIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:562,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:566,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:569,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:572,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:573,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:574,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:575,1
    - Dst: std::make_unique<MetricIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:581,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:585,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:588,1
    - Dst: maxValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:591,1
    - Dst: minValue
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:592,1
    - Dst: unit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:593,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:594,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:597,1
    - Dst: pldm::platform_mc::NumericSensor::createInventoryPath
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:599,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:602,1
    - Dst: std::make_unique<AvailabilityIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:608,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:612,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:615,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:617,1
    - Dst: std::make_unique<OperationalStatusIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:626,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:629,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:631,1
    - Dst: std::make_unique<ThresholdWarningIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:638,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:642,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:645,1
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:648,1
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:649,1
    - Dst: std::make_unique<ThresholdCriticalIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:657,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:661,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:664,1
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:667,1
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:668,1
    - Dst: std::make_unique<ThresholdHardShutdownIntf>
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: std::string::c_str
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:676,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:680,1
    - Dst: "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:683,1
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:686,1
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:687,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 129
    argCount: 5
    argNames:
    - tid
    - sensorDisabled
    - pdr
    - ' sensorName'
    - ' associationPath'
    argTypes:
    - pldm_tid_t
    - bool
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 689
    functionName: pldm::platform_mc::NumericSensor::NumericSensor
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - associations
    - sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument
    - criticalLow
    - std::make_unique<OperationalStatusIntf>
    - value
    - criticalHigh
    - std::make_unique<MetricIntf>
    - hardShutdownHigh
    - pldm::platform_mc::NumericSensor::createInventoryPath
    - unit
    - pldm::platform_mc::NumericSensor::conversionFormula
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::make_unique<AssociationDefinitionsInft>
    - lg2::error
    - std::make_unique<ThresholdHardShutdownIntf>
    - warningLow
    - hardShutdownLow
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                TooManyResources"
    - c_str
    - available
    - warningHigh
    - std::string::empty
    - "sdbusplus::xyz::openbmc_project::Common::Error::\n                InvalidArgument"
    - std::make_unique<ThresholdWarningIntf>
    - pldm::utils::DBusHandler
    - std::numeric_limits<double>::quiet_NaN
    - maxValue
    - std::make_unique<AvailabilityIntf>
    - std::string::c_str
    - std::make_unique<ValueIntf>
    - functional
    - pldm::platform_mc::NumericSensor::setSensorUnit
    - minValue
    - std::make_unique<ThresholdCriticalIntf>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::NumericSensor(\n    const pldm_tid_t tid, const
      bool sensorDisabled,\n    std::shared_ptr<pldm_compact_numeric_sensor_pdr> pdr,\n
      \   const std::string& sensorName, const std::string& associationPath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:694,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 703
    functionName: pldm::platform_mc::NumericSensor::conversionFormula
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 14
    functionsReached:
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::conversionFormula(double value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:707,1
    - Dst: std::pow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 712
    functionName: pldm::platform_mc::NumericSensor::unitModifier
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 14
    functionsReached:
    - std::pow
    - std::isfinite
    linkageType: ''
    returnType: double
    signature: double NumericSensor::unitModifier(double value) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:720,1
    - Dst: available
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:725,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:726,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:730,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:734,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:737,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:740,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:741,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:745,1
    - Dst: pldm::platform_mc::NumericSensor::updateThresholds
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:746,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:750,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:757,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:761,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:765,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - available
    - functional
    - value
    argTypes:
    - bool
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 769
    functionName: pldm::platform_mc::NumericSensor::updateReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - std::isfinite
    - functional
    - available
    - pldm::platform_mc::NumericSensor::conversionFormula
    - value
    - pldm::platform_mc::NumericSensor::unitModifier
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::updateThresholds
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateReading(bool available, bool functional,
      double value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:776,1
    - Dst: functional
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:781,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:784,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:788,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: pldm::platform_mc::NumericSensor::handleErrGetSensorReading
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - functional
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    - value
    linkageType: ''
    returnType: void
    signature: void NumericSensor::handleErrGetSensorReading()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - alarm
    - direction
    - value
    - threshold
    - hyst
    argTypes:
    - bool
    - bool
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::NumericSensor::checkThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool NumericSensor::checkThreshold(bool alarm, bool direction, double
      value,\n                                   double threshold, double hyst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 831
    functionName: pldm::platform_mc::NumericSensor::hasThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    linkageType: ''
    returnType: bool
    signature: bool NumericSensor::hasThresholdAlarm()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:838,1
    - Dst: warningHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:841,1
    - Dst: warningHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:845,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:850,1
    - Dst: warningLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:853,1
    - Dst: warningLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 860
    functionName: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - warningAlarmHigh
    - warningHighAlarmDeasserted
    - warningAlarmLow
    - warningLowAlarmAsserted
    - warningLowAlarmDeasserted
    - warningHighAlarmAsserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setWarningThresholdAlarm(pldm::utils::Direction
      direction,\n                                             double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:867,1
    - Dst: criticalHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:870,1
    - Dst: criticalHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:874,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:879,1
    - Dst: criticalLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:882,1
    - Dst: criticalLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - criticalHighAlarmDeasserted
    - criticalLowAlarmAsserted
    - criticalLowAlarmDeasserted
    - criticalHighAlarmAsserted
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setCriticalThresholdAlarm(pldm::utils::Direction
      direction,\n                                              double value, bool
      newAlarm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:896,1
    - Dst: hardShutdownHighAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:899,1
    - Dst: hardShutdownHighAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:903,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:908,1
    - Dst: hardShutdownLowAlarmAsserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:911,1
    - Dst: hardShutdownLowAlarmDeasserted
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 918
    functionName: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 3
    functionsReached:
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - hardShutdownHighAlarmAsserted
    - hardShutdownLowAlarmAsserted
    - hardShutdownLowAlarmDeasserted
    - hardShutdownHighAlarmDeasserted
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::setHardShutdownThresholdAlarm(\n    pldm::utils::Direction
      direction, double value, bool newAlarm)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:924,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:926,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:931,1
    - Dst: pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:939,1
    - Dst: pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:942,1
    - Dst: pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:945,1
    - Dst: pldm::platform_mc::NumericSensor::createThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:952,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:957,1
    - Dst: pldm::platform_mc::NumericSensor::clearThresholdLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:959,1
    - Dst: pldm::platform_mc::NumericSensor::hasThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:962,1
    - Dst: pldm::platform_mc::NumericSensor::createNormalRangeLog
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - level
    - direction
    - value
    - newAlarm
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 968
    functionName: pldm::platform_mc::NumericSensor::setThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 6
    functionsReached:
    - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - pldm::platform_mc::NumericSensor::createThresholdLog
    - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
    - pldm::platform_mc::NumericSensor::hasThresholdAlarm
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - has_value
    - pldm::platform_mc::NumericSensor::createNormalRangeLog
    - lg2::error
    - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
    - pldm::platform_mc::NumericSensor::clearThresholdLog
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::setThresholdAlarm(pldm::utils::Level level,\n                                     pldm::utils::Direction
      direction,\n                                     double value, bool newAlarm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str::empty
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:981,1
    - Dst: lg2::resolve
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:983,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:988,1
    - Dst: reset
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' log'
    argTypes:
    - std::optional<sdbusplus::object_path>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: pldm::platform_mc::NumericSensor::clearThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - str::empty
    - lg2::error
    - reset
    - lg2::resolve
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::clearThresholdLog(\n    std::optional<sdbusplus::object_path>&
      log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1012,1
    - Dst: errorObj
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' sensorObjPath'
    - value
    - sensorUnit
    - threshold
    argTypes:
    - std::string
    - double
    - SensorUnit
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: pldm::platform_mc::logThresholdHelper
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - errorObj
    linkageType: ''
    returnType: auto
    signature: "auto logThresholdHelper(const std::string& sensorObjPath, double value,\n
      \                       SensorUnit sensorUnit, double threshold)\n    -> std::optional<sdbusplus::object_path>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1046,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1049,1
    - Dst: helper
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1051,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - level
    - direction
    - value
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: pldm::platform_mc::NumericSensor::createThresholdLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - std::map::at
    - lg2::error
    - helper
    - pldm::platform_mc::NumericSensor::getThreshold
    linkageType: ''
    returnType: void
    signature: "void NumericSensor::createThresholdLog(\n    pldm::utils::Level level,
      pldm::utils::Direction direction, double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::responder::oem_meta::record::commit
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: Events::SensorReadingNormalRange
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1068,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: pldm::platform_mc::NumericSensor::createNormalRangeLog
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - pldm::responder::oem_meta::record::commit
    - Events::SensorReadingNormalRange
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::createNormalRangeLog(double value) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1082,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1087,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1094,1
    - Dst: value
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1098,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1105,1
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1106,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1110,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1112,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1080
    functionDepth: 3
    functionLinenumber: 1080
    functionLinenumberEnd: 1117
    functionName: pldm::platform_mc::NumericSensor::updateThresholds
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdAlarm
    - std::isfinite
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - pldm::platform_mc::NumericSensor::getThreshold
    - pldm::platform_mc::NumericSensor::checkThreshold
    - value
    - std::numeric_limits<double>::quiet_NaN
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void NumericSensor::updateThresholds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1125,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1131,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1132,1
    - Dst: pldm::platform_mc::NumericSensor::setThresholdAlarm
      Src: /src/pldm/platform-mc/numeric_sensor.cpp:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - eventType
    - direction
    - rawValue
    - newAlarm
    - assert
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1138
    functionName: pldm::platform_mc::NumericSensor::triggerThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::NumericSensor::setThresholdAlarm
    - lg2::error
    - pldm::platform_mc::NumericSensor::unitModifier
    - pldm::platform_mc::NumericSensor::conversionFormula
    linkageType: ''
    returnType: int
    signature: "int NumericSensor::triggerThresholdEvent(\n    pldm::utils::Level
      eventType, pldm::utils::Direction direction,\n    double rawValue, bool newAlarm,
      bool assert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tid
    - supportedTypes
    - ' event'
    argTypes:
    - pldm_tid_t
    - uint64_t
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pldm::platform_mc::Terminus::Terminus
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Terminus::Terminus(pldm_tid_t tid, uint64_t supportedTypes,\n
      \                  sdeventplus::Event& event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/pldm/platform-mc/terminus.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::Terminus::doesSupportType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - test
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportType(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::doesSupportType
      Src: /src/pldm/platform-mc/terminus.cpp:32,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:40,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:47,1
    - Dst: pldm::platform_mc::Terminus::getTid
      Src: /src/pldm/platform-mc/terminus.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - type
    - command
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: pldm::platform_mc::Terminus::doesSupportCommand
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::getTid
    - pldm::platform_mc::Terminus::doesSupportType
    - size
    - lg2::info
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportCommand(uint8_t type, uint8_t command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:63,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:75,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:78,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::Terminus::findTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Terminus::findTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:93,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:100,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::findTerminusEntityType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Terminus::findTerminusEntityType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:114,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/terminus.cpp:128,1
    - Dst: utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/terminus.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tName
    - entityType
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: pldm::platform_mc::Terminus::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - utils::DBusHandler::getBus
    - pldm::dbus_api::createPldmEntity
    - lg2::error
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool Terminus::createInventoryPath(std::string tName, uint16_t entityType)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:154,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:157,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: pldm::platform_mc::Terminus::parseNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:165,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:171,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:179,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:185,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:188,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:191,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:194,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:203,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:206,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:209,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:219,1
    - Dst: pldm::platform_mc::Terminus::findTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:225,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:226,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:228,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:229,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:233,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:235,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:240,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 245
    functionName: pldm::platform_mc::Terminus::parseTerminusPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::parseNumericSensorPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    - std::move
    - lg2::info
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm::platform_mc::Terminus::findTerminusName
    - lg2::error
    - emplace_back
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::createInventoryPath
    - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    - empty
    - data
    - auto::value
    - static_cast<uint32_t>
    - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    - static_cast<std::string>
    - std::format
    linkageType: ''
    returnType: void
    signature: void Terminus::parseTerminusPDRs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus.cpp:249,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:251,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:253,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:261,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:265,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:271,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:274,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 286
    functionName: pldm::platform_mc::Terminus::addNextSensorFromPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - empty
    - size
    - std::bind
    - std::mem_fn
    - std::make_unique<sdeventplus::source::Defer>
    - reset
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Terminus::addNextSensorFromPDRs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:291,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::getSensorAuxiliaryNames(\n
      \   SensorID id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:311,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:312,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/terminus.cpp:319,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: std::string_view::size
      Src: /src/pldm/platform-mc/terminus.cpp:327,1
    - Dst: std::fill
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::begin
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::end
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:340,1
    - Dst: memcpy
      Src: /src/pldm/platform-mc/terminus.cpp:343,1
    - Dst: std::u16string::size
      Src: /src/pldm/platform-mc/terminus.cpp:345,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:347,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:348,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:361,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:363,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:368,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:372,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 374
    functionName: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::trimNameForDbus
    - be16toh
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - std::u16string::size
    - what
    - std::fill
    - std::views::iota
    - std::make_shared<SensorAuxiliaryNames>
    - static_cast<int>
    - std::string_view::size
    - lg2::error
    - std::end
    - static_cast<uint8_t>
    - std::u16string::cbegin
    - std::u16string::cend
    - memcpy
    - reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
    - std::begin
    - data
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseSensorAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:381,1
    - Dst: std::vector<char>
      Src: /src/pldm/platform-mc/terminus.cpp:385,1
    - Dst: std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:394,1
    - Dst: std::vector<pldm_entity_auxiliary_name>
      Src: /src/pldm/platform-mc/terminus.cpp:401,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:402,1
    - Dst: decode_pldm_entity_auxiliary_names_pdr_index
      Src: /src/pldm/platform-mc/terminus.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:407,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<std::string_view>
      Src: /src/pldm/platform-mc/terminus.cpp:417,1
    - Dst: pldm::dbus::Cable::length
      Src: /src/pldm/platform-mc/terminus.cpp:419,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:423,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:424,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:430,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:436,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:438,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:443,1
    - Dst: std::make_shared<EntityAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 451
    functionName: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::trimNameForDbus
    - std::make_shared<EntityAuxiliaryNames>
    - std::vector<char>
    - be16toh
    - std::make_pair
    - what
    - size
    - std::views::iota
    - auto::data
    - static_cast<int>
    - decode_pldm_entity_auxiliary_names_pdr_index
    - lg2::error
    - pldm::dbus::Cable::length
    - static_cast<std::string_view>
    - std::vector<pldm_entity_auxiliary_name>
    - std::u16string::cbegin
    - std::u16string::cend
    - data
    - std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    - decode_entity_auxiliary_names_pdr
    linkageType: ''
    returnType: std::shared_ptr<EntityAuxiliaryNames>
    signature: "std::shared_ptr<EntityAuxiliaryNames> Terminus::parseEntityAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:456,1
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:457,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: pldm::platform_mc::Terminus::parseNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - auto::get
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - decode_numeric_sensor_pdr_data
    linkageType: ''
    returnType: std::shared_ptr<pldm_numeric_sensor_value_pdr>
    signature: "std::shared_ptr<pldm_numeric_sensor_value_pdr> Terminus::parseNumericSensorPDR(\n
      \   const std::vector<uint8_t>& pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:471,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:474,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:478,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:480,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:482,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:485,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:488,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:492,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:494,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:499,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 505
    functionName: pldm::platform_mc::Terminus::addNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addNumericSensor(\n    const std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:517,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:524,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/terminus.cpp:530,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:532,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:536,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::trimNameForDbus
    - reinterpret_cast<const char*>
    - size
    - data
    - std::make_shared<SensorAuxiliaryNames>
    - AuxiliaryNames::emplace_back
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseCompactNumericSensorNames(\n
      \   const std::vector<uint8_t>& sPdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:545,1
    - Dst: std::make_shared<pldm_compact_numeric_sensor_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    - size
    - data
    - std::make_shared<pldm_compact_numeric_sensor_pdr>
    linkageType: ''
    returnType: std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    signature: std::shared_ptr<pldm_compact_numeric_sensor_pdr> Terminus::parseCompactNumericSensorPDR(const
      std::vector<uint8_t>& sPdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:577,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:580,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:584,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:586,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:588,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:591,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:594,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:598,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:600,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:601,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:605,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: pldm::platform_mc::Terminus::addCompactNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addCompactNumericSensor(\n    const std::shared_ptr<pldm_compact_numeric_sensor_pdr>
      pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:615,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:617,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 643
    functionName: pldm::platform_mc::Terminus::getSensorObject
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - empty
    - lg2::error
    - size
    linkageType: ''
    returnType: std::shared_ptr<NumericSensor>
    signature: std::shared_ptr<NumericSensor> Terminus::getSensorObject(SensorID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - p
    - tableSize
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: pldm::platform_mc::isTableEnd
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool isTableEnd(const uint8_t* table, const uint8_t* p,\n                       const
      size_t tableSize)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::getTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:660,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:663,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:670,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:672,1
    - Dst: isTableEnd
      Src: /src/pldm/platform-mc/terminus.cpp:676,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/platform-mc/terminus.cpp:678,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:684,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:693,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:700,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:709,1
    - Dst: pldm::utils::fruFieldValuestring
      Src: /src/pldm/platform-mc/terminus.cpp:714,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:720,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:722,1
    - Dst: model
      Src: /src/pldm/platform-mc/terminus.cpp:732,1
    - Dst: partNumber
      Src: /src/pldm/platform-mc/terminus.cpp:735,1
    - Dst: serialNumber
      Src: /src/pldm/platform-mc/terminus.cpp:738,1
    - Dst: manufacturer
      Src: /src/pldm/platform-mc/terminus.cpp:741,1
    - Dst: names
      Src: /src/pldm/platform-mc/terminus.cpp:744,1
    - Dst: version
      Src: /src/pldm/platform-mc/terminus.cpp:747,1
    - Dst: assetTag
      Src: /src/pldm/platform-mc/terminus.cpp:750,1
    - Dst: pldm::utils::fruFieldParserU32
      Src: /src/pldm/platform-mc/terminus.cpp:761,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 772
    functionName: pldm::platform_mc::Terminus::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - isTableEnd
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - static_cast<std::string>
    - pldm::utils::fruFieldParserU32
    - names
    - lg2::info
    - std::views::iota
    - partNumber
    - static_cast<int>
    - pldm::utils::fruFieldValuestring
    - lg2::error
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - auto::value
    - pldm::platform_mc::Terminus::createInventoryPath
    - std::string::empty
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - assetTag
    - version
    - pldm::platform_mc::Terminus::getTerminusName
    - serialNumber
    - model
    linkageType: ''
    returnType: void
    signature: "void Terminus::updateInventoryWithFru(const uint8_t* fruData,\n                                      const
      size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: unsigned
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:780,1
    - Dst: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/terminus.cpp:782,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus.cpp:796,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:801,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:803,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus.cpp:807,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::Terminus::getSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - empty
    - std::views::iota
    - static_cast<int>
    - unsigned
    - std::vector::emplace_back
    - std::vector::size
    - std::to_string
    - std::format
    - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Terminus::getSensorNames(const SensorID& sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tid
    - supportedTypes
    - ' event'
    argTypes:
    - pldm_tid_t
    - uint64_t
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pldm::platform_mc::Terminus::Terminus
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Terminus::Terminus(pldm_tid_t tid, uint64_t supportedTypes,\n
      \                  sdeventplus::Event& event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/pldm/platform-mc/terminus.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::Terminus::doesSupportType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - test
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportType(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::doesSupportType
      Src: /src/pldm/platform-mc/terminus.cpp:32,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:40,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:47,1
    - Dst: pldm::platform_mc::Terminus::getTid
      Src: /src/pldm/platform-mc/terminus.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - type
    - command
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: pldm::platform_mc::Terminus::doesSupportCommand
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::getTid
    - pldm::platform_mc::Terminus::doesSupportType
    - size
    - lg2::info
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportCommand(uint8_t type, uint8_t command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:63,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:75,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:78,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::Terminus::findTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Terminus::findTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:93,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:100,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::findTerminusEntityType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Terminus::findTerminusEntityType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:114,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/terminus.cpp:128,1
    - Dst: utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/terminus.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tName
    - entityType
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: pldm::platform_mc::Terminus::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - utils::DBusHandler::getBus
    - pldm::dbus_api::createPldmEntity
    - lg2::error
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool Terminus::createInventoryPath(std::string tName, uint16_t entityType)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:154,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:157,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: pldm::platform_mc::Terminus::parseNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:165,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:171,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:179,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:185,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:188,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:191,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:194,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:203,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:206,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:209,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:219,1
    - Dst: pldm::platform_mc::Terminus::findTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:225,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:226,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:228,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:229,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:233,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:235,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:240,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 245
    functionName: pldm::platform_mc::Terminus::parseTerminusPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::parseNumericSensorPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    - std::move
    - lg2::info
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm::platform_mc::Terminus::findTerminusName
    - lg2::error
    - emplace_back
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::createInventoryPath
    - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    - empty
    - data
    - auto::value
    - static_cast<uint32_t>
    - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    - static_cast<std::string>
    - std::format
    linkageType: ''
    returnType: void
    signature: void Terminus::parseTerminusPDRs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus.cpp:249,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:251,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:253,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:261,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:265,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:271,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:274,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 286
    functionName: pldm::platform_mc::Terminus::addNextSensorFromPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - empty
    - size
    - std::bind
    - std::mem_fn
    - std::make_unique<sdeventplus::source::Defer>
    - reset
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Terminus::addNextSensorFromPDRs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:291,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::getSensorAuxiliaryNames(\n
      \   SensorID id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:311,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:312,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/terminus.cpp:319,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: std::string_view::size
      Src: /src/pldm/platform-mc/terminus.cpp:327,1
    - Dst: std::fill
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::begin
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::end
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:340,1
    - Dst: memcpy
      Src: /src/pldm/platform-mc/terminus.cpp:343,1
    - Dst: std::u16string::size
      Src: /src/pldm/platform-mc/terminus.cpp:345,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:347,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:348,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:361,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:363,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:368,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:372,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 374
    functionName: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::trimNameForDbus
    - be16toh
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - std::u16string::size
    - what
    - std::fill
    - std::views::iota
    - std::make_shared<SensorAuxiliaryNames>
    - static_cast<int>
    - std::string_view::size
    - lg2::error
    - std::end
    - static_cast<uint8_t>
    - std::u16string::cbegin
    - std::u16string::cend
    - memcpy
    - reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
    - std::begin
    - data
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseSensorAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:381,1
    - Dst: std::vector<char>
      Src: /src/pldm/platform-mc/terminus.cpp:385,1
    - Dst: std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:394,1
    - Dst: std::vector<pldm_entity_auxiliary_name>
      Src: /src/pldm/platform-mc/terminus.cpp:401,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:402,1
    - Dst: decode_pldm_entity_auxiliary_names_pdr_index
      Src: /src/pldm/platform-mc/terminus.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:407,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<std::string_view>
      Src: /src/pldm/platform-mc/terminus.cpp:417,1
    - Dst: pldm::dbus::Cable::length
      Src: /src/pldm/platform-mc/terminus.cpp:419,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:423,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:424,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:430,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:436,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:438,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:443,1
    - Dst: std::make_shared<EntityAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 451
    functionName: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::trimNameForDbus
    - std::make_shared<EntityAuxiliaryNames>
    - std::vector<char>
    - be16toh
    - std::make_pair
    - what
    - size
    - std::views::iota
    - auto::data
    - static_cast<int>
    - decode_pldm_entity_auxiliary_names_pdr_index
    - lg2::error
    - pldm::dbus::Cable::length
    - static_cast<std::string_view>
    - std::vector<pldm_entity_auxiliary_name>
    - std::u16string::cbegin
    - std::u16string::cend
    - data
    - std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    - decode_entity_auxiliary_names_pdr
    linkageType: ''
    returnType: std::shared_ptr<EntityAuxiliaryNames>
    signature: "std::shared_ptr<EntityAuxiliaryNames> Terminus::parseEntityAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:456,1
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:457,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: pldm::platform_mc::Terminus::parseNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - auto::get
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - decode_numeric_sensor_pdr_data
    linkageType: ''
    returnType: std::shared_ptr<pldm_numeric_sensor_value_pdr>
    signature: "std::shared_ptr<pldm_numeric_sensor_value_pdr> Terminus::parseNumericSensorPDR(\n
      \   const std::vector<uint8_t>& pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:471,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:474,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:478,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:480,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:482,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:485,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:488,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:492,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:494,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:499,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 505
    functionName: pldm::platform_mc::Terminus::addNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addNumericSensor(\n    const std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:517,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:524,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/terminus.cpp:530,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:532,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:536,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::trimNameForDbus
    - reinterpret_cast<const char*>
    - size
    - data
    - std::make_shared<SensorAuxiliaryNames>
    - AuxiliaryNames::emplace_back
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseCompactNumericSensorNames(\n
      \   const std::vector<uint8_t>& sPdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:545,1
    - Dst: std::make_shared<pldm_compact_numeric_sensor_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    - size
    - data
    - std::make_shared<pldm_compact_numeric_sensor_pdr>
    linkageType: ''
    returnType: std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    signature: std::shared_ptr<pldm_compact_numeric_sensor_pdr> Terminus::parseCompactNumericSensorPDR(const
      std::vector<uint8_t>& sPdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:577,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:580,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:584,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:586,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:588,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:591,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:594,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:598,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:600,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:601,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:605,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: pldm::platform_mc::Terminus::addCompactNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addCompactNumericSensor(\n    const std::shared_ptr<pldm_compact_numeric_sensor_pdr>
      pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:615,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:617,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 643
    functionName: pldm::platform_mc::Terminus::getSensorObject
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - empty
    - lg2::error
    - size
    linkageType: ''
    returnType: std::shared_ptr<NumericSensor>
    signature: std::shared_ptr<NumericSensor> Terminus::getSensorObject(SensorID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - p
    - tableSize
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: pldm::platform_mc::isTableEnd
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool isTableEnd(const uint8_t* table, const uint8_t* p,\n                       const
      size_t tableSize)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::getTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:660,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:663,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:670,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:672,1
    - Dst: isTableEnd
      Src: /src/pldm/platform-mc/terminus.cpp:676,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/platform-mc/terminus.cpp:678,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:684,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:693,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:700,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:709,1
    - Dst: pldm::utils::fruFieldValuestring
      Src: /src/pldm/platform-mc/terminus.cpp:714,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:720,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:722,1
    - Dst: model
      Src: /src/pldm/platform-mc/terminus.cpp:732,1
    - Dst: partNumber
      Src: /src/pldm/platform-mc/terminus.cpp:735,1
    - Dst: serialNumber
      Src: /src/pldm/platform-mc/terminus.cpp:738,1
    - Dst: manufacturer
      Src: /src/pldm/platform-mc/terminus.cpp:741,1
    - Dst: names
      Src: /src/pldm/platform-mc/terminus.cpp:744,1
    - Dst: version
      Src: /src/pldm/platform-mc/terminus.cpp:747,1
    - Dst: assetTag
      Src: /src/pldm/platform-mc/terminus.cpp:750,1
    - Dst: pldm::utils::fruFieldParserU32
      Src: /src/pldm/platform-mc/terminus.cpp:761,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 772
    functionName: pldm::platform_mc::Terminus::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - isTableEnd
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - static_cast<std::string>
    - pldm::utils::fruFieldParserU32
    - names
    - lg2::info
    - std::views::iota
    - partNumber
    - static_cast<int>
    - pldm::utils::fruFieldValuestring
    - lg2::error
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - auto::value
    - pldm::platform_mc::Terminus::createInventoryPath
    - std::string::empty
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - assetTag
    - version
    - pldm::platform_mc::Terminus::getTerminusName
    - serialNumber
    - model
    linkageType: ''
    returnType: void
    signature: "void Terminus::updateInventoryWithFru(const uint8_t* fruData,\n                                      const
      size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: unsigned
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:780,1
    - Dst: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/terminus.cpp:782,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus.cpp:796,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:801,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:803,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus.cpp:807,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::Terminus::getSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - empty
    - std::views::iota
    - static_cast<int>
    - unsigned
    - std::vector::emplace_back
    - std::vector::size
    - std::to_string
    - std::format
    - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Terminus::getSensorNames(const SensorID& sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tid
    - supportedTypes
    - ' event'
    argTypes:
    - pldm_tid_t
    - uint64_t
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pldm::platform_mc::Terminus::Terminus
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Terminus::Terminus(pldm_tid_t tid, uint64_t supportedTypes,\n
      \                  sdeventplus::Event& event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/pldm/platform-mc/terminus.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::Terminus::doesSupportType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - test
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportType(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::doesSupportType
      Src: /src/pldm/platform-mc/terminus.cpp:32,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:40,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:47,1
    - Dst: pldm::platform_mc::Terminus::getTid
      Src: /src/pldm/platform-mc/terminus.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - type
    - command
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: pldm::platform_mc::Terminus::doesSupportCommand
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::getTid
    - pldm::platform_mc::Terminus::doesSupportType
    - size
    - lg2::info
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportCommand(uint8_t type, uint8_t command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:63,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:75,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:78,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::Terminus::findTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Terminus::findTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:93,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:100,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::findTerminusEntityType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Terminus::findTerminusEntityType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:114,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/terminus.cpp:128,1
    - Dst: utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/terminus.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tName
    - entityType
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: pldm::platform_mc::Terminus::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - utils::DBusHandler::getBus
    - pldm::dbus_api::createPldmEntity
    - lg2::error
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool Terminus::createInventoryPath(std::string tName, uint16_t entityType)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:154,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:157,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: pldm::platform_mc::Terminus::parseNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:165,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:171,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:179,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:185,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:188,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:191,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:194,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:203,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:206,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:209,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:219,1
    - Dst: pldm::platform_mc::Terminus::findTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:225,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:226,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:228,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:229,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:233,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:235,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:240,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 245
    functionName: pldm::platform_mc::Terminus::parseTerminusPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::parseNumericSensorPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    - std::move
    - lg2::info
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm::platform_mc::Terminus::findTerminusName
    - lg2::error
    - emplace_back
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::createInventoryPath
    - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    - empty
    - data
    - auto::value
    - static_cast<uint32_t>
    - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    - static_cast<std::string>
    - std::format
    linkageType: ''
    returnType: void
    signature: void Terminus::parseTerminusPDRs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus.cpp:249,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:251,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:253,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:261,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:265,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:271,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:274,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 286
    functionName: pldm::platform_mc::Terminus::addNextSensorFromPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 7
    functionsReached:
    - empty
    - size
    - std::bind
    - std::mem_fn
    - std::make_unique<sdeventplus::source::Defer>
    - reset
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Terminus::addNextSensorFromPDRs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:291,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::getSensorAuxiliaryNames(\n
      \   SensorID id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:311,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:312,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/terminus.cpp:319,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: std::string_view::size
      Src: /src/pldm/platform-mc/terminus.cpp:327,1
    - Dst: std::fill
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::begin
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::end
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:340,1
    - Dst: memcpy
      Src: /src/pldm/platform-mc/terminus.cpp:343,1
    - Dst: std::u16string::size
      Src: /src/pldm/platform-mc/terminus.cpp:345,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:347,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:348,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:361,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:363,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:368,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:372,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 374
    functionName: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::trimNameForDbus
    - be16toh
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - std::u16string::size
    - what
    - std::fill
    - std::views::iota
    - std::make_shared<SensorAuxiliaryNames>
    - static_cast<int>
    - std::string_view::size
    - lg2::error
    - std::end
    - static_cast<uint8_t>
    - std::u16string::cbegin
    - std::u16string::cend
    - memcpy
    - reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
    - std::begin
    - data
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseSensorAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:381,1
    - Dst: std::vector<char>
      Src: /src/pldm/platform-mc/terminus.cpp:385,1
    - Dst: std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:394,1
    - Dst: std::vector<pldm_entity_auxiliary_name>
      Src: /src/pldm/platform-mc/terminus.cpp:401,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:402,1
    - Dst: decode_pldm_entity_auxiliary_names_pdr_index
      Src: /src/pldm/platform-mc/terminus.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:407,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<std::string_view>
      Src: /src/pldm/platform-mc/terminus.cpp:417,1
    - Dst: pldm::dbus::Cable::length
      Src: /src/pldm/platform-mc/terminus.cpp:419,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:423,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:424,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:430,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:436,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:438,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:443,1
    - Dst: std::make_shared<EntityAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 451
    functionName: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::trimNameForDbus
    - std::make_shared<EntityAuxiliaryNames>
    - std::vector<char>
    - be16toh
    - std::make_pair
    - what
    - size
    - std::views::iota
    - auto::data
    - static_cast<int>
    - decode_pldm_entity_auxiliary_names_pdr_index
    - lg2::error
    - pldm::dbus::Cable::length
    - static_cast<std::string_view>
    - std::vector<pldm_entity_auxiliary_name>
    - std::u16string::cbegin
    - std::u16string::cend
    - data
    - std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    - decode_entity_auxiliary_names_pdr
    linkageType: ''
    returnType: std::shared_ptr<EntityAuxiliaryNames>
    signature: "std::shared_ptr<EntityAuxiliaryNames> Terminus::parseEntityAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:456,1
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:457,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: pldm::platform_mc::Terminus::parseNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - auto::get
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - decode_numeric_sensor_pdr_data
    linkageType: ''
    returnType: std::shared_ptr<pldm_numeric_sensor_value_pdr>
    signature: "std::shared_ptr<pldm_numeric_sensor_value_pdr> Terminus::parseNumericSensorPDR(\n
      \   const std::vector<uint8_t>& pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:471,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:474,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:478,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:480,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:482,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:485,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:488,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:492,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:494,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:499,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 505
    functionName: pldm::platform_mc::Terminus::addNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addNumericSensor(\n    const std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:517,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:524,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/terminus.cpp:530,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:532,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:536,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::trimNameForDbus
    - reinterpret_cast<const char*>
    - size
    - data
    - std::make_shared<SensorAuxiliaryNames>
    - AuxiliaryNames::emplace_back
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseCompactNumericSensorNames(\n
      \   const std::vector<uint8_t>& sPdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:545,1
    - Dst: std::make_shared<pldm_compact_numeric_sensor_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    - size
    - data
    - std::make_shared<pldm_compact_numeric_sensor_pdr>
    linkageType: ''
    returnType: std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    signature: std::shared_ptr<pldm_compact_numeric_sensor_pdr> Terminus::parseCompactNumericSensorPDR(const
      std::vector<uint8_t>& sPdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:577,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:580,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:584,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:586,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:588,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:591,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:594,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:598,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:600,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:601,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:605,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: pldm::platform_mc::Terminus::addCompactNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addCompactNumericSensor(\n    const std::shared_ptr<pldm_compact_numeric_sensor_pdr>
      pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:615,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:617,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 643
    functionName: pldm::platform_mc::Terminus::getSensorObject
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - empty
    - lg2::error
    - size
    linkageType: ''
    returnType: std::shared_ptr<NumericSensor>
    signature: std::shared_ptr<NumericSensor> Terminus::getSensorObject(SensorID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - p
    - tableSize
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: pldm::platform_mc::isTableEnd
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool isTableEnd(const uint8_t* table, const uint8_t* p,\n                       const
      size_t tableSize)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::getTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:660,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:663,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:670,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:672,1
    - Dst: isTableEnd
      Src: /src/pldm/platform-mc/terminus.cpp:676,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/platform-mc/terminus.cpp:678,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:684,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:693,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:700,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:709,1
    - Dst: pldm::utils::fruFieldValuestring
      Src: /src/pldm/platform-mc/terminus.cpp:714,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:720,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:722,1
    - Dst: model
      Src: /src/pldm/platform-mc/terminus.cpp:732,1
    - Dst: partNumber
      Src: /src/pldm/platform-mc/terminus.cpp:735,1
    - Dst: serialNumber
      Src: /src/pldm/platform-mc/terminus.cpp:738,1
    - Dst: manufacturer
      Src: /src/pldm/platform-mc/terminus.cpp:741,1
    - Dst: names
      Src: /src/pldm/platform-mc/terminus.cpp:744,1
    - Dst: version
      Src: /src/pldm/platform-mc/terminus.cpp:747,1
    - Dst: assetTag
      Src: /src/pldm/platform-mc/terminus.cpp:750,1
    - Dst: pldm::utils::fruFieldParserU32
      Src: /src/pldm/platform-mc/terminus.cpp:761,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 772
    functionName: pldm::platform_mc::Terminus::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - isTableEnd
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - static_cast<std::string>
    - pldm::utils::fruFieldParserU32
    - names
    - lg2::info
    - std::views::iota
    - partNumber
    - static_cast<int>
    - pldm::utils::fruFieldValuestring
    - lg2::error
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - auto::value
    - pldm::platform_mc::Terminus::createInventoryPath
    - std::string::empty
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - assetTag
    - version
    - pldm::platform_mc::Terminus::getTerminusName
    - serialNumber
    - model
    linkageType: ''
    returnType: void
    signature: "void Terminus::updateInventoryWithFru(const uint8_t* fruData,\n                                      const
      size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: unsigned
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:780,1
    - Dst: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/terminus.cpp:782,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus.cpp:796,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:801,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:803,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus.cpp:807,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::Terminus::getSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 6
    functionsReached:
    - empty
    - std::views::iota
    - static_cast<int>
    - unsigned
    - std::vector::emplace_back
    - std::vector::size
    - std::to_string
    - std::format
    - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Terminus::getSensorNames(const SensorID& sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tid
    - supportedTypes
    - ' event'
    argTypes:
    - pldm_tid_t
    - uint64_t
    - sdeventplus::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pldm::platform_mc::Terminus::Terminus
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Terminus::Terminus(pldm_tid_t tid, uint64_t supportedTypes,\n
      \                  sdeventplus::Event& event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/pldm/platform-mc/terminus.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::Terminus::doesSupportType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - test
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportType(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::doesSupportType
      Src: /src/pldm/platform-mc/terminus.cpp:32,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:40,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:47,1
    - Dst: pldm::platform_mc::Terminus::getTid
      Src: /src/pldm/platform-mc/terminus.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - type
    - command
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: pldm::platform_mc::Terminus::doesSupportCommand
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::getTid
    - pldm::platform_mc::Terminus::doesSupportType
    - size
    - lg2::info
    linkageType: ''
    returnType: bool
    signature: bool Terminus::doesSupportCommand(uint8_t type, uint8_t command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:63,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:75,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:78,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::Terminus::findTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> Terminus::findTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:93,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:94,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:100,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::findTerminusEntityType
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 6
    functionsReached:
    - end
    - size
    - std::find_if
    - begin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Terminus::findTerminusEntityType()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:114,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/terminus.cpp:128,1
    - Dst: utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/terminus.cpp:129,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - tName
    - entityType
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: pldm::platform_mc::Terminus::createInventoryPath
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 6
    functionsReached:
    - utils::DBusHandler::getBus
    - pldm::dbus_api::createPldmEntity
    - lg2::error
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool Terminus::createInventoryPath(std::string tName, uint16_t entityType)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:146,1
    - Dst: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:151,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:154,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:157,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:160,1
    - Dst: pldm::platform_mc::Terminus::parseNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:165,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:168,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:171,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:174,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
      Src: /src/pldm/platform-mc/terminus.cpp:179,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:185,1
    - Dst: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:188,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:191,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:194,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:197,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:198,1
    - Dst: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
      Src: /src/pldm/platform-mc/terminus.cpp:203,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:206,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:209,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:212,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:217,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/platform-mc/terminus.cpp:219,1
    - Dst: pldm::platform_mc::Terminus::findTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:225,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:226,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:228,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:229,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:230,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:233,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:235,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:238,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:240,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 245
    functionName: pldm::platform_mc::Terminus::parseTerminusPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::Terminus::parseNumericSensorPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    - std::move
    - lg2::info
    - std::start_lifetime_as<pldm_pdr_hdr>
    - pldm::platform_mc::Terminus::findTerminusName
    - lg2::error
    - emplace_back
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::createInventoryPath
    - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    - empty
    - data
    - auto::value
    - static_cast<uint32_t>
    - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    - static_cast<std::string>
    - std::format
    linkageType: ''
    returnType: void
    signature: void Terminus::parseTerminusPDRs()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus.cpp:249,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:251,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:253,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:261,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:265,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:267,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:269,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:271,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/platform-mc/terminus.cpp:274,1
    - Dst: std::bind
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    - Dst: std::mem_fn
      Src: /src/pldm/platform-mc/terminus.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 286
    functionName: pldm::platform_mc::Terminus::addNextSensorFromPDRs
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 10
    functionsReached:
    - empty
    - size
    - std::bind
    - std::mem_fn
    - std::make_unique<sdeventplus::source::Defer>
    - reset
    - lg2::error
    linkageType: ''
    returnType: void
    signature: void Terminus::addNextSensorFromPDRs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus.cpp:291,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:292,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 3
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::getSensorAuxiliaryNames(\n
      \   SensorID id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:311,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:312,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:317,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/platform-mc/terminus.cpp:319,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:323,1
    - Dst: std::string_view::size
      Src: /src/pldm/platform-mc/terminus.cpp:327,1
    - Dst: std::fill
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::begin
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: std::end
      Src: /src/pldm/platform-mc/terminus.cpp:337,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:340,1
    - Dst: memcpy
      Src: /src/pldm/platform-mc/terminus.cpp:343,1
    - Dst: std::u16string::size
      Src: /src/pldm/platform-mc/terminus.cpp:345,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:346,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:347,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:348,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:355,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:361,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:363,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:367,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:368,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:370,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:372,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 374
    functionName: pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::trimNameForDbus
    - be16toh
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - std::u16string::size
    - what
    - std::fill
    - std::views::iota
    - std::make_shared<SensorAuxiliaryNames>
    - static_cast<int>
    - std::string_view::size
    - lg2::error
    - std::end
    - static_cast<uint8_t>
    - std::u16string::cbegin
    - std::u16string::cend
    - memcpy
    - reinterpret_cast<const struct pldm_sensor_auxiliary_names_pdr*>
    - std::begin
    - data
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseSensorAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:381,1
    - Dst: std::vector<char>
      Src: /src/pldm/platform-mc/terminus.cpp:385,1
    - Dst: std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:387,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:389,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:394,1
    - Dst: std::vector<pldm_entity_auxiliary_name>
      Src: /src/pldm/platform-mc/terminus.cpp:401,1
    - Dst: auto::data
      Src: /src/pldm/platform-mc/terminus.cpp:402,1
    - Dst: decode_pldm_entity_auxiliary_names_pdr_index
      Src: /src/pldm/platform-mc/terminus.cpp:404,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:407,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:414,1
    - Dst: static_cast<std::string_view>
      Src: /src/pldm/platform-mc/terminus.cpp:417,1
    - Dst: pldm::dbus::Cable::length
      Src: /src/pldm/platform-mc/terminus.cpp:419,1
    - Dst: std::transform
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::cend
      Src: /src/pldm/platform-mc/terminus.cpp:422,1
    - Dst: std::u16string::begin
      Src: /src/pldm/platform-mc/terminus.cpp:423,1
    - Dst: be16toh
      Src: /src/pldm/platform-mc/terminus.cpp:424,1
    - Dst: to_bytes
      Src: /src/pldm/platform-mc/terminus.cpp:430,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:436,1
    - Dst: what
      Src: /src/pldm/platform-mc/terminus.cpp:438,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:442,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:443,1
    - Dst: std::make_shared<EntityAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' pdrData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 451
    functionName: pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::trimNameForDbus
    - std::make_shared<EntityAuxiliaryNames>
    - std::vector<char>
    - be16toh
    - std::make_pair
    - what
    - size
    - std::views::iota
    - auto::data
    - static_cast<int>
    - decode_pldm_entity_auxiliary_names_pdr_index
    - lg2::error
    - pldm::dbus::Cable::length
    - static_cast<std::string_view>
    - std::vector<pldm_entity_auxiliary_name>
    - std::u16string::cbegin
    - std::u16string::cend
    - data
    - std::start_lifetime_as<pldm_entity_auxiliary_names_pdr>
    - to_bytes
    - AuxiliaryNames::emplace_back
    - std::u16string::begin
    - std::transform
    - decode_entity_auxiliary_names_pdr
    linkageType: ''
    returnType: std::shared_ptr<EntityAuxiliaryNames>
    signature: "std::shared_ptr<EntityAuxiliaryNames> Terminus::parseEntityAuxiliaryNamesPDR(\n
      \   const std::vector<uint8_t>& pdrData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:456,1
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:457,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/terminus.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' pdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: pldm::platform_mc::Terminus::parseNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - size
    - data
    - auto::get
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - decode_numeric_sensor_pdr_data
    linkageType: ''
    returnType: std::shared_ptr<pldm_numeric_sensor_value_pdr>
    signature: "std::shared_ptr<pldm_numeric_sensor_value_pdr> Terminus::parseNumericSensorPDR(\n
      \   const std::vector<uint8_t>& pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:471,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:474,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:478,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:480,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:482,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:485,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:488,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:492,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:494,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:495,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:499,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_numeric_sensor_value_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 505
    functionName: pldm::platform_mc::Terminus::addNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addNumericSensor(\n    const std::shared_ptr<pldm_numeric_sensor_value_pdr>
      pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:515,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:517,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:524,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/terminus.cpp:530,1
    - Dst: AuxiliaryNames::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:532,1
    - Dst: std::make_pair
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: pldm::utils::trimNameForDbus
      Src: /src/pldm/platform-mc/terminus.cpp:533,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:534,1
    - Dst: std::make_shared<SensorAuxiliaryNames>
      Src: /src/pldm/platform-mc/terminus.cpp:536,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus.cpp:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 538
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::trimNameForDbus
    - reinterpret_cast<const char*>
    - size
    - data
    - std::make_shared<SensorAuxiliaryNames>
    - AuxiliaryNames::emplace_back
    - std::make_pair
    - std::vector::emplace_back
    - std::move
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    linkageType: ''
    returnType: std::shared_ptr<SensorAuxiliaryNames>
    signature: "std::shared_ptr<SensorAuxiliaryNames> Terminus::parseCompactNumericSensorNames(\n
      \   const std::vector<uint8_t>& sPdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus.cpp:544,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:545,1
    - Dst: std::make_shared<pldm_compact_numeric_sensor_pdr>
      Src: /src/pldm/platform-mc/terminus.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ' sPdr'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const pldm_compact_numeric_sensor_pdr*>
    - size
    - data
    - std::make_shared<pldm_compact_numeric_sensor_pdr>
    linkageType: ''
    returnType: std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    signature: std::shared_ptr<pldm_compact_numeric_sensor_pdr> Terminus::parseCompactNumericSensorPDR(const
      std::vector<uint8_t>& sPdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:577,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:580,1
    - Dst: pldm::platform_mc::Terminus::getSensorNames
      Src: /src/pldm/platform-mc/terminus.cpp:584,1
    - Dst: auto::empty
      Src: /src/pldm/platform-mc/terminus.cpp:586,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:588,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:591,1
    - Dst: auto::front
      Src: /src/pldm/platform-mc/terminus.cpp:594,1
    - Dst: std::make_shared<NumericSensor>
      Src: /src/pldm/platform-mc/terminus.cpp:598,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:600,1
    - Dst: emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:601,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:605,1
    - Dst: pldm::platform_mc::Terminus::addNextSensorFromPDRs
      Src: /src/pldm/platform-mc/terminus.cpp:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - std::shared_ptr<pldm_compact_numeric_sensor_pdr>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: pldm::platform_mc::Terminus::addCompactNumericSensor
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - auto::front
    - pldm::platform_mc::Terminus::addNextSensorFromPDRs
    - pldm::platform_mc::Terminus::getSensorNames
    - auto::empty
    - std::make_shared<NumericSensor>
    - lg2::error
    - lg2::info
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void Terminus::addCompactNumericSensor(\n    const std::shared_ptr<pldm_compact_numeric_sensor_pdr>
      pdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:615,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:617,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.cpp:622,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 643
    functionName: pldm::platform_mc::Terminus::getSensorObject
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - empty
    - lg2::error
    - size
    linkageType: ''
    returnType: std::shared_ptr<NumericSensor>
    signature: std::shared_ptr<NumericSensor> Terminus::getSensorObject(SensorID id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - p
    - tableSize
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: pldm::platform_mc::isTableEnd
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool isTableEnd(const uint8_t* table, const uint8_t* p,\n                       const
      size_t tableSize)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Terminus::getTerminusName
      Src: /src/pldm/platform-mc/terminus.cpp:660,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:661,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:663,1
    - Dst: pldm::platform_mc::Terminus::createInventoryPath
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:669,1
    - Dst: pldm::platform_mc::Terminus::findTerminusEntityType
      Src: /src/pldm/platform-mc/terminus.cpp:670,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus.cpp:672,1
    - Dst: isTableEnd
      Src: /src/pldm/platform-mc/terminus.cpp:676,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/platform-mc/terminus.cpp:678,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:684,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.cpp:693,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:698,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:700,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:707,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/platform-mc/terminus.cpp:709,1
    - Dst: pldm::utils::fruFieldValuestring
      Src: /src/pldm/platform-mc/terminus.cpp:714,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus.cpp:720,1
    - Dst: std::string::empty
      Src: /src/pldm/platform-mc/terminus.cpp:722,1
    - Dst: model
      Src: /src/pldm/platform-mc/terminus.cpp:732,1
    - Dst: partNumber
      Src: /src/pldm/platform-mc/terminus.cpp:735,1
    - Dst: serialNumber
      Src: /src/pldm/platform-mc/terminus.cpp:738,1
    - Dst: manufacturer
      Src: /src/pldm/platform-mc/terminus.cpp:741,1
    - Dst: names
      Src: /src/pldm/platform-mc/terminus.cpp:744,1
    - Dst: version
      Src: /src/pldm/platform-mc/terminus.cpp:747,1
    - Dst: assetTag
      Src: /src/pldm/platform-mc/terminus.cpp:750,1
    - Dst: pldm::utils::fruFieldParserU32
      Src: /src/pldm/platform-mc/terminus.cpp:761,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 2
    argNames:
    - fruData
    - fruLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 772
    functionName: pldm::platform_mc::Terminus::updateInventoryWithFru
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 0
    functionsReached:
    - manufacturer
    - isTableEnd
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - static_cast<std::string>
    - pldm::utils::fruFieldParserU32
    - names
    - lg2::info
    - std::views::iota
    - partNumber
    - static_cast<int>
    - pldm::utils::fruFieldValuestring
    - lg2::error
    - pldm::platform_mc::Terminus::findTerminusEntityType
    - auto::value
    - pldm::platform_mc::Terminus::createInventoryPath
    - std::string::empty
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - assetTag
    - version
    - pldm::platform_mc::Terminus::getTerminusName
    - serialNumber
    - model
    linkageType: ''
    returnType: void
    signature: "void Terminus::updateInventoryWithFru(const uint8_t* fruData,\n                                      const
      size_t fruLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: unsigned
      Src: /src/pldm/platform-mc/terminus.cpp:778,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:780,1
    - Dst: pldm::platform_mc::Terminus::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/terminus.cpp:782,1
    - Dst: std::views::iota
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: static_cast<int>
      Src: /src/pldm/platform-mc/terminus.cpp:790,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus.cpp:796,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.cpp:801,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus.cpp:803,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus.cpp:807,1
    - Dst: std::vector::emplace_back
      Src: /src/pldm/platform-mc/terminus.cpp:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' sensorId'
    argTypes:
    - SensorID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: pldm::platform_mc::Terminus::getSensorNames
    functionSourceFile: /src/pldm/platform-mc/terminus.cpp
    functionUses: 8
    functionsReached:
    - empty
    - std::views::iota
    - static_cast<int>
    - unsigned
    - std::vector::emplace_back
    - std::vector::size
    - std::to_string
    - std::format
    - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Terminus::getSensorNames(const SensorID& sensorId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const PlatformManager&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(PlatformManager&&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PlatformManager()
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PlatformManager(TerminusManager& terminusManager,\n                             TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const PlatformManager&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(PlatformManager&&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PlatformManager()
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PlatformManager(TerminusManager& terminusManager,\n                             TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const PlatformManager&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(PlatformManager&&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PlatformManager()
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PlatformManager(TerminusManager& terminusManager,\n                             TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PlatformManager(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const PlatformManager&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(const PlatformManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(PlatformManager&&)'
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PlatformManager
    signature: PlatformManager & operator=(PlatformManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~PlatformManager()
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PlatformManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pldm::platform_mc::PlatformManager::PlatformManager
    functionSourceFile: /src/pldm/platform-mc/platform_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PlatformManager(TerminusManager& terminusManager,\n                             TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const TerminusManager&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(TerminusManager&&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~TerminusManager()
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    - localEid
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TerminusManager(\n        sdeventplus::Event& event, RequesterHandler&
      handler,\n        pldm::InstanceIdDb& instanceIdDb, TerminiMapper& termini,\n
      \       Manager* manager, mctp_eid_t localEid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::TerminusManager::getLocalEid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mctp_eid_t
    signature: mctp_eid_t getLocalEid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const TerminusManager&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(TerminusManager&&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~TerminusManager()
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    - localEid
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TerminusManager(\n        sdeventplus::Event& event, RequesterHandler&
      handler,\n        pldm::InstanceIdDb& instanceIdDb, TerminiMapper& termini,\n
      \       Manager* manager, mctp_eid_t localEid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::TerminusManager::getLocalEid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mctp_eid_t
    signature: mctp_eid_t getLocalEid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const TerminusManager&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(TerminusManager&&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~TerminusManager()
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    - localEid
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TerminusManager(\n        sdeventplus::Event& event, RequesterHandler&
      handler,\n        pldm::InstanceIdDb& instanceIdDb, TerminiMapper& termini,\n
      \       Manager* manager, mctp_eid_t localEid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::TerminusManager::getLocalEid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mctp_eid_t
    signature: mctp_eid_t getLocalEid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TerminusManager(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const TerminusManager&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(const TerminusManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(TerminusManager&&)'
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TerminusManager
    signature: TerminusManager & operator=(TerminusManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~TerminusManager()
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TerminusManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    - localEid
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: pldm::platform_mc::TerminusManager::TerminusManager
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TerminusManager(\n        sdeventplus::Event& event, RequesterHandler&
      handler,\n        pldm::InstanceIdDb& instanceIdDb, TerminiMapper& termini,\n
      \       Manager* manager, mctp_eid_t localEid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::TerminusManager::getLocalEid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mctp_eid_t
    signature: mctp_eid_t getLocalEid() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.hpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:66,1
    - Dst: resize
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: std::copy
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmds'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Terminus::setSupportedCommands
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - resize
    - lg2::error
    - std::copy
    - begin
    linkageType: ''
    returnType: bool
    signature: bool setSupportedCommands(const std::vector<uint8_t>& cmds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - uint8_t
    - ver32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pldm::platform_mc::Terminus::setSupportedTypeVersions
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool setSupportedTypeVersions(const uint8_t type,\n                                         const
      ver32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pldm::platform_mc::Terminus::getTid
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pldm_tid_t
    signature: pldm_tid_t getTid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tName'
    argTypes:
    - EntityName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::setTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTerminusName(const EntityName& tName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: pldm::platform_mc::Terminus::getTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> getTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.hpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:66,1
    - Dst: resize
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: std::copy
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmds'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Terminus::setSupportedCommands
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - resize
    - lg2::error
    - std::copy
    - begin
    linkageType: ''
    returnType: bool
    signature: bool setSupportedCommands(const std::vector<uint8_t>& cmds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - uint8_t
    - ver32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pldm::platform_mc::Terminus::setSupportedTypeVersions
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool setSupportedTypeVersions(const uint8_t type,\n                                         const
      ver32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pldm::platform_mc::Terminus::getTid
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pldm_tid_t
    signature: pldm_tid_t getTid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tName'
    argTypes:
    - EntityName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::setTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTerminusName(const EntityName& tName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: pldm::platform_mc::Terminus::getTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> getTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.hpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:66,1
    - Dst: resize
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: std::copy
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmds'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Terminus::setSupportedCommands
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - resize
    - lg2::error
    - std::copy
    - begin
    linkageType: ''
    returnType: bool
    signature: bool setSupportedCommands(const std::vector<uint8_t>& cmds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - uint8_t
    - ver32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pldm::platform_mc::Terminus::setSupportedTypeVersions
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool setSupportedTypeVersions(const uint8_t type,\n                                         const
      ver32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pldm::platform_mc::Terminus::getTid
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pldm_tid_t
    signature: pldm_tid_t getTid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tName'
    argTypes:
    - EntityName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::setTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTerminusName(const EntityName& tName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: pldm::platform_mc::Terminus::getTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> getTerminusName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:62,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus.hpp:64,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:66,1
    - Dst: resize
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:71,1
    - Dst: std::copy
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: size
      Src: /src/pldm/platform-mc/terminus.hpp:72,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus.hpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' cmds'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Terminus::setSupportedCommands
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached:
    - empty
    - size
    - resize
    - lg2::error
    - std::copy
    - begin
    linkageType: ''
    returnType: bool
    signature: bool setSupportedCommands(const std::vector<uint8_t>& cmds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - uint8_t
    - ver32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pldm::platform_mc::Terminus::setSupportedTypeVersions
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool setSupportedTypeVersions(const uint8_t type,\n                                         const
      ver32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pldm::platform_mc::Terminus::getTid
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pldm_tid_t
    signature: pldm_tid_t getTid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tName'
    argTypes:
    - EntityName
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pldm::platform_mc::Terminus::setTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setTerminusName(const EntityName& tName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus.hpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: pldm::platform_mc::Terminus::getTerminusName
    functionSourceFile: /src/pldm/platform-mc/terminus.hpp
    functionUses: 4
    functionsReached:
    - empty
    linkageType: ''
    returnType: std::optional<std::string_view>
    signature: std::optional<std::string_view> getTerminusName()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:28,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:43,1
    - Dst: pldm::platform_mc::EventManager::processNumericSensorEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:54,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:60,1
    - Dst: pldm::platform_mc::EventManager::processCperEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:71,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:77,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:80,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:84,1
    - Dst: find
      Src: /src/pldm/platform-mc/event_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/event_manager.cpp:91,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - tid
    - eventId
    - eventClass
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::EventManager::handlePlatformEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::processNumericSensorEvent
    - find
    - contains
    - decode_pldm_message_poll_event_data
    - lg2::error
    - end
    - decode_sensor_event_data
    - lg2::info
    - pldm::platform_mc::EventManager::processCperEvent
    linkageType: ''
    returnType: int
    signature: "int EventManager::handlePlatformEvent(\n    pldm_tid_t tid, uint16_t
      eventId, uint8_t eventClass,\n    const uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:132,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:136,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:138,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:144,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:146,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:162,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:166,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:170,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:183,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:205,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - handler
    - previousEventState
    - nextEventState
    - value
    argTypes:
    - NumericSensorThresholdHandler
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 210
    functionName: pldm::platform_mc::triggerNumericSensorThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::get<0>
    - std::find
    - std::array::end
    - std::get<1>
    - std::array::begin
    - handler
    - std::map::at
    - lg2::error
    - pldm::platform_mc::triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: int
    signature: "int triggerNumericSensorThresholdEvent(NumericSensorThresholdHandler
      handler,\n                                       uint8_t previousEventState,\n
      \                                      uint8_t nextEventState, double value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/platform-mc/event_manager.cpp:220,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:225,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/event_manager.cpp:231,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:232,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:237,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:239,1
    - Dst: getSensorObject
      Src: /src/pldm/platform-mc/event_manager.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:249,1
    - Dst: auto::triggerThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:257,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:260,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: pldm::platform_mc::EventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - getSensorObject
    - triggerNumericSensorThresholdEvent
    - auto::triggerThresholdEvent
    - contains
    - decode_numeric_sensor_data
    - lg2::error
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processNumericSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            const uint8_t* sensorData,\n
      \                                           size_t sensorDataLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:278,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/pldm/platform-mc/event_manager.cpp:288,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: pldm_platform_cper_event::pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:291,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:296,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:302,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/event_manager.cpp:304,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:305,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:312,1
    - Dst: std::filesystem::exists
      Src: /src/pldm/platform-mc/event_manager.cpp:319,1
    - Dst: std::filesystem::create_directory
      Src: /src/pldm/platform-mc/event_manager.cpp:323,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:327,1
    - Dst: std::filesystem::path::string
      Src: /src/pldm/platform-mc/event_manager.cpp:333,1
    - Dst: mkstemp
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: std::string::data
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:337,1
    - Dst: std::strerror
      Src: /src/pldm/platform-mc/event_manager.cpp:338,1
    - Dst: close
      Src: /src/pldm/platform-mc/event_manager.cpp:341,1
    - Dst: std::ofstream::exceptions
      Src: /src/pldm/platform-mc/event_manager.cpp:344,1
    - Dst: std::ofstream::open
      Src: /src/pldm/platform-mc/event_manager.cpp:349,1
    - Dst: std::ofstream::write
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: pldm_platform_cper_event_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:351,1
    - Dst: std::ofstream::close
      Src: /src/pldm/platform-mc/event_manager.cpp:353,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:357,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:361,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 371
    functionName: pldm::platform_mc::EventManager::processCperEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - getTerminusName
    - auto::get
    - close
    - std::ofstream::open
    - decode_pldm_platform_cper_event
    - std::strerror
    - mkstemp
    - std::filesystem::exists
    - std::ofstream::write
    - std::make_unique<unsigned char[]>
    - lg2::error
    - pldm_platform_cper_event::pldm_platform_cper_event
    - pldm::platform_mc::EventManager::createCperDumpEntry
    - std::string::data
    - std::filesystem::create_directory
    - std::filesystem::path::string
    - std::ofstream::close
    - reinterpret_cast<const char*>
    - contains
    - pldm_platform_cper_event_event_data
    - std::ofstream::exceptions
    - auto::value
    - static_cast<std::string>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processCperEvent(pldm_tid_t tid, uint16_t eventId,\n
      \                                  const uint8_t* eventData,\n                                   const
      size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/event_manager.cpp:382,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/event_manager.cpp:386,1
    - Dst: new_method_call
      Src: /src/pldm/platform-mc/event_manager.cpp:388,1
    - Dst: auto::c_str
      Src: /src/pldm/platform-mc/event_manager.cpp:389,1
    - Dst: auto::append
      Src: /src/pldm/platform-mc/event_manager.cpp:391,1
    - Dst: call_noreply
      Src: /src/pldm/platform-mc/event_manager.cpp:392,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:396,1
    - Dst: createDump
      Src: /src/pldm/platform-mc/event_manager.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ' dataType'
    - ' dataPath'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::EventManager::createCperDumpEntry
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - createDump
    - call_noreply
    - lg2::error
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int EventManager::createCperDumpEntry(const std::string& dataType,\n
      \                                     const std::string& dataPath,\n                                      const
      std::string& typeName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - eventId
    - eventMessage
    - transferFlag
    - eventDataIntegrityChecksum
    - nextDataTransferHandle
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: pldm::platform_mc::EventManager::getNextPartParameters
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::data
    - pldm_edac_crc32
    - lg2::error
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: int
    signature: "int EventManager::getNextPartParameters(\n    uint16_t eventId, std::vector<uint8_t>
      eventMessage, uint8_t transferFlag,\n    uint32_t eventDataIntegrityChecksum,
      uint32_t nextDataTransferHandle,\n    uint8_t* transferOperationFlag, uint32_t*
      dataTransferHandle,\n    uint32_t* eventIdToAcknowledge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/platform-mc/event_manager.cpp:449,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: data
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: size
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:456,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tid
    - eventClass
    - eventId
    - ' eventMessage'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: pldm::platform_mc::EventManager::callPolledEventHandlers
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - at
    - handler
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void EventManager::callPolledEventHandlers(pldm_tid_t tid, uint8_t
      eventClass,\n                                           uint16_t eventId,\n
      \                                          std::vector<uint8_t>& eventMessage)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::updateAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:487,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:502,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:504,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:506,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:507,1
    - Dst: pldm::platform_mc::EventManager::pollForPlatformEventMessage
      Src: /src/pldm/platform-mc/event_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:532,1
    - Dst: pldm::platform_mc::EventManager::callPolledEventHandlers
      Src: /src/pldm/platform-mc/event_manager.cpp:534,1
    - Dst: std::vector::clear
      Src: /src/pldm/platform-mc/event_manager.cpp:537,1
    - Dst: pldm::platform_mc::EventManager::getNextPartParameters
      Src: /src/pldm/platform-mc/event_manager.cpp:548,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 572
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventTask
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::EventManager::getNextPartParameters
    - pldm::platform_mc::EventManager::pollForPlatformEventMessage
    - contains
    - pldm::platform_mc::EventManager::getAvailableState
    - pldm::platform_mc::EventManager::updateAvailableState
    - lg2::error
    - pldm::platform_mc::EventManager::callPolledEventHandlers
    - std::vector::clear
    - stdexec::just_stopped
    - std::vector::end
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventTask(\n    pldm_tid_t
      tid, uint32_t pollDataTransferHandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/pldm/platform-mc/event_manager.cpp:585,1
    - Dst: Request::size
      Src: /src/pldm/platform-mc/event_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:590,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:597,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:599,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:601,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:602,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/event_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:611,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/pldm/platform-mc/event_manager.cpp:617,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 14
    argNames:
    - tid
    - formatVersion
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    - ' completionCode'
    - ' eventTid'
    - ' eventId'
    - ' nextDataTransferHandle'
    - ' transferFlag'
    - ' eventClass'
    - ' eventDataSize'
    - ' eventData'
    - ' eventDataIntegrityChecksum'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 637
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventMessage
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - Request::size
    - encode_poll_for_platform_event_message_req
    - sendRecvPldmMsg
    - decode_poll_for_platform_event_message_resp
    - pldm::platform_mc::EventManager::getAvailableState
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventMessage(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t transferOperationFlag,\n    uint32_t dataTransferHandle,
      uint16_t eventIdToAcknowledge,\n    uint8_t& completionCode, uint8_t& eventTid,
      uint16_t& eventId,\n    uint32_t& nextDataTransferHandle, uint8_t& transferFlag,\n
      \   uint8_t& eventClass, uint32_t& eventDataSize, uint8_t*& eventData,\n    uint32_t&
      eventDataIntegrityChecksum)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:28,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:43,1
    - Dst: pldm::platform_mc::EventManager::processNumericSensorEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:54,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:60,1
    - Dst: pldm::platform_mc::EventManager::processCperEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:71,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:77,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:80,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:84,1
    - Dst: find
      Src: /src/pldm/platform-mc/event_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/event_manager.cpp:91,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - tid
    - eventId
    - eventClass
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::EventManager::handlePlatformEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::processNumericSensorEvent
    - find
    - contains
    - decode_pldm_message_poll_event_data
    - lg2::error
    - end
    - decode_sensor_event_data
    - lg2::info
    - pldm::platform_mc::EventManager::processCperEvent
    linkageType: ''
    returnType: int
    signature: "int EventManager::handlePlatformEvent(\n    pldm_tid_t tid, uint16_t
      eventId, uint8_t eventClass,\n    const uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:132,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:136,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:138,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:144,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:146,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:162,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:166,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:170,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:183,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:205,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - handler
    - previousEventState
    - nextEventState
    - value
    argTypes:
    - NumericSensorThresholdHandler
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 210
    functionName: pldm::platform_mc::triggerNumericSensorThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::get<0>
    - std::find
    - std::array::end
    - std::get<1>
    - std::array::begin
    - handler
    - std::map::at
    - lg2::error
    - pldm::platform_mc::triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: int
    signature: "int triggerNumericSensorThresholdEvent(NumericSensorThresholdHandler
      handler,\n                                       uint8_t previousEventState,\n
      \                                      uint8_t nextEventState, double value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/platform-mc/event_manager.cpp:220,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:225,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/event_manager.cpp:231,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:232,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:237,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:239,1
    - Dst: getSensorObject
      Src: /src/pldm/platform-mc/event_manager.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:249,1
    - Dst: auto::triggerThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:257,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:260,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: pldm::platform_mc::EventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - getSensorObject
    - triggerNumericSensorThresholdEvent
    - auto::triggerThresholdEvent
    - contains
    - decode_numeric_sensor_data
    - lg2::error
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processNumericSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            const uint8_t* sensorData,\n
      \                                           size_t sensorDataLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:278,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/pldm/platform-mc/event_manager.cpp:288,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: pldm_platform_cper_event::pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:291,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:296,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:302,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/event_manager.cpp:304,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:305,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:312,1
    - Dst: std::filesystem::exists
      Src: /src/pldm/platform-mc/event_manager.cpp:319,1
    - Dst: std::filesystem::create_directory
      Src: /src/pldm/platform-mc/event_manager.cpp:323,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:327,1
    - Dst: std::filesystem::path::string
      Src: /src/pldm/platform-mc/event_manager.cpp:333,1
    - Dst: mkstemp
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: std::string::data
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:337,1
    - Dst: std::strerror
      Src: /src/pldm/platform-mc/event_manager.cpp:338,1
    - Dst: close
      Src: /src/pldm/platform-mc/event_manager.cpp:341,1
    - Dst: std::ofstream::exceptions
      Src: /src/pldm/platform-mc/event_manager.cpp:344,1
    - Dst: std::ofstream::open
      Src: /src/pldm/platform-mc/event_manager.cpp:349,1
    - Dst: std::ofstream::write
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: pldm_platform_cper_event_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:351,1
    - Dst: std::ofstream::close
      Src: /src/pldm/platform-mc/event_manager.cpp:353,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:357,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:361,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 371
    functionName: pldm::platform_mc::EventManager::processCperEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - getTerminusName
    - auto::get
    - close
    - std::ofstream::open
    - decode_pldm_platform_cper_event
    - std::strerror
    - mkstemp
    - std::filesystem::exists
    - std::ofstream::write
    - std::make_unique<unsigned char[]>
    - lg2::error
    - pldm_platform_cper_event::pldm_platform_cper_event
    - pldm::platform_mc::EventManager::createCperDumpEntry
    - std::string::data
    - std::filesystem::create_directory
    - std::filesystem::path::string
    - std::ofstream::close
    - reinterpret_cast<const char*>
    - contains
    - pldm_platform_cper_event_event_data
    - std::ofstream::exceptions
    - auto::value
    - static_cast<std::string>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processCperEvent(pldm_tid_t tid, uint16_t eventId,\n
      \                                  const uint8_t* eventData,\n                                   const
      size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/event_manager.cpp:382,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/event_manager.cpp:386,1
    - Dst: new_method_call
      Src: /src/pldm/platform-mc/event_manager.cpp:388,1
    - Dst: auto::c_str
      Src: /src/pldm/platform-mc/event_manager.cpp:389,1
    - Dst: auto::append
      Src: /src/pldm/platform-mc/event_manager.cpp:391,1
    - Dst: call_noreply
      Src: /src/pldm/platform-mc/event_manager.cpp:392,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:396,1
    - Dst: createDump
      Src: /src/pldm/platform-mc/event_manager.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ' dataType'
    - ' dataPath'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::EventManager::createCperDumpEntry
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - createDump
    - call_noreply
    - lg2::error
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int EventManager::createCperDumpEntry(const std::string& dataType,\n
      \                                     const std::string& dataPath,\n                                      const
      std::string& typeName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - eventId
    - eventMessage
    - transferFlag
    - eventDataIntegrityChecksum
    - nextDataTransferHandle
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: pldm::platform_mc::EventManager::getNextPartParameters
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::data
    - pldm_edac_crc32
    - lg2::error
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: int
    signature: "int EventManager::getNextPartParameters(\n    uint16_t eventId, std::vector<uint8_t>
      eventMessage, uint8_t transferFlag,\n    uint32_t eventDataIntegrityChecksum,
      uint32_t nextDataTransferHandle,\n    uint8_t* transferOperationFlag, uint32_t*
      dataTransferHandle,\n    uint32_t* eventIdToAcknowledge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/platform-mc/event_manager.cpp:449,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: data
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: size
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:456,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tid
    - eventClass
    - eventId
    - ' eventMessage'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: pldm::platform_mc::EventManager::callPolledEventHandlers
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - at
    - handler
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void EventManager::callPolledEventHandlers(pldm_tid_t tid, uint8_t
      eventClass,\n                                           uint16_t eventId,\n
      \                                          std::vector<uint8_t>& eventMessage)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::updateAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:487,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:502,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:504,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:506,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:507,1
    - Dst: pldm::platform_mc::EventManager::pollForPlatformEventMessage
      Src: /src/pldm/platform-mc/event_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:532,1
    - Dst: pldm::platform_mc::EventManager::callPolledEventHandlers
      Src: /src/pldm/platform-mc/event_manager.cpp:534,1
    - Dst: std::vector::clear
      Src: /src/pldm/platform-mc/event_manager.cpp:537,1
    - Dst: pldm::platform_mc::EventManager::getNextPartParameters
      Src: /src/pldm/platform-mc/event_manager.cpp:548,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 572
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventTask
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::EventManager::getNextPartParameters
    - pldm::platform_mc::EventManager::pollForPlatformEventMessage
    - contains
    - pldm::platform_mc::EventManager::getAvailableState
    - pldm::platform_mc::EventManager::updateAvailableState
    - lg2::error
    - pldm::platform_mc::EventManager::callPolledEventHandlers
    - std::vector::clear
    - stdexec::just_stopped
    - std::vector::end
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventTask(\n    pldm_tid_t
      tid, uint32_t pollDataTransferHandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/pldm/platform-mc/event_manager.cpp:585,1
    - Dst: Request::size
      Src: /src/pldm/platform-mc/event_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:590,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:597,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:599,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:601,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:602,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/event_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:611,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/pldm/platform-mc/event_manager.cpp:617,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 14
    argNames:
    - tid
    - formatVersion
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    - ' completionCode'
    - ' eventTid'
    - ' eventId'
    - ' nextDataTransferHandle'
    - ' transferFlag'
    - ' eventClass'
    - ' eventDataSize'
    - ' eventData'
    - ' eventDataIntegrityChecksum'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 637
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventMessage
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - Request::size
    - encode_poll_for_platform_event_message_req
    - sendRecvPldmMsg
    - decode_poll_for_platform_event_message_resp
    - pldm::platform_mc::EventManager::getAvailableState
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventMessage(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t transferOperationFlag,\n    uint32_t dataTransferHandle,
      uint16_t eventIdToAcknowledge,\n    uint8_t& completionCode, uint8_t& eventTid,
      uint16_t& eventId,\n    uint32_t& nextDataTransferHandle, uint8_t& transferFlag,\n
      \   uint8_t& eventClass, uint32_t& eventDataSize, uint8_t*& eventData,\n    uint32_t&
      eventDataIntegrityChecksum)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:28,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:43,1
    - Dst: pldm::platform_mc::EventManager::processNumericSensorEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:54,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:60,1
    - Dst: pldm::platform_mc::EventManager::processCperEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:71,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:77,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:80,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:84,1
    - Dst: find
      Src: /src/pldm/platform-mc/event_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/event_manager.cpp:91,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - tid
    - eventId
    - eventClass
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::EventManager::handlePlatformEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::processNumericSensorEvent
    - find
    - contains
    - decode_pldm_message_poll_event_data
    - lg2::error
    - end
    - decode_sensor_event_data
    - lg2::info
    - pldm::platform_mc::EventManager::processCperEvent
    linkageType: ''
    returnType: int
    signature: "int EventManager::handlePlatformEvent(\n    pldm_tid_t tid, uint16_t
      eventId, uint8_t eventClass,\n    const uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:132,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:136,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:138,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:144,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:146,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:162,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:166,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:170,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:183,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:205,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - handler
    - previousEventState
    - nextEventState
    - value
    argTypes:
    - NumericSensorThresholdHandler
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 210
    functionName: pldm::platform_mc::triggerNumericSensorThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::get<0>
    - std::find
    - std::array::end
    - std::get<1>
    - std::array::begin
    - handler
    - std::map::at
    - lg2::error
    - pldm::platform_mc::triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: int
    signature: "int triggerNumericSensorThresholdEvent(NumericSensorThresholdHandler
      handler,\n                                       uint8_t previousEventState,\n
      \                                      uint8_t nextEventState, double value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/platform-mc/event_manager.cpp:220,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:225,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/event_manager.cpp:231,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:232,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:237,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:239,1
    - Dst: getSensorObject
      Src: /src/pldm/platform-mc/event_manager.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:249,1
    - Dst: auto::triggerThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:257,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:260,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: pldm::platform_mc::EventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - getSensorObject
    - triggerNumericSensorThresholdEvent
    - auto::triggerThresholdEvent
    - contains
    - decode_numeric_sensor_data
    - lg2::error
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processNumericSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            const uint8_t* sensorData,\n
      \                                           size_t sensorDataLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:278,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/pldm/platform-mc/event_manager.cpp:288,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: pldm_platform_cper_event::pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:291,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:296,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:302,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/event_manager.cpp:304,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:305,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:312,1
    - Dst: std::filesystem::exists
      Src: /src/pldm/platform-mc/event_manager.cpp:319,1
    - Dst: std::filesystem::create_directory
      Src: /src/pldm/platform-mc/event_manager.cpp:323,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:327,1
    - Dst: std::filesystem::path::string
      Src: /src/pldm/platform-mc/event_manager.cpp:333,1
    - Dst: mkstemp
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: std::string::data
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:337,1
    - Dst: std::strerror
      Src: /src/pldm/platform-mc/event_manager.cpp:338,1
    - Dst: close
      Src: /src/pldm/platform-mc/event_manager.cpp:341,1
    - Dst: std::ofstream::exceptions
      Src: /src/pldm/platform-mc/event_manager.cpp:344,1
    - Dst: std::ofstream::open
      Src: /src/pldm/platform-mc/event_manager.cpp:349,1
    - Dst: std::ofstream::write
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: pldm_platform_cper_event_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:351,1
    - Dst: std::ofstream::close
      Src: /src/pldm/platform-mc/event_manager.cpp:353,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:357,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:361,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 371
    functionName: pldm::platform_mc::EventManager::processCperEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - getTerminusName
    - auto::get
    - close
    - std::ofstream::open
    - decode_pldm_platform_cper_event
    - std::strerror
    - mkstemp
    - std::filesystem::exists
    - std::ofstream::write
    - std::make_unique<unsigned char[]>
    - lg2::error
    - pldm_platform_cper_event::pldm_platform_cper_event
    - pldm::platform_mc::EventManager::createCperDumpEntry
    - std::string::data
    - std::filesystem::create_directory
    - std::filesystem::path::string
    - std::ofstream::close
    - reinterpret_cast<const char*>
    - contains
    - pldm_platform_cper_event_event_data
    - std::ofstream::exceptions
    - auto::value
    - static_cast<std::string>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processCperEvent(pldm_tid_t tid, uint16_t eventId,\n
      \                                  const uint8_t* eventData,\n                                   const
      size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/event_manager.cpp:382,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/event_manager.cpp:386,1
    - Dst: new_method_call
      Src: /src/pldm/platform-mc/event_manager.cpp:388,1
    - Dst: auto::c_str
      Src: /src/pldm/platform-mc/event_manager.cpp:389,1
    - Dst: auto::append
      Src: /src/pldm/platform-mc/event_manager.cpp:391,1
    - Dst: call_noreply
      Src: /src/pldm/platform-mc/event_manager.cpp:392,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:396,1
    - Dst: createDump
      Src: /src/pldm/platform-mc/event_manager.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ' dataType'
    - ' dataPath'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::EventManager::createCperDumpEntry
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - createDump
    - call_noreply
    - lg2::error
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int EventManager::createCperDumpEntry(const std::string& dataType,\n
      \                                     const std::string& dataPath,\n                                      const
      std::string& typeName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - eventId
    - eventMessage
    - transferFlag
    - eventDataIntegrityChecksum
    - nextDataTransferHandle
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: pldm::platform_mc::EventManager::getNextPartParameters
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - std::vector<uint8_t>::data
    - pldm_edac_crc32
    - lg2::error
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: int
    signature: "int EventManager::getNextPartParameters(\n    uint16_t eventId, std::vector<uint8_t>
      eventMessage, uint8_t transferFlag,\n    uint32_t eventDataIntegrityChecksum,
      uint32_t nextDataTransferHandle,\n    uint8_t* transferOperationFlag, uint32_t*
      dataTransferHandle,\n    uint32_t* eventIdToAcknowledge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/platform-mc/event_manager.cpp:449,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: data
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: size
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:456,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tid
    - eventClass
    - eventId
    - ' eventMessage'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: pldm::platform_mc::EventManager::callPolledEventHandlers
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - at
    - handler
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void EventManager::callPolledEventHandlers(pldm_tid_t tid, uint8_t
      eventClass,\n                                           uint16_t eventId,\n
      \                                          std::vector<uint8_t>& eventMessage)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::updateAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:487,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:502,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:504,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:506,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:507,1
    - Dst: pldm::platform_mc::EventManager::pollForPlatformEventMessage
      Src: /src/pldm/platform-mc/event_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:532,1
    - Dst: pldm::platform_mc::EventManager::callPolledEventHandlers
      Src: /src/pldm/platform-mc/event_manager.cpp:534,1
    - Dst: std::vector::clear
      Src: /src/pldm/platform-mc/event_manager.cpp:537,1
    - Dst: pldm::platform_mc::EventManager::getNextPartParameters
      Src: /src/pldm/platform-mc/event_manager.cpp:548,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 572
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventTask
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::EventManager::getNextPartParameters
    - pldm::platform_mc::EventManager::pollForPlatformEventMessage
    - contains
    - pldm::platform_mc::EventManager::getAvailableState
    - pldm::platform_mc::EventManager::updateAvailableState
    - lg2::error
    - pldm::platform_mc::EventManager::callPolledEventHandlers
    - std::vector::clear
    - stdexec::just_stopped
    - std::vector::end
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventTask(\n    pldm_tid_t
      tid, uint32_t pollDataTransferHandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/pldm/platform-mc/event_manager.cpp:585,1
    - Dst: Request::size
      Src: /src/pldm/platform-mc/event_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:590,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:597,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:599,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:601,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:602,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/event_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:611,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/pldm/platform-mc/event_manager.cpp:617,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 14
    argNames:
    - tid
    - formatVersion
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    - ' completionCode'
    - ' eventTid'
    - ' eventId'
    - ' nextDataTransferHandle'
    - ' transferFlag'
    - ' eventClass'
    - ' eventDataSize'
    - ' eventData'
    - ' eventDataIntegrityChecksum'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 637
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventMessage
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - Request::size
    - encode_poll_for_platform_event_message_req
    - sendRecvPldmMsg
    - decode_poll_for_platform_event_message_resp
    - pldm::platform_mc::EventManager::getAvailableState
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventMessage(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t transferOperationFlag,\n    uint32_t dataTransferHandle,
      uint16_t eventIdToAcknowledge,\n    uint8_t& completionCode, uint8_t& eventTid,
      uint16_t& eventId,\n    uint32_t& nextDataTransferHandle, uint8_t& transferFlag,\n
      \   uint8_t& eventClass, uint32_t& eventDataSize, uint8_t*& eventData,\n    uint32_t&
      eventDataIntegrityChecksum)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:28,1
    - Dst: decode_sensor_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:38,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:43,1
    - Dst: pldm::platform_mc::EventManager::processNumericSensorEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:54,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:60,1
    - Dst: pldm::platform_mc::EventManager::processCperEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:71,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:77,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:80,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:84,1
    - Dst: find
      Src: /src/pldm/platform-mc/event_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/event_manager.cpp:91,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - tid
    - eventId
    - eventClass
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::EventManager::handlePlatformEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::processNumericSensorEvent
    - find
    - contains
    - decode_pldm_message_poll_event_data
    - lg2::error
    - end
    - decode_sensor_event_data
    - lg2::info
    - pldm::platform_mc::EventManager::processCperEvent
    linkageType: ''
    returnType: int
    signature: "int EventManager::handlePlatformEvent(\n    pldm_tid_t tid, uint16_t
      eventId, uint8_t eventClass,\n    const uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:132,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:135,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:136,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:138,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::begin
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:143,1
    - Dst: std::array::end
      Src: /src/pldm/platform-mc/event_manager.cpp:144,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:146,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:162,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:166,1
    - Dst: pldm::platform_mc::triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:170,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:183,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:192,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:195,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:200,1
    - Dst: std::map::at
      Src: /src/pldm/platform-mc/event_manager.cpp:205,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    - Dst: std::get<1>
      Src: /src/pldm/platform-mc/event_manager.cpp:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - handler
    - previousEventState
    - nextEventState
    - value
    argTypes:
    - NumericSensorThresholdHandler
    - uint8_t
    - uint8_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 210
    functionName: pldm::platform_mc::triggerNumericSensorThresholdEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 4
    functionsReached:
    - std::get<0>
    - std::find
    - std::array::end
    - std::get<1>
    - std::array::begin
    - handler
    - std::map::at
    - lg2::error
    - pldm::platform_mc::triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: int
    signature: "int triggerNumericSensorThresholdEvent(NumericSensorThresholdHandler
      handler,\n                                       uint8_t previousEventState,\n
      \                                      uint8_t nextEventState, double value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/pldm/platform-mc/event_manager.cpp:220,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:225,1
    - Dst: static_cast<double>
      Src: /src/pldm/platform-mc/event_manager.cpp:231,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:232,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:237,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:239,1
    - Dst: getSensorObject
      Src: /src/pldm/platform-mc/event_manager.cpp:246,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:249,1
    - Dst: auto::triggerThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:257,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/event_manager.cpp:260,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tid
    - sensorId
    - sensorData
    - sensorDataLength
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: pldm::platform_mc::EventManager::processNumericSensorEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 4
    functionsReached:
    - getSensorObject
    - triggerNumericSensorThresholdEvent
    - auto::triggerThresholdEvent
    - contains
    - decode_numeric_sensor_data
    - lg2::error
    - static_cast<double>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processNumericSensorEvent(pldm_tid_t tid, uint16_t
      sensorId,\n                                            const uint8_t* sensorData,\n
      \                                           size_t sensorDataLength)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:278,1
    - Dst: std::make_unique<unsigned char[]>
      Src: /src/pldm/platform-mc/event_manager.cpp:288,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: pldm_platform_cper_event::pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:289,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/pldm/platform-mc/event_manager.cpp:291,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:296,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:302,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/event_manager.cpp:304,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:305,1
    - Dst: static_cast<std::string>
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/event_manager.cpp:307,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:312,1
    - Dst: std::filesystem::exists
      Src: /src/pldm/platform-mc/event_manager.cpp:319,1
    - Dst: std::filesystem::create_directory
      Src: /src/pldm/platform-mc/event_manager.cpp:323,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:327,1
    - Dst: std::filesystem::path::string
      Src: /src/pldm/platform-mc/event_manager.cpp:333,1
    - Dst: mkstemp
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: std::string::data
      Src: /src/pldm/platform-mc/event_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:337,1
    - Dst: std::strerror
      Src: /src/pldm/platform-mc/event_manager.cpp:338,1
    - Dst: close
      Src: /src/pldm/platform-mc/event_manager.cpp:341,1
    - Dst: std::ofstream::exceptions
      Src: /src/pldm/platform-mc/event_manager.cpp:344,1
    - Dst: std::ofstream::open
      Src: /src/pldm/platform-mc/event_manager.cpp:349,1
    - Dst: std::ofstream::write
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/platform-mc/event_manager.cpp:350,1
    - Dst: pldm_platform_cper_event_event_data
      Src: /src/pldm/platform-mc/event_manager.cpp:351,1
    - Dst: std::ofstream::close
      Src: /src/pldm/platform-mc/event_manager.cpp:353,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:357,1
    - Dst: pldm::platform_mc::EventManager::createCperDumpEntry
      Src: /src/pldm/platform-mc/event_manager.cpp:361,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 371
    functionName: pldm::platform_mc::EventManager::processCperEvent
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 4
    functionsReached:
    - getTerminusName
    - auto::get
    - close
    - std::ofstream::open
    - decode_pldm_platform_cper_event
    - std::strerror
    - mkstemp
    - std::filesystem::exists
    - std::ofstream::write
    - std::make_unique<unsigned char[]>
    - lg2::error
    - pldm_platform_cper_event::pldm_platform_cper_event
    - pldm::platform_mc::EventManager::createCperDumpEntry
    - std::string::data
    - std::filesystem::create_directory
    - std::filesystem::path::string
    - std::ofstream::close
    - reinterpret_cast<const char*>
    - contains
    - pldm_platform_cper_event_event_data
    - std::ofstream::exceptions
    - auto::value
    - static_cast<std::string>
    linkageType: ''
    returnType: int
    signature: "int EventManager::processCperEvent(pldm_tid_t tid, uint16_t eventId,\n
      \                                  const uint8_t* eventData,\n                                   const
      size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/event_manager.cpp:382,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/platform-mc/event_manager.cpp:386,1
    - Dst: new_method_call
      Src: /src/pldm/platform-mc/event_manager.cpp:388,1
    - Dst: auto::c_str
      Src: /src/pldm/platform-mc/event_manager.cpp:389,1
    - Dst: auto::append
      Src: /src/pldm/platform-mc/event_manager.cpp:391,1
    - Dst: call_noreply
      Src: /src/pldm/platform-mc/event_manager.cpp:392,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:396,1
    - Dst: createDump
      Src: /src/pldm/platform-mc/event_manager.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ' dataType'
    - ' dataPath'
    - ' typeName'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 408
    functionName: pldm::platform_mc::EventManager::createCperDumpEntry
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 4
    functionsReached:
    - createDump
    - call_noreply
    - lg2::error
    - auto::c_str
    - auto::append
    - pldm::utils::DBusHandler
    - new_method_call
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: int
    signature: "int EventManager::createCperDumpEntry(const std::string& dataType,\n
      \                                     const std::string& dataPath,\n                                      const
      std::string& typeName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/pldm/platform-mc/event_manager.cpp:428,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 8
    argNames:
    - eventId
    - eventMessage
    - transferFlag
    - eventDataIntegrityChecksum
    - nextDataTransferHandle
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: pldm::platform_mc::EventManager::getNextPartParameters
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - std::vector<uint8_t>::data
    - pldm_edac_crc32
    - lg2::error
    - std::vector<uint8_t>::size
    linkageType: ''
    returnType: int
    signature: "int EventManager::getNextPartParameters(\n    uint16_t eventId, std::vector<uint8_t>
      eventMessage, uint8_t transferFlag,\n    uint32_t eventDataIntegrityChecksum,
      uint32_t nextDataTransferHandle,\n    uint8_t* transferOperationFlag, uint32_t*
      dataTransferHandle,\n    uint32_t* eventIdToAcknowledge)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/pldm/platform-mc/event_manager.cpp:449,1
    - Dst: handler
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: data
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: size
      Src: /src/pldm/platform-mc/event_manager.cpp:453,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:456,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tid
    - eventClass
    - eventId
    - ' eventMessage'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 468
    functionName: pldm::platform_mc::EventManager::callPolledEventHandlers
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - at
    - handler
    - lg2::error
    linkageType: ''
    returnType: void
    signature: "void EventManager::callPolledEventHandlers(pldm_tid_t tid, uint8_t
      eventClass,\n                                           uint16_t eventId,\n
      \                                          std::vector<uint8_t>& eventMessage)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::updateAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:487,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:502,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:504,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:506,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:507,1
    - Dst: pldm::platform_mc::EventManager::pollForPlatformEventMessage
      Src: /src/pldm/platform-mc/event_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:517,1
    - Dst: std::vector::insert
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: std::vector::end
      Src: /src/pldm/platform-mc/event_manager.cpp:525,1
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.cpp:532,1
    - Dst: pldm::platform_mc::EventManager::callPolledEventHandlers
      Src: /src/pldm/platform-mc/event_manager.cpp:534,1
    - Dst: std::vector::clear
      Src: /src/pldm/platform-mc/event_manager.cpp:537,1
    - Dst: pldm::platform_mc::EventManager::getNextPartParameters
      Src: /src/pldm/platform-mc/event_manager.cpp:548,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:554,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - tid
    - pollDataTransferHandle
    argTypes:
    - pldm_tid_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 572
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventTask
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - pldm::platform_mc::EventManager::getNextPartParameters
    - pldm::platform_mc::EventManager::pollForPlatformEventMessage
    - contains
    - pldm::platform_mc::EventManager::getAvailableState
    - pldm::platform_mc::EventManager::updateAvailableState
    - lg2::error
    - pldm::platform_mc::EventManager::callPolledEventHandlers
    - std::vector::clear
    - stdexec::just_stopped
    - std::vector::end
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventTask(\n    pldm_tid_t
      tid, uint32_t pollDataTransferHandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/event_manager.cpp:584,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/pldm/platform-mc/event_manager.cpp:585,1
    - Dst: Request::size
      Src: /src/pldm/platform-mc/event_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:590,1
    - Dst: pldm::platform_mc::EventManager::getAvailableState
      Src: /src/pldm/platform-mc/event_manager.cpp:597,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/event_manager.cpp:599,1
    - Dst: pldm::utils::getCurrentSystemTime
      Src: /src/pldm/platform-mc/event_manager.cpp:601,1
    - Dst: stdexec::just_stopped
      Src: /src/pldm/platform-mc/event_manager.cpp:602,1
    - Dst: sendRecvPldmMsg
      Src: /src/pldm/platform-mc/event_manager.cpp:607,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:611,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/pldm/platform-mc/event_manager.cpp:617,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/event_manager.cpp:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 14
    argNames:
    - tid
    - formatVersion
    - transferOperationFlag
    - dataTransferHandle
    - eventIdToAcknowledge
    - ' completionCode'
    - ' eventTid'
    - ' eventId'
    - ' nextDataTransferHandle'
    - ' transferFlag'
    - ' eventClass'
    - ' eventDataSize'
    - ' eventData'
    - ' eventDataIntegrityChecksum'
    argTypes:
    - pldm_tid_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 637
    functionName: pldm::platform_mc::EventManager::pollForPlatformEventMessage
    functionSourceFile: /src/pldm/platform-mc/event_manager.cpp
    functionUses: 4
    functionsReached:
    - Request::size
    - encode_poll_for_platform_event_message_req
    - sendRecvPldmMsg
    - decode_poll_for_platform_event_message_resp
    - pldm::platform_mc::EventManager::getAvailableState
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    - stdexec::just_stopped
    - lg2::info
    - pldm::utils::getCurrentSystemTime
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> EventManager::pollForPlatformEventMessage(\n    pldm_tid_t
      tid, uint8_t formatVersion, uint8_t transferOperationFlag,\n    uint32_t dataTransferHandle,
      uint16_t eventIdToAcknowledge,\n    uint8_t& completionCode, uint8_t& eventTid,
      uint16_t& eventId,\n    uint32_t& nextDataTransferHandle, uint8_t& transferFlag,\n
      \   uint8_t& eventClass, uint32_t& eventDataSize, uint8_t*& eventData,\n    uint32_t&
      eventDataIntegrityChecksum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(sdeventplus::Event& event, RequesterHandler& handler,\n
      \                    pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - removeMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toTid
      Src: /src/pldm/platform-mc/manager.hpp:88,1
    - Dst: startSensorPollTimer
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: disableTerminusSensors
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: pldm::platform_mc::Manager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/manager.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 1
    functionsReached:
    - disableTerminusSensors
    - pldm::platform_mc::Manager::updateAvailableState
    - pldm::platform_mc::Manager::updateMctpEndpointAvailability
    - startSensorPollTimer
    - toTid
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void updateMctpEndpointAvailability(const MctpInfo& mctpInfo,\n                                        Availability
      availability) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startPolling
      Src: /src/pldm/platform-mc/manager.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: pldm::platform_mc::Manager::startSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - startPolling
    linkageType: ''
    returnType: void
    signature: void startSensorPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/manager.hpp:118,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:120,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::Manager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::Manager::updateAvailableState
    - contains
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopPolling
      Src: /src/pldm/platform-mc/manager.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pldm::platform_mc::Manager::stopSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - stopPolling
    linkageType: ''
    returnType: void
    signature: void stopSensorPolling(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:146,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::Manager::handleSensorEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleSensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                         uint8_t /* formatVersion */, uint8_t tid,\n                          size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:170,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: pldm::platform_mc::Manager::handleCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - const_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleCperEvent(const pldm_msg* request, size_t payloadLength,\n
      \                       uint8_t /* formatVersion */, uint8_t tid,\n                        size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:192,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: pldm::platform_mc::Manager::handlePldmMessagePollEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePldmMessagePollEvent(\n        const pldm_msg* request,
      size_t payloadLength,\n        uint8_t /* formatVersion */, uint8_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pldm::platform_mc::Manager::handlePolledCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePolledCperEvent(pldm_tid_t tid, uint16_t eventId,\n                              const
      uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/manager.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: pldm::platform_mc::Manager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::Manager::registerPolledEventHandler
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - PollHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pldm::platform_mc::Manager::registerOEMPollMethod
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void registerOEMPollMethod(PollHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::getActiveEidByName
      Src: /src/pldm/platform-mc/manager.hpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pldm::platform_mc::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::Manager::getActiveEidByName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> getActiveEidByName(\n        const std::string&
      terminusName) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(sdeventplus::Event& event, RequesterHandler& handler,\n
      \                    pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - removeMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toTid
      Src: /src/pldm/platform-mc/manager.hpp:88,1
    - Dst: startSensorPollTimer
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: disableTerminusSensors
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: pldm::platform_mc::Manager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/manager.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 2
    functionsReached:
    - disableTerminusSensors
    - pldm::platform_mc::Manager::updateAvailableState
    - pldm::platform_mc::Manager::updateMctpEndpointAvailability
    - startSensorPollTimer
    - toTid
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void updateMctpEndpointAvailability(const MctpInfo& mctpInfo,\n                                        Availability
      availability) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startPolling
      Src: /src/pldm/platform-mc/manager.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: pldm::platform_mc::Manager::startSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - startPolling
    linkageType: ''
    returnType: void
    signature: void startSensorPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/manager.hpp:118,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:120,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::Manager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::Manager::updateAvailableState
    - contains
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopPolling
      Src: /src/pldm/platform-mc/manager.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pldm::platform_mc::Manager::stopSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - stopPolling
    linkageType: ''
    returnType: void
    signature: void stopSensorPolling(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:146,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::Manager::handleSensorEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleSensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                         uint8_t /* formatVersion */, uint8_t tid,\n                          size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:170,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: pldm::platform_mc::Manager::handleCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - const_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleCperEvent(const pldm_msg* request, size_t payloadLength,\n
      \                       uint8_t /* formatVersion */, uint8_t tid,\n                        size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:192,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: pldm::platform_mc::Manager::handlePldmMessagePollEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePldmMessagePollEvent(\n        const pldm_msg* request,
      size_t payloadLength,\n        uint8_t /* formatVersion */, uint8_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pldm::platform_mc::Manager::handlePolledCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePolledCperEvent(pldm_tid_t tid, uint16_t eventId,\n                              const
      uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/manager.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: pldm::platform_mc::Manager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::Manager::registerPolledEventHandler
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - PollHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pldm::platform_mc::Manager::registerOEMPollMethod
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void registerOEMPollMethod(PollHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::getActiveEidByName
      Src: /src/pldm/platform-mc/manager.hpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pldm::platform_mc::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::Manager::getActiveEidByName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> getActiveEidByName(\n        const std::string&
      terminusName) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(sdeventplus::Event& event, RequesterHandler& handler,\n
      \                    pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - removeMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toTid
      Src: /src/pldm/platform-mc/manager.hpp:88,1
    - Dst: startSensorPollTimer
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: disableTerminusSensors
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: pldm::platform_mc::Manager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/manager.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 3
    functionsReached:
    - disableTerminusSensors
    - pldm::platform_mc::Manager::updateAvailableState
    - pldm::platform_mc::Manager::updateMctpEndpointAvailability
    - startSensorPollTimer
    - toTid
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void updateMctpEndpointAvailability(const MctpInfo& mctpInfo,\n                                        Availability
      availability) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startPolling
      Src: /src/pldm/platform-mc/manager.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: pldm::platform_mc::Manager::startSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - startPolling
    linkageType: ''
    returnType: void
    signature: void startSensorPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/manager.hpp:118,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:120,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::Manager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 6
    functionsReached:
    - pldm::platform_mc::Manager::updateAvailableState
    - contains
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopPolling
      Src: /src/pldm/platform-mc/manager.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pldm::platform_mc::Manager::stopSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - stopPolling
    linkageType: ''
    returnType: void
    signature: void stopSensorPolling(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:146,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::Manager::handleSensorEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleSensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                         uint8_t /* formatVersion */, uint8_t tid,\n                          size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:170,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: pldm::platform_mc::Manager::handleCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - const_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleCperEvent(const pldm_msg* request, size_t payloadLength,\n
      \                       uint8_t /* formatVersion */, uint8_t tid,\n                        size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:192,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: pldm::platform_mc::Manager::handlePldmMessagePollEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePldmMessagePollEvent(\n        const pldm_msg* request,
      size_t payloadLength,\n        uint8_t /* formatVersion */, uint8_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pldm::platform_mc::Manager::handlePolledCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePolledCperEvent(pldm_tid_t tid, uint16_t eventId,\n                              const
      uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/manager.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: pldm::platform_mc::Manager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::Manager::registerPolledEventHandler
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - PollHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pldm::platform_mc::Manager::registerOEMPollMethod
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void registerOEMPollMethod(PollHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::getActiveEidByName
      Src: /src/pldm/platform-mc/manager.hpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pldm::platform_mc::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::Manager::getActiveEidByName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> getActiveEidByName(\n        const std::string&
      terminusName) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pldm::platform_mc::Manager::Manager
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(sdeventplus::Event& event, RequesterHandler& handler,\n
      \                    pldm::InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/manager.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm::platform_mc::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - removeMctpTerminus
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toTid
      Src: /src/pldm/platform-mc/manager.hpp:88,1
    - Dst: startSensorPollTimer
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:93,1
    - Dst: disableTerminusSensors
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:97,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/manager.hpp:99,1
    - Dst: pldm::platform_mc::Manager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/manager.hpp:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 4
    functionsReached:
    - disableTerminusSensors
    - pldm::platform_mc::Manager::updateAvailableState
    - pldm::platform_mc::Manager::updateMctpEndpointAvailability
    - startSensorPollTimer
    - toTid
    - auto::value
    linkageType: ''
    returnType: void
    signature: "void updateMctpEndpointAvailability(const MctpInfo& mctpInfo,\n                                        Availability
      availability) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startPolling
      Src: /src/pldm/platform-mc/manager.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: pldm::platform_mc::Manager::startSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - startPolling
    linkageType: ''
    returnType: void
    signature: void startSensorPolling(pldm_tid_t tid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/manager.hpp:118,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:120,1
    - Dst: pldm::platform_mc::Manager::updateAvailableState
      Src: /src/pldm/platform-mc/manager.hpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::Manager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 8
    functionsReached:
    - pldm::platform_mc::Manager::updateAvailableState
    - contains
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopPolling
      Src: /src/pldm/platform-mc/manager.hpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pldm::platform_mc::Manager::stopSensorPolling
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - stopPolling
    linkageType: ''
    returnType: void
    signature: void stopSensorPolling(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:146,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pldm::platform_mc::Manager::handleSensorEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleSensorEvent(const pldm_msg* request, size_t payloadLength,\n
      \                         uint8_t /* formatVersion */, uint8_t tid,\n                          size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:170,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: pldm::platform_mc::Manager::handleCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - const_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handleCperEvent(const pldm_msg* request, size_t payloadLength,\n
      \                       uint8_t /* formatVersion */, uint8_t tid,\n                        size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/platform-mc/manager.hpp:192,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - request
    - payloadLength
    - tid
    - eventDataOffset
    argTypes:
    - pldm_msg*
    - size_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: pldm::platform_mc::Manager::handlePldmMessagePollEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePldmMessagePollEvent(\n        const pldm_msg* request,
      size_t payloadLength,\n        uint8_t /* formatVersion */, uint8_t tid, size_t
      eventDataOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/manager.hpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tid
    - eventId
    - eventData
    - eventDataSize
    argTypes:
    - pldm_tid_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pldm::platform_mc::Manager::handlePolledCperEvent
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - handlePlatformEvent
    linkageType: ''
    returnType: int
    signature: "int handlePolledCperEvent(pldm_tid_t tid, uint16_t eventId,\n                              const
      uint8_t* eventData, size_t eventDataSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/manager.hpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: pldm::platform_mc::Manager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::Manager::registerPolledEventHandler
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/manager.hpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handler
    argTypes:
    - PollHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pldm::platform_mc::Manager::registerOEMPollMethod
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - push_back
    linkageType: ''
    returnType: void
    signature: void registerOEMPollMethod(PollHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::Manager::getActiveEidByName
      Src: /src/pldm/platform-mc/manager.hpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pldm::platform_mc::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/manager.hpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::Manager::getActiveEidByName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> getActiveEidByName(\n        const std::string&
      terminusName) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~NumericSensor()
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NumericSensor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:114,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inventoryPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::NumericSensor::setInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - associations
    linkageType: ''
    returnType: void
    signature: void setInventoryPath(const std::string& inventoryPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:133,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:149,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:165,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:181,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:197,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperHardShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:213,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerHardShutdown()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:234,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:240,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:241,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:244,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:245,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:248,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:249,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: pldm::platform_mc::NumericSensor::getThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 8
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    linkageType: ''
    returnType: double
    signature: "double getThreshold(pldm::utils::Level level,\n                        pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: pldm::platform_mc::NumericSensor::isThresholdValid
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThreshold
    - std::isfinite
    linkageType: ''
    returnType: bool
    signature: "bool isThresholdValid(pldm::utils::Level level,\n                          pldm::utils::Direction
      direction)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:279,1
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:287,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:288,1
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:291,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:292,1
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:295,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: pldm::platform_mc::NumericSensor::getThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 12
    functionsReached:
    - warningAlarmHigh
    - warningAlarmLow
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: bool
    signature: "bool getThresholdAlarm(pldm::utils::Level level,\n                           pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~NumericSensor()
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NumericSensor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:114,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inventoryPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::NumericSensor::setInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - associations
    linkageType: ''
    returnType: void
    signature: void setInventoryPath(const std::string& inventoryPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:133,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:149,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:165,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:181,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:197,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperHardShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:213,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerHardShutdown()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:234,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:240,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:241,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:244,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:245,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:248,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:249,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: pldm::platform_mc::NumericSensor::getThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 9
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    linkageType: ''
    returnType: double
    signature: "double getThreshold(pldm::utils::Level level,\n                        pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: pldm::platform_mc::NumericSensor::isThresholdValid
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 5
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThreshold
    - std::isfinite
    linkageType: ''
    returnType: bool
    signature: "bool isThresholdValid(pldm::utils::Level level,\n                          pldm::utils::Direction
      direction)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:279,1
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:287,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:288,1
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:291,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:292,1
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:295,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: pldm::platform_mc::NumericSensor::getThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 12
    functionsReached:
    - warningAlarmHigh
    - warningAlarmLow
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: bool
    signature: "bool getThresholdAlarm(pldm::utils::Level level,\n                           pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~NumericSensor()
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NumericSensor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:114,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inventoryPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::NumericSensor::setInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - associations
    linkageType: ''
    returnType: void
    signature: void setInventoryPath(const std::string& inventoryPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:133,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:149,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:165,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:181,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:197,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperHardShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:213,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerHardShutdown()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:234,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:240,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:241,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:244,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:245,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:248,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:249,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: pldm::platform_mc::NumericSensor::getThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 10
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    linkageType: ''
    returnType: double
    signature: "double getThreshold(pldm::utils::Level level,\n                        pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: pldm::platform_mc::NumericSensor::isThresholdValid
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 6
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThreshold
    - std::isfinite
    linkageType: ''
    returnType: bool
    signature: "bool isThresholdValid(pldm::utils::Level level,\n                          pldm::utils::Direction
      direction)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:279,1
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:287,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:288,1
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:291,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:292,1
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:295,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: pldm::platform_mc::NumericSensor::getThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 12
    functionsReached:
    - warningAlarmHigh
    - warningAlarmLow
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: bool
    signature: "bool getThresholdAlarm(pldm::utils::Level level,\n                           pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: ~NumericSensor()
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NumericSensor()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:114,1
    - Dst: associations
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' inventoryPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: pldm::platform_mc::NumericSensor::setInventoryPath
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 0
    functionsReached:
    - associations
    linkageType: ''
    returnType: void
    signature: void setInventoryPath(const std::string& inventoryPath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:133,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: criticalLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:149,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - criticalLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerCritical()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:165,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: warningLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:181,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - warningLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerWarning()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:197,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownHigh
    linkageType: ''
    returnType: double
    signature: double getThresholdUpperHardShutdown()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hardShutdownLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:213,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    - hardShutdownLow
    linkageType: ''
    returnType: double
    signature: double getThresholdLowerHardShutdown()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:234,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:240,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerWarning
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:241,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:244,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerCritical
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:245,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:248,1
    - Dst: pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:249,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: pldm::platform_mc::NumericSensor::getThreshold
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 11
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
    - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
    - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
    - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
    - std::numeric_limits<double>::quiet_NaN
    - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
    linkageType: ''
    returnType: double
    signature: "double getThreshold(pldm::utils::Level level,\n                        pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    - Dst: pldm::platform_mc::NumericSensor::getThreshold
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: pldm::platform_mc::NumericSensor::isThresholdValid
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 7
    functionsReached:
    - pldm::platform_mc::NumericSensor::getThreshold
    - std::isfinite
    linkageType: ''
    returnType: bool
    signature: "bool isThresholdValid(pldm::utils::Level level,\n                          pldm::utils::Direction
      direction)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::NumericSensor::isThresholdValid
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:279,1
    - Dst: warningAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:287,1
    - Dst: warningAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:288,1
    - Dst: criticalAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:291,1
    - Dst: criticalAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:292,1
    - Dst: hardShutdownAlarmHigh
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:295,1
    - Dst: hardShutdownAlarmLow
      Src: /src/pldm/platform-mc/numeric_sensor.hpp:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - level
    - direction
    argTypes:
    - pldm::utils::Level
    - pldm::utils::Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 301
    functionName: pldm::platform_mc::NumericSensor::getThresholdAlarm
    functionSourceFile: /src/pldm/platform-mc/numeric_sensor.hpp
    functionUses: 12
    functionsReached:
    - warningAlarmHigh
    - warningAlarmLow
    - hardShutdownAlarmHigh
    - hardShutdownAlarmLow
    - pldm::platform_mc::NumericSensor::isThresholdValid
    - criticalAlarmHigh
    - criticalAlarmLow
    linkageType: ''
    returnType: bool
    signature: "bool getThresholdAlarm(pldm::utils::Level level,\n                           pldm::utils::Direction
      direction)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const EventManager&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(EventManager&&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EventManager()
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:51,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:55,1
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:59,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::registerPolledEventHandler
    - pldm::platform_mc::EventManager::handlePlatformEvent
    linkageType: ''
    returnType: void
    signature: "void EventManager(TerminusManager& terminusManager,\n                          TerminiMapper&
      termini)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::EventManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::EventManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/platform-mc/event_manager.hpp:120,1
    - Dst: second::emplace_back
      Src: /src/pldm/platform-mc/event_manager.hpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: pldm::platform_mc::EventManager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 1
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const EventManager&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(EventManager&&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EventManager()
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:51,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:55,1
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:59,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::registerPolledEventHandler
    - pldm::platform_mc::EventManager::handlePlatformEvent
    linkageType: ''
    returnType: void
    signature: "void EventManager(TerminusManager& terminusManager,\n                          TerminiMapper&
      termini)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::EventManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::EventManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/platform-mc/event_manager.hpp:120,1
    - Dst: second::emplace_back
      Src: /src/pldm/platform-mc/event_manager.hpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: pldm::platform_mc::EventManager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 2
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const EventManager&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(EventManager&&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EventManager()
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:51,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:55,1
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:59,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::registerPolledEventHandler
    - pldm::platform_mc::EventManager::handlePlatformEvent
    linkageType: ''
    returnType: void
    signature: "void EventManager(TerminusManager& terminusManager,\n                          TerminiMapper&
      termini)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::EventManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::EventManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/platform-mc/event_manager.hpp:120,1
    - Dst: second::emplace_back
      Src: /src/pldm/platform-mc/event_manager.hpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: pldm::platform_mc::EventManager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 3
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventManager(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const EventManager&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(const EventManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(EventManager&&)'
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EventManager
    signature: EventManager & operator=(EventManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~EventManager()
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:51,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:55,1
    - Dst: pldm::platform_mc::EventManager::registerPolledEventHandler
      Src: /src/pldm/platform-mc/event_manager.hpp:59,1
    - Dst: pldm::platform_mc::EventManager::handlePlatformEvent
      Src: /src/pldm/platform-mc/event_manager.hpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: pldm::platform_mc::EventManager::EventManager
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::EventManager::registerPolledEventHandler
    - pldm::platform_mc::EventManager::handlePlatformEvent
    linkageType: ''
    returnType: void
    signature: "void EventManager(TerminusManager& terminusManager,\n                          TerminiMapper&
      termini)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tid
    - state
    argTypes:
    - pldm_tid_t
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pldm::platform_mc::EventManager::updateAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateAvailableState(pldm_tid_t tid, Availability state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/event_manager.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tid
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm::platform_mc::EventManager::getAvailableState
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 8
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool getAvailableState(pldm_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_emplace
      Src: /src/pldm/platform-mc/event_manager.hpp:120,1
    - Dst: second::emplace_back
      Src: /src/pldm/platform-mc/event_manager.hpp:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - eventClass
    - handlers
    argTypes:
    - uint8_t
    - pldm::platform_mc::HandlerFuncs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: pldm::platform_mc::EventManager::registerPolledEventHandler
    functionSourceFile: /src/pldm/platform-mc/event_manager.hpp
    functionUses: 4
    functionsReached:
    - second::emplace_back
    - try_emplace
    linkageType: ''
    returnType: void
    signature: "void registerPolledEventHandler(uint8_t eventClass,\n                                    pldm::platform_mc::HandlerFuncs
      handlers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::transportLayerTable::contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:21,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:27,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::TerminusManager::toMctpInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pldm::platform_mc::TerminusManager::transportLayerTable::contains
    linkageType: ''
    returnType: std::optional<MctpInfo>
    signature: std::optional<MctpInfo> TerminusManager::toMctpInfo(const pldm_tid_t&
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:43,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: pldm::platform_mc::TerminusManager::toTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::toTid(const MctpInfo& mctpInfo)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' mctpInfo'
    - tid
    argTypes:
    - MctpInfo
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: pldm::platform_mc::TerminusManager::storeTerminusInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: "std::optional<pldm_tid_t> TerminusManager::storeTerminusInfo(\n    const
      MctpInfo& mctpInfo, pldm_tid_t tid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:87,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:92,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:98,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::TerminusManager::mapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::isValidEID
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - std::find
    - std::find_if
    - end
    - std::get<3>
    - std::distance
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::mapTid(const MctpInfo& mctpInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:115,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:117,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:120,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: pldm::platform_mc::TerminusManager::unmapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - contains
    - erase
    linkageType: ''
    returnType: bool
    signature: bool TerminusManager::unmapTid(const pldm_tid_t& tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/pldm/platform-mc/terminus_manager.cpp:131,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:135,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - updateAvailableState
    - pldm::platform_mc::TerminusManager::toTid
    - auto::value
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void TerminusManager::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                     Availability
      availability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus_manager.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: pldm::platform_mc::TerminusManager::constructEndpointObjPath
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<3>
    - std::to_string
    - std::get<0>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string TerminusManager::constructEndpointObjPath(const MctpInfo&
      mctpInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:153,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:154,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:157,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: on_empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus_manager.cpp:162,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:164,1
    - Dst: spawn
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: stdexec::then
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - spawn
    - exec::default_task_context<void>
    - stdexec::sync_wait
    - has_value
    - reset
    - stdexec::then
    - on_empty
    - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    linkageType: ''
    returnType: void
    signature: void TerminusManager::discoverMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:173,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:175,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:178,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: pldm::platform_mc::TerminusManager::findTerminusPtr
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - auto::value
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: TerminiMapper::iterator
    signature: "TerminiMapper::iterator TerminusManager::findTerminusPtr(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:190,1
    - Dst: beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:195,1
    - Dst: front
      Src: /src/pldm/platform-mc/terminus_manager.cpp:198,1
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:201,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:202,1
    - Dst: pldm::platform_mc::TerminusManager::initMctpTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:205,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:208,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:210,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:211,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:212,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:219,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:222,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:224,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:225,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:226,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: afterDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:235,1
    - Dst: pop
      Src: /src/pldm/platform-mc/terminus_manager.cpp:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 247
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - empty
    - pop
    - beforeDiscoverTerminus
    - pldm::platform_mc::TerminusManager::initMctpTerminus
    - std::get<0>
    - auto::value
    - pldm::platform_mc::TerminusManager::toTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - std::vector::push_back
    - end
    - std::get<3>
    - afterDiscoverTerminus
    - lg2::error
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::discoverMctpTerminusTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:254,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:255,1
    - Dst: stopSensorPolling
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: auto::second::getTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:265,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:266,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: pldm::platform_mc::TerminusManager::removeMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::second::getTid
    - pldm::platform_mc::TerminusManager::unmapTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - end
    - stopSensorPolling
    linkageType: ''
    returnType: void
    signature: void TerminusManager::removeMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:273,1
    - Dst: pldm::platform_mc::TerminusManager::getTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:276,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:279,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:285,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:293,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:294,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:296,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:300,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:302,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:319,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:322,1
    - Dst: pldm::platform_mc::TerminusManager::mapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:337,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:342,1
    - Dst: pldm::platform_mc::TerminusManager::setTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:343,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:348,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:353,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:357,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:361,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMTypes
      Src: /src/pldm/platform-mc/terminus_manager.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:372,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:374,1
    - Dst: std::make_shared<Terminus>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:380,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:384,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:386,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/terminus_manager.cpp:395,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMVersion
      Src: /src/pldm/platform-mc/terminus_manager.cpp:402,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:405,1
    - Dst: setSupportedTypeVersions
      Src: /src/pldm/platform-mc/terminus_manager.cpp:409,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:419,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:422,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:424,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:433,1
    - Dst: std::get<4>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:436,1
    - Dst: MctpInfoName::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:437,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus_manager.cpp:439,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:440,1
    - Dst: setTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 445
    functionName: pldm::platform_mc::TerminusManager::initMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - find
    - std::vector::data
    - pldm::platform_mc::TerminusManager::getPLDMTypes
    - setSupportedTypeVersions
    - std::vector::size
    - lg2::info
    - MctpInfoName::has_value
    - setSupportedCommands
    - pldm::platform_mc::TerminusManager::getPLDMCommands
    - pldm::platform_mc::TerminusManager::setTidOverMctp
    - pldm::platform_mc::TerminusManager::getPLDMVersion
    - std::get<3>
    - pldm::platform_mc::TerminusManager::mapTid
    - lg2::error
    - std::get<4>
    - std::make_shared<Terminus>
    - pldm::platform_mc::TerminusManager::getTidOverMctp
    - pldm::platform_mc::TerminusManager::unmapTid
    - end
    - MctpInfoName::value
    - contains
    - setTerminusName
    - auto::value
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::initMctpTerminus(const MctpInfo& mctpInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/platform-mc/terminus_manager.cpp:454,1
    - Dst: sendRecvMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:459,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - eid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - mctp_eid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - std::tie
    - lg2::error
    - std::move
    - sendRecvMsg
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsgOverMctp(\n    mctp_eid_t
      eid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:482,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:485,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:488,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:489,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:497,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:501,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:507,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 526
    functionName: pldm::platform_mc::TerminusManager::getTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - encode_get_tid_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - next
    - Request::data
    - free
    - decode_pldm_base_get_tid_resp
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::getTidOverMctp(mctp_eid_t eid, pldm_tid_t*
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:530,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:535,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:538,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:541,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:542,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:550,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:554,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: pldm::platform_mc::TerminusManager::setTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - encode_set_tid_req
    - next
    - Request::data
    - free
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: encode_get_types_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:575,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:578,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:590,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:596,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:599,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:607,1
    - Dst: ::memcpy
      Src: /src/pldm/platform-mc/terminus_manager.cpp:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - tid
    - ' supportedTypes'
    argTypes:
    - pldm_tid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 615
    functionName: pldm::platform_mc::TerminusManager::getPLDMTypes
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - ::memcpy
    - decode_pldm_base_get_pldm_types_resp
    - encode_get_types_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMTypes(pldm_tid_t tid,\n                                              uint64_t&
      supportedTypes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:626,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:635,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:638,1
    - Dst: decode_get_commands_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:646,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:650,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - tid
    - type
    - version
    - supportedCmds
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 665
    functionName: pldm::platform_mc::TerminusManager::getPLDMCommands
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_get_commands_resp
    - encode_get_commands_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMCommands(\n    pldm_tid_t
      tid, uint8_t type, ver32_t version, bitfield8_t* supportedCmds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:680,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:690,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:691,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:702,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:709,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:714,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:715,1
    - Dst: pldm::platform_mc::TerminusManager::constructEndpointObjPath
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: pldm::utils::recoverMctpEndpoint
      Src: /src/pldm/platform-mc/terminus_manager.cpp:726,1
    - Dst: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - tid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - pldm_tid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 731
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - data
    - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - contains
    - next
    - pldm::utils::recoverMctpEndpoint
    - auto::has_value
    - pldm_msg::pldm_msg
    - auto::value
    - pldm::platform_mc::TerminusManager::constructEndpointObjPath
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsg(\n    pldm_tid_t
      tid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: encode_get_version_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:740,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:743,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:752,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:755,1
    - Dst: decode_get_version_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:765,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:769,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - type
    - version
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 784
    functionName: pldm::platform_mc::TerminusManager::getPLDMVersion
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_get_version_resp
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMVersion(pldm_tid_t tid, uint8_t
      type,\n                                                ver32_t* version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:801,1
    - Dst: std::empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:802,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:809,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:815,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 824
    functionName: pldm::platform_mc::TerminusManager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::empty
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - getTerminusName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> TerminusManager::getActiveEidByName(\n    const
      std::string& terminusName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::transportLayerTable::contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:21,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:27,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::TerminusManager::toMctpInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    - pldm::platform_mc::TerminusManager::transportLayerTable::contains
    linkageType: ''
    returnType: std::optional<MctpInfo>
    signature: std::optional<MctpInfo> TerminusManager::toMctpInfo(const pldm_tid_t&
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:43,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: pldm::platform_mc::TerminusManager::toTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::toTid(const MctpInfo& mctpInfo)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' mctpInfo'
    - tid
    argTypes:
    - MctpInfo
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: pldm::platform_mc::TerminusManager::storeTerminusInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: "std::optional<pldm_tid_t> TerminusManager::storeTerminusInfo(\n    const
      MctpInfo& mctpInfo, pldm_tid_t tid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:87,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:92,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:98,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::TerminusManager::mapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::isValidEID
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - std::find
    - std::find_if
    - end
    - std::get<3>
    - std::distance
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::mapTid(const MctpInfo& mctpInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:115,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:117,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:120,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: pldm::platform_mc::TerminusManager::unmapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - contains
    - erase
    linkageType: ''
    returnType: bool
    signature: bool TerminusManager::unmapTid(const pldm_tid_t& tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/pldm/platform-mc/terminus_manager.cpp:131,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:135,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - updateAvailableState
    - pldm::platform_mc::TerminusManager::toTid
    - auto::value
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void TerminusManager::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                     Availability
      availability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus_manager.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: pldm::platform_mc::TerminusManager::constructEndpointObjPath
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 1
    functionsReached:
    - std::get<3>
    - std::to_string
    - std::get<0>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string TerminusManager::constructEndpointObjPath(const MctpInfo&
      mctpInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:153,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:154,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:157,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: on_empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus_manager.cpp:162,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:164,1
    - Dst: spawn
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: stdexec::then
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - spawn
    - exec::default_task_context<void>
    - stdexec::sync_wait
    - has_value
    - reset
    - stdexec::then
    - on_empty
    - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    linkageType: ''
    returnType: void
    signature: void TerminusManager::discoverMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:173,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:175,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:178,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: pldm::platform_mc::TerminusManager::findTerminusPtr
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - auto::value
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: TerminiMapper::iterator
    signature: "TerminiMapper::iterator TerminusManager::findTerminusPtr(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:190,1
    - Dst: beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:195,1
    - Dst: front
      Src: /src/pldm/platform-mc/terminus_manager.cpp:198,1
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:201,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:202,1
    - Dst: pldm::platform_mc::TerminusManager::initMctpTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:205,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:208,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:210,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:211,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:212,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:219,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:222,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:224,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:225,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:226,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: afterDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:235,1
    - Dst: pop
      Src: /src/pldm/platform-mc/terminus_manager.cpp:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 247
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - empty
    - pop
    - beforeDiscoverTerminus
    - pldm::platform_mc::TerminusManager::initMctpTerminus
    - std::get<0>
    - auto::value
    - pldm::platform_mc::TerminusManager::toTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - std::vector::push_back
    - end
    - std::get<3>
    - afterDiscoverTerminus
    - lg2::error
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::discoverMctpTerminusTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:254,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:255,1
    - Dst: stopSensorPolling
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: auto::second::getTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:265,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:266,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: pldm::platform_mc::TerminusManager::removeMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::second::getTid
    - pldm::platform_mc::TerminusManager::unmapTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - end
    - stopSensorPolling
    linkageType: ''
    returnType: void
    signature: void TerminusManager::removeMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:273,1
    - Dst: pldm::platform_mc::TerminusManager::getTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:276,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:279,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:285,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:293,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:294,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:296,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:300,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:302,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:319,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:322,1
    - Dst: pldm::platform_mc::TerminusManager::mapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:337,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:342,1
    - Dst: pldm::platform_mc::TerminusManager::setTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:343,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:348,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:353,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:357,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:361,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMTypes
      Src: /src/pldm/platform-mc/terminus_manager.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:372,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:374,1
    - Dst: std::make_shared<Terminus>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:380,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:384,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:386,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/terminus_manager.cpp:395,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMVersion
      Src: /src/pldm/platform-mc/terminus_manager.cpp:402,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:405,1
    - Dst: setSupportedTypeVersions
      Src: /src/pldm/platform-mc/terminus_manager.cpp:409,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:419,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:422,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:424,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:433,1
    - Dst: std::get<4>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:436,1
    - Dst: MctpInfoName::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:437,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus_manager.cpp:439,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:440,1
    - Dst: setTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 445
    functionName: pldm::platform_mc::TerminusManager::initMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - find
    - std::vector::data
    - pldm::platform_mc::TerminusManager::getPLDMTypes
    - setSupportedTypeVersions
    - std::vector::size
    - lg2::info
    - MctpInfoName::has_value
    - setSupportedCommands
    - pldm::platform_mc::TerminusManager::getPLDMCommands
    - pldm::platform_mc::TerminusManager::setTidOverMctp
    - pldm::platform_mc::TerminusManager::getPLDMVersion
    - std::get<3>
    - pldm::platform_mc::TerminusManager::mapTid
    - lg2::error
    - std::get<4>
    - std::make_shared<Terminus>
    - pldm::platform_mc::TerminusManager::getTidOverMctp
    - pldm::platform_mc::TerminusManager::unmapTid
    - end
    - MctpInfoName::value
    - contains
    - setTerminusName
    - auto::value
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::initMctpTerminus(const MctpInfo& mctpInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/platform-mc/terminus_manager.cpp:454,1
    - Dst: sendRecvMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:459,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - eid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - mctp_eid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - std::tie
    - lg2::error
    - std::move
    - sendRecvMsg
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsgOverMctp(\n    mctp_eid_t
      eid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:482,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:485,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:488,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:489,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:497,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:501,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:507,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 526
    functionName: pldm::platform_mc::TerminusManager::getTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - encode_get_tid_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - next
    - Request::data
    - free
    - decode_pldm_base_get_tid_resp
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::getTidOverMctp(mctp_eid_t eid, pldm_tid_t*
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:530,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:535,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:538,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:541,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:542,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:550,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:554,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: pldm::platform_mc::TerminusManager::setTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - encode_set_tid_req
    - next
    - Request::data
    - free
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: encode_get_types_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:575,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:578,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:590,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:596,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:599,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:607,1
    - Dst: ::memcpy
      Src: /src/pldm/platform-mc/terminus_manager.cpp:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - tid
    - ' supportedTypes'
    argTypes:
    - pldm_tid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 615
    functionName: pldm::platform_mc::TerminusManager::getPLDMTypes
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - ::memcpy
    - decode_pldm_base_get_pldm_types_resp
    - encode_get_types_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMTypes(pldm_tid_t tid,\n                                              uint64_t&
      supportedTypes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:626,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:635,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:638,1
    - Dst: decode_get_commands_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:646,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:650,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - tid
    - type
    - version
    - supportedCmds
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 665
    functionName: pldm::platform_mc::TerminusManager::getPLDMCommands
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_get_commands_resp
    - encode_get_commands_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMCommands(\n    pldm_tid_t
      tid, uint8_t type, ver32_t version, bitfield8_t* supportedCmds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:680,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:690,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:691,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:702,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:709,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:714,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:715,1
    - Dst: pldm::platform_mc::TerminusManager::constructEndpointObjPath
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: pldm::utils::recoverMctpEndpoint
      Src: /src/pldm/platform-mc/terminus_manager.cpp:726,1
    - Dst: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - tid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - pldm_tid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 731
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 5
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - data
    - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - contains
    - next
    - pldm::utils::recoverMctpEndpoint
    - auto::has_value
    - pldm_msg::pldm_msg
    - auto::value
    - pldm::platform_mc::TerminusManager::constructEndpointObjPath
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsg(\n    pldm_tid_t
      tid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: encode_get_version_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:740,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:743,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:752,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:755,1
    - Dst: decode_get_version_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:765,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:769,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - type
    - version
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 784
    functionName: pldm::platform_mc::TerminusManager::getPLDMVersion
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_get_version_resp
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMVersion(pldm_tid_t tid, uint8_t
      type,\n                                                ver32_t* version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:801,1
    - Dst: std::empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:802,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:809,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:815,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 824
    functionName: pldm::platform_mc::TerminusManager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::empty
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - getTerminusName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> TerminusManager::getActiveEidByName(\n    const
      std::string& terminusName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::transportLayerTable::contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:21,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:27,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::TerminusManager::toMctpInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 8
    functionsReached:
    - end
    - find
    - pldm::platform_mc::TerminusManager::transportLayerTable::contains
    linkageType: ''
    returnType: std::optional<MctpInfo>
    signature: std::optional<MctpInfo> TerminusManager::toMctpInfo(const pldm_tid_t&
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:43,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: pldm::platform_mc::TerminusManager::toTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::toTid(const MctpInfo& mctpInfo)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' mctpInfo'
    - tid
    argTypes:
    - MctpInfo
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: pldm::platform_mc::TerminusManager::storeTerminusInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: "std::optional<pldm_tid_t> TerminusManager::storeTerminusInfo(\n    const
      MctpInfo& mctpInfo, pldm_tid_t tid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:87,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:92,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:98,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::TerminusManager::mapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::utils::isValidEID
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - std::find
    - std::find_if
    - end
    - std::get<3>
    - std::distance
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::mapTid(const MctpInfo& mctpInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:115,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:117,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:120,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: pldm::platform_mc::TerminusManager::unmapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - contains
    - erase
    linkageType: ''
    returnType: bool
    signature: bool TerminusManager::unmapTid(const pldm_tid_t& tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/pldm/platform-mc/terminus_manager.cpp:131,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:135,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - updateAvailableState
    - pldm::platform_mc::TerminusManager::toTid
    - auto::value
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void TerminusManager::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                     Availability
      availability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus_manager.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: pldm::platform_mc::TerminusManager::constructEndpointObjPath
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 2
    functionsReached:
    - std::get<3>
    - std::to_string
    - std::get<0>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string TerminusManager::constructEndpointObjPath(const MctpInfo&
      mctpInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:153,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:154,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:157,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: on_empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus_manager.cpp:162,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:164,1
    - Dst: spawn
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: stdexec::then
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - spawn
    - exec::default_task_context<void>
    - stdexec::sync_wait
    - has_value
    - reset
    - stdexec::then
    - on_empty
    - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    linkageType: ''
    returnType: void
    signature: void TerminusManager::discoverMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:173,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:175,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:178,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: pldm::platform_mc::TerminusManager::findTerminusPtr
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - auto::value
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: TerminiMapper::iterator
    signature: "TerminiMapper::iterator TerminusManager::findTerminusPtr(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:190,1
    - Dst: beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:195,1
    - Dst: front
      Src: /src/pldm/platform-mc/terminus_manager.cpp:198,1
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:201,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:202,1
    - Dst: pldm::platform_mc::TerminusManager::initMctpTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:205,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:208,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:210,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:211,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:212,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:219,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:222,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:224,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:225,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:226,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: afterDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:235,1
    - Dst: pop
      Src: /src/pldm/platform-mc/terminus_manager.cpp:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 247
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - empty
    - pop
    - beforeDiscoverTerminus
    - pldm::platform_mc::TerminusManager::initMctpTerminus
    - std::get<0>
    - auto::value
    - pldm::platform_mc::TerminusManager::toTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - std::vector::push_back
    - end
    - std::get<3>
    - afterDiscoverTerminus
    - lg2::error
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::discoverMctpTerminusTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:254,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:255,1
    - Dst: stopSensorPolling
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: auto::second::getTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:265,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:266,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: pldm::platform_mc::TerminusManager::removeMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::second::getTid
    - pldm::platform_mc::TerminusManager::unmapTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - end
    - stopSensorPolling
    linkageType: ''
    returnType: void
    signature: void TerminusManager::removeMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:273,1
    - Dst: pldm::platform_mc::TerminusManager::getTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:276,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:279,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:285,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:293,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:294,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:296,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:300,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:302,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:319,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:322,1
    - Dst: pldm::platform_mc::TerminusManager::mapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:337,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:342,1
    - Dst: pldm::platform_mc::TerminusManager::setTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:343,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:348,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:353,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:357,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:361,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMTypes
      Src: /src/pldm/platform-mc/terminus_manager.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:372,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:374,1
    - Dst: std::make_shared<Terminus>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:380,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:384,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:386,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/terminus_manager.cpp:395,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMVersion
      Src: /src/pldm/platform-mc/terminus_manager.cpp:402,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:405,1
    - Dst: setSupportedTypeVersions
      Src: /src/pldm/platform-mc/terminus_manager.cpp:409,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:419,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:422,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:424,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:433,1
    - Dst: std::get<4>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:436,1
    - Dst: MctpInfoName::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:437,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus_manager.cpp:439,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:440,1
    - Dst: setTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 445
    functionName: pldm::platform_mc::TerminusManager::initMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - find
    - std::vector::data
    - pldm::platform_mc::TerminusManager::getPLDMTypes
    - setSupportedTypeVersions
    - std::vector::size
    - lg2::info
    - MctpInfoName::has_value
    - setSupportedCommands
    - pldm::platform_mc::TerminusManager::getPLDMCommands
    - pldm::platform_mc::TerminusManager::setTidOverMctp
    - pldm::platform_mc::TerminusManager::getPLDMVersion
    - std::get<3>
    - pldm::platform_mc::TerminusManager::mapTid
    - lg2::error
    - std::get<4>
    - std::make_shared<Terminus>
    - pldm::platform_mc::TerminusManager::getTidOverMctp
    - pldm::platform_mc::TerminusManager::unmapTid
    - end
    - MctpInfoName::value
    - contains
    - setTerminusName
    - auto::value
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::initMctpTerminus(const MctpInfo& mctpInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/platform-mc/terminus_manager.cpp:454,1
    - Dst: sendRecvMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:459,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - eid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - mctp_eid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 6
    functionsReached:
    - std::tie
    - lg2::error
    - std::move
    - sendRecvMsg
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsgOverMctp(\n    mctp_eid_t
      eid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:482,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:485,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:488,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:489,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:497,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:501,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:507,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 526
    functionName: pldm::platform_mc::TerminusManager::getTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - encode_get_tid_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - next
    - Request::data
    - free
    - decode_pldm_base_get_tid_resp
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::getTidOverMctp(mctp_eid_t eid, pldm_tid_t*
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:530,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:535,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:538,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:541,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:542,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:550,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:554,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: pldm::platform_mc::TerminusManager::setTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - encode_set_tid_req
    - next
    - Request::data
    - free
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: encode_get_types_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:575,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:578,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:590,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:596,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:599,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:607,1
    - Dst: ::memcpy
      Src: /src/pldm/platform-mc/terminus_manager.cpp:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - tid
    - ' supportedTypes'
    argTypes:
    - pldm_tid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 615
    functionName: pldm::platform_mc::TerminusManager::getPLDMTypes
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - ::memcpy
    - decode_pldm_base_get_pldm_types_resp
    - encode_get_types_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMTypes(pldm_tid_t tid,\n                                              uint64_t&
      supportedTypes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:626,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:635,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:638,1
    - Dst: decode_get_commands_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:646,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:650,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - tid
    - type
    - version
    - supportedCmds
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 665
    functionName: pldm::platform_mc::TerminusManager::getPLDMCommands
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_get_commands_resp
    - encode_get_commands_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMCommands(\n    pldm_tid_t
      tid, uint8_t type, ver32_t version, bitfield8_t* supportedCmds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:680,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:690,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:691,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:702,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:709,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:714,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:715,1
    - Dst: pldm::platform_mc::TerminusManager::constructEndpointObjPath
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: pldm::utils::recoverMctpEndpoint
      Src: /src/pldm/platform-mc/terminus_manager.cpp:726,1
    - Dst: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - tid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - pldm_tid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 731
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 8
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - data
    - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - contains
    - next
    - pldm::utils::recoverMctpEndpoint
    - auto::has_value
    - pldm_msg::pldm_msg
    - auto::value
    - pldm::platform_mc::TerminusManager::constructEndpointObjPath
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsg(\n    pldm_tid_t
      tid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: encode_get_version_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:740,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:743,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:752,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:755,1
    - Dst: decode_get_version_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:765,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:769,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - type
    - version
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 784
    functionName: pldm::platform_mc::TerminusManager::getPLDMVersion
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_get_version_resp
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMVersion(pldm_tid_t tid, uint8_t
      type,\n                                                ver32_t* version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:801,1
    - Dst: std::empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:802,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:809,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:815,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 824
    functionName: pldm::platform_mc::TerminusManager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::empty
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - getTerminusName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> TerminusManager::getActiveEidByName(\n    const
      std::string& terminusName)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::transportLayerTable::contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:21,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:27,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 34
    functionName: pldm::platform_mc::TerminusManager::toMctpInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 12
    functionsReached:
    - end
    - find
    - pldm::platform_mc::TerminusManager::transportLayerTable::contains
    linkageType: ''
    returnType: std::optional<MctpInfo>
    signature: std::optional<MctpInfo> TerminusManager::toMctpInfo(const pldm_tid_t&
      tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:38,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:43,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:44,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:45,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:46,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: pldm::platform_mc::TerminusManager::toTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::toTid(const MctpInfo& mctpInfo)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' mctpInfo'
    - tid
    argTypes:
    - MctpInfo
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: pldm::platform_mc::TerminusManager::storeTerminusInfo
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 6
    functionsReached:
    - pldm::utils::isValidEID
    - std::get<0>
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: "std::optional<pldm_tid_t> TerminusManager::storeTerminusInfo(\n    const
      MctpInfo& mctpInfo, pldm_tid_t tid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::isValidEID
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:82,1
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:87,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:88,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:89,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:90,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:92,1
    - Dst: std::find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:97,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:98,1
    - Dst: std::distance
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:103,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: pldm::platform_mc::TerminusManager::mapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::utils::isValidEID
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - std::find
    - std::find_if
    - end
    - std::get<3>
    - std::distance
    - begin
    linkageType: ''
    returnType: std::optional<pldm_tid_t>
    signature: std::optional<pldm_tid_t> TerminusManager::mapTid(const MctpInfo& mctpInfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:115,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:117,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:120,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' tid'
    argTypes:
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: pldm::platform_mc::TerminusManager::unmapTid
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 6
    functionsReached:
    - contains
    - erase
    linkageType: ''
    returnType: bool
    signature: bool TerminusManager::unmapTid(const pldm_tid_t& tid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insert_or_assign
      Src: /src/pldm/platform-mc/terminus_manager.cpp:131,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:135,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - updateAvailableState
    - pldm::platform_mc::TerminusManager::toTid
    - auto::value
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void TerminusManager::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                     Availability
      availability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:145,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:146,1
    - Dst: std::format
      Src: /src/pldm/platform-mc/terminus_manager.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: pldm::platform_mc::TerminusManager::constructEndpointObjPath
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 3
    functionsReached:
    - std::get<3>
    - std::to_string
    - std::get<0>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string TerminusManager::constructEndpointObjPath(const MctpInfo&
      mctpInfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:153,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:154,1
    - Dst: has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:157,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: on_empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:161,1
    - Dst: reset
      Src: /src/pldm/platform-mc/terminus_manager.cpp:162,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:164,1
    - Dst: spawn
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
      Src: /src/pldm/platform-mc/terminus_manager.cpp:165,1
    - Dst: stdexec::then
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: emplace
      Src: /src/pldm/platform-mc/terminus_manager.cpp:166,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - emplace
    - spawn
    - exec::default_task_context<void>
    - stdexec::sync_wait
    - has_value
    - reset
    - stdexec::then
    - on_empty
    - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    linkageType: ''
    returnType: void
    signature: void TerminusManager::discoverMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/platform-mc/terminus_manager.cpp:173,1
    - Dst: begin
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:174,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:175,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:177,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:178,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:179,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: pldm::platform_mc::TerminusManager::findTerminusPtr
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 6
    functionsReached:
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - auto::value
    - std::find_if
    - end
    - std::get<3>
    - begin
    linkageType: ''
    returnType: TerminiMapper::iterator
    signature: "TerminiMapper::iterator TerminusManager::findTerminusPtr(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:190,1
    - Dst: beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:195,1
    - Dst: front
      Src: /src/pldm/platform-mc/terminus_manager.cpp:198,1
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:201,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:202,1
    - Dst: pldm::platform_mc::TerminusManager::initMctpTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:205,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:208,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:210,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:211,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:212,1
    - Dst: pldm::platform_mc::TerminusManager::toTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:219,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:222,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:224,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:225,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:226,1
    - Dst: std::vector::push_back
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:230,1
    - Dst: afterDiscoverTerminus
      Src: /src/pldm/platform-mc/terminus_manager.cpp:235,1
    - Dst: pop
      Src: /src/pldm/platform-mc/terminus_manager.cpp:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 247
    functionName: pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - empty
    - pop
    - beforeDiscoverTerminus
    - pldm::platform_mc::TerminusManager::initMctpTerminus
    - std::get<0>
    - auto::value
    - pldm::platform_mc::TerminusManager::toTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - std::vector::push_back
    - end
    - std::get<3>
    - afterDiscoverTerminus
    - lg2::error
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::discoverMctpTerminusTask()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::platform_mc::TerminusManager::findTerminusPtr
      Src: /src/pldm/platform-mc/terminus_manager.cpp:254,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:255,1
    - Dst: stopSensorPolling
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: auto::second::getTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:262,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:265,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:266,1
    - Dst: erase
      Src: /src/pldm/platform-mc/terminus_manager.cpp:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: pldm::platform_mc::TerminusManager::removeMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - auto::second::getTid
    - pldm::platform_mc::TerminusManager::unmapTid
    - erase
    - pldm::platform_mc::TerminusManager::findTerminusPtr
    - end
    - stopSensorPolling
    linkageType: ''
    returnType: void
    signature: void TerminusManager::removeMctpTerminus(const MctpInfos& mctpInfos)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:273,1
    - Dst: pldm::platform_mc::TerminusManager::getTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:276,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:279,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:285,1
    - Dst: find
      Src: /src/pldm/platform-mc/terminus_manager.cpp:293,1
    - Dst: end
      Src: /src/pldm/platform-mc/terminus_manager.cpp:294,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:296,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:299,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:300,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:301,1
    - Dst: std::get<3>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:302,1
    - Dst: pldm::platform_mc::TerminusManager::storeTerminusInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:319,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:322,1
    - Dst: pldm::platform_mc::TerminusManager::mapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:334,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:337,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:342,1
    - Dst: pldm::platform_mc::TerminusManager::setTidOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:343,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:348,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:353,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:357,1
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:361,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMTypes
      Src: /src/pldm/platform-mc/terminus_manager.cpp:369,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:372,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:374,1
    - Dst: std::make_shared<Terminus>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:380,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:384,1
    - Dst: pldm::platform_mc::TerminusManager::unmapTid
      Src: /src/pldm/platform-mc/terminus_manager.cpp:386,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/terminus_manager.cpp:395,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMVersion
      Src: /src/pldm/platform-mc/terminus_manager.cpp:402,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:405,1
    - Dst: setSupportedTypeVersions
      Src: /src/pldm/platform-mc/terminus_manager.cpp:409,1
    - Dst: pldm::platform_mc::TerminusManager::getPLDMCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:411,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:419,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:422,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:424,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/terminus_manager.cpp:433,1
    - Dst: std::get<4>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:436,1
    - Dst: MctpInfoName::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:437,1
    - Dst: lg2::info
      Src: /src/pldm/platform-mc/terminus_manager.cpp:439,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:440,1
    - Dst: setTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    - Dst: MctpInfoName::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:441,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 445
    functionName: pldm::platform_mc::TerminusManager::initMctpTerminus
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::TerminusManager::storeTerminusInfo
    - std::get<0>
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - find
    - std::vector::data
    - pldm::platform_mc::TerminusManager::getPLDMTypes
    - setSupportedTypeVersions
    - std::vector::size
    - lg2::info
    - MctpInfoName::has_value
    - setSupportedCommands
    - pldm::platform_mc::TerminusManager::getPLDMCommands
    - pldm::platform_mc::TerminusManager::setTidOverMctp
    - pldm::platform_mc::TerminusManager::getPLDMVersion
    - std::get<3>
    - pldm::platform_mc::TerminusManager::mapTid
    - lg2::error
    - std::get<4>
    - std::make_shared<Terminus>
    - pldm::platform_mc::TerminusManager::getTidOverMctp
    - pldm::platform_mc::TerminusManager::unmapTid
    - end
    - MctpInfoName::value
    - contains
    - setTerminusName
    - auto::value
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::initMctpTerminus(const MctpInfo& mctpInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/pldm/platform-mc/terminus_manager.cpp:454,1
    - Dst: sendRecvMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: std::move
      Src: /src/pldm/platform-mc/terminus_manager.cpp:455,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:459,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - eid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - mctp_eid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 473
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 9
    functionsReached:
    - std::tie
    - lg2::error
    - std::move
    - sendRecvMsg
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsgOverMctp(\n    mctp_eid_t
      eid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:477,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:482,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:484,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:485,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:488,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:489,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:497,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:501,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:507,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:510,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 526
    functionName: pldm::platform_mc::TerminusManager::getTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - encode_get_tid_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - next
    - Request::data
    - free
    - decode_pldm_base_get_tid_resp
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::getTidOverMctp(mctp_eid_t eid, pldm_tid_t*
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:530,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:535,1
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:537,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:538,1
    - Dst: free
      Src: /src/pldm/platform-mc/terminus_manager.cpp:541,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:542,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:550,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:554,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - eid
    - tid
    argTypes:
    - mctp_eid_t
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: pldm::platform_mc::TerminusManager::setTidOverMctp
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - encode_set_tid_req
    - next
    - Request::data
    - free
    - pldm_msg::pldm_msg
    - auto::value
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t
      tid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:574,1
    - Dst: encode_get_types_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:575,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:578,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:587,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:590,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:596,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:599,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:607,1
    - Dst: ::memcpy
      Src: /src/pldm/platform-mc/terminus_manager.cpp:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - tid
    - ' supportedTypes'
    argTypes:
    - pldm_tid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 615
    functionName: pldm::platform_mc::TerminusManager::getPLDMTypes
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - ::memcpy
    - decode_pldm_base_get_pldm_types_resp
    - encode_get_types_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMTypes(pldm_tid_t tid,\n                                              uint64_t&
      supportedTypes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:621,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:623,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:626,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:635,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:638,1
    - Dst: decode_get_commands_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:646,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:650,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - tid
    - type
    - version
    - supportedCmds
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 665
    functionName: pldm::platform_mc::TerminusManager::getPLDMCommands
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_get_commands_resp
    - encode_get_commands_req
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMCommands(\n    pldm_tid_t
      tid, uint8_t type, ver32_t version, bitfield8_t* supportedCmds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/platform-mc/terminus_manager.cpp:680,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:690,1
    - Dst: auto::has_value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:691,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:702,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:707,1
    - Dst: data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:708,1
    - Dst: next
      Src: /src/pldm/platform-mc/terminus_manager.cpp:709,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:714,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:715,1
    - Dst: pldm::platform_mc::TerminusManager::constructEndpointObjPath
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:725,1
    - Dst: pldm::utils::recoverMctpEndpoint
      Src: /src/pldm/platform-mc/terminus_manager.cpp:726,1
    - Dst: pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/terminus_manager.cpp:727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - tid
    - ' request'
    - responseMsg
    - responseLen
    argTypes:
    - pldm_tid_t
    - Request
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 731
    functionName: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 11
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - data
    - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
    - contains
    - next
    - pldm::utils::recoverMctpEndpoint
    - auto::has_value
    - pldm_msg::pldm_msg
    - auto::value
    - pldm::platform_mc::TerminusManager::constructEndpointObjPath
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::sendRecvPldmMsg(\n    pldm_tid_t
      tid, Request& request, const pldm_msg** responseMsg,\n    size_t* responseLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Request::data
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:737,1
    - Dst: encode_get_version_req
      Src: /src/pldm/platform-mc/terminus_manager.cpp:740,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:743,1
    - Dst: pldm::platform_mc::TerminusManager::sendRecvPldmMsg
      Src: /src/pldm/platform-mc/terminus_manager.cpp:752,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:755,1
    - Dst: decode_get_version_resp
      Src: /src/pldm/platform-mc/terminus_manager.cpp:765,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:769,1
    - Dst: lg2::error
      Src: /src/pldm/platform-mc/terminus_manager.cpp:777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tid
    - type
    - version
    argTypes:
    - pldm_tid_t
    - uint8_t
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 784
    functionName: pldm::platform_mc::TerminusManager::getPLDMVersion
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_get_version_resp
    - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
    - Request::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    - lg2::error
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> TerminusManager::getPLDMVersion(pldm_tid_t tid, uint8_t
      type,\n                                                ver32_t* version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:789,1
    - Dst: getTerminusName
      Src: /src/pldm/platform-mc/terminus_manager.cpp:801,1
    - Dst: std::empty
      Src: /src/pldm/platform-mc/terminus_manager.cpp:802,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/terminus_manager.cpp:809,1
    - Dst: std::get<0>
      Src: /src/pldm/platform-mc/terminus_manager.cpp:815,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - ' terminusName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 824
    functionName: pldm::platform_mc::TerminusManager::getActiveEidByName
    functionSourceFile: /src/pldm/platform-mc/terminus_manager.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::empty
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - getTerminusName
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: "std::optional<mctp_eid_t> TerminusManager::getActiveEidByName(\n    const
      std::string& terminusName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: pldm::platform_mc::MockEventManager::MockEventManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockEventManager(TerminusManager& terminusManager, TerminiMapper&
      termini)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: pldm::platform_mc::MockEventManager::MockEventManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockEventManager(TerminusManager& terminusManager, TerminiMapper&
      termini)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: pldm::platform_mc::MockEventManager::MockEventManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockEventManager(TerminusManager& terminusManager, TerminiMapper&
      termini)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' terminusManager'
    - ' termini'
    argTypes:
    - TerminusManager
    - TerminiMapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: pldm::platform_mc::MockEventManager::MockEventManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_event_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockEventManager(TerminusManager& terminusManager, TerminiMapper&
      termini)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:31,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:32,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:34,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: TerminusManagerTest::TerminusManagerTest
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::chrono::seconds
    - std::chrono::milliseconds
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TerminusManagerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:56,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:57,1
    - Dst: toTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:59,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:60,1
    - Dst: toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:62,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:63,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:63,1
    - Dst: unmapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:65,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:65,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:66,1
    - Dst: toTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - toMctpInfo
    - EXPECT_EQ
    - toTid
    - EXPECT_NE
    - mapTid
    - auto::value
    - unmapTid
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, mapTidTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:76,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:77,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:81,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:82,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:87,1
    - Dst: storeTerminusInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:88,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:88,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:89,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:90,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:95,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:96,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:97,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:97,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:101,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:103,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:103,1
    - Dst: toTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:108,1
    - Dst: toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:112,1
    - Dst: toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:116,1
    - Dst: unmapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:119,1
    - Dst: toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:121,1
    - Dst: unmapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:125,1
    - Dst: unmapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:128,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 130
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - toMctpInfo
    - storeTerminusInfo
    - EXPECT_EQ
    - toTid
    - EXPECT_NE
    - mapTid
    - auto::value
    - unmapTid
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, negativeMapTidTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearQueuedResponses
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:140,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:144,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:145,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:147,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:150,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:151,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:153,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:157,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:158,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:160,1
    - Dst: pldm::MctpInfos::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:163,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:163,1
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:165,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:165,1
    - Dst: clearQueuedResponses
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:168,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:169,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:173,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:174,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:176,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:177,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:178,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:178,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:180,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:181,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:182,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:184,1
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:186,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:187,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:187,1
    - Dst: clearQueuedResponses
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:191,1
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:194,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 195
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - pldm::MctpInfos::emplace_back
    - std::array::data
    - removeMctpTerminus
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - discoverMctpTerminus
    - enqueueResponse
    - clearQueuedResponses
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, discoverMctpTerminusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:206,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:207,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:209,1
    - Dst: pldm::MctpInfos::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:212,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:212,1
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:213,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:214,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:214,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:222,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:223,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:225,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:226,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:227,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:229,1
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:231,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:231,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:242,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:243,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:245,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:246,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:247,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:247,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:249,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:251,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:252,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:254,1
    - Dst: removeMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:255,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:256,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 257
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::array::data
    - removeMctpTerminus
    - EXPECT_EQ
    - std::start_lifetime_as<pldm_msg>
    - discoverMctpTerminus
    - enqueueResponse
    - pldm::MctpInfos::emplace_back
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, negativeDiscoverMctpTerminusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearQueuedResponses
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:267,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:271,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:272,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:272,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:274,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:278,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:279,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:281,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:290,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:291,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:291,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:293,1
    - Dst: pldm::MctpInfos::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:296,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:296,1
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:298,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:300,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:301,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:301,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:302,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:304,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:305,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:306,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:307,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:307,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:308,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:309,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 310
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - pldm::MctpInfos::emplace_back
    - std::array::data
    - contains
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - discoverMctpTerminus
    - enqueueResponse
    - clearQueuedResponses
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, doesSupportTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearQueuedResponses
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:324,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:328,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:329,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:329,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:331,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:335,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:336,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:336,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:338,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:345,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:346,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:346,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:348,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:356,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:359,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:372,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:373,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:373,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:375,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:383,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:384,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:386,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:420,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:421,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:421,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:423,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:431,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:432,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:434,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:449,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:450,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:452,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:460,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:461,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:463,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:479,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:480,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:482,1
    - Dst: pldm::MctpInfos::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:485,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:485,1
    - Dst: discoverMctpTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:486,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:487,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:487,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:488,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:488,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:489,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:489,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:490,1
    - Dst: contains
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:492,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:492,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:493,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:494,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:494,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:495,1
    - Dst: doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:497,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:497,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:498,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:498,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:499,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:500,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:501,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:502,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:504,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:504,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:506,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:506,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:510,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:510,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:512,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:514,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:514,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:516,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:516,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:518,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:520,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:522,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:522,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:524,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:524,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:526,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:526,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:528,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:528,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:530,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:530,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:532,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:536,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:537,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:538,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:539,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:540,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:540,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:542,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:545,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:547,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:548,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:551,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:551,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:553,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:555,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:555,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:557,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 559
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - doesSupportType
    - pldm::MctpInfos::emplace_back
    - std::array::data
    - contains
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - discoverMctpTerminus
    - enqueueResponse
    - clearQueuedResponses
    - doesSupportCommand
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, doesSupportCommandTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:565,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:566,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:567,1
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:572,1
    - Dst: toMctpInfo
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:574,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:575,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:575,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:587,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:605,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:606,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:606,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:608,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:680,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:681,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:681,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:682,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:715,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:716,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:716,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:718,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:720,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:721,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:723,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:723,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:724,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:725,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:725,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:726,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:726,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:727,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:727,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:728,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:728,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:729,1
    - Dst: getActiveEidByName
      Src: /src/pldm/platform-mc/test/terminus_manager_test.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 730
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/terminus_manager_test.cpp
    functionUses: 0
    functionsReached:
    - setSupportedCommands
    - updateMctpEndpointAvailability
    - auto::getTerminusName
    - size
    - toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - EXPECT_EQ
    - getActiveEidByName
    - mapTid
    - initTerminus
    - reinterpret_cast<pldm_msg*>
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(TerminusManagerTest, getActiveEidByNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: pldm::platform_mc::MockTerminusManager::MockTerminusManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockTerminusManager(sdeventplus::Event& event, RequesterHandler&
      handler,\n                        pldm::InstanceIdDb& instanceIdDb,\n                        TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:28,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:34,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:35,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:37,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> sendRecvPldmMsgOverMctp(\n        mctp_eid_t /*eid*/,
      Request& /*request*/, const pldm_msg** responseMsg,\n        size_t* responseLen)
      override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:54,1
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: pldm::platform_mc::MockTerminusManager::enqueueResponse
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: int
    signature: int enqueueResponse(pldm_msg* responseMsg, size_t responseLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:61,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:63,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: pldm::platform_mc::MockTerminusManager::clearQueuedResponses
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    linkageType: ''
    returnType: int
    signature: int clearQueuedResponses()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: pldm::platform_mc::MockTerminusManager::MockTerminusManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockTerminusManager(sdeventplus::Event& event, RequesterHandler&
      handler,\n                        pldm::InstanceIdDb& instanceIdDb,\n                        TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:28,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:34,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:35,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:37,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> sendRecvPldmMsgOverMctp(\n        mctp_eid_t /*eid*/,
      Request& /*request*/, const pldm_msg** responseMsg,\n        size_t* responseLen)
      override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:54,1
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: pldm::platform_mc::MockTerminusManager::enqueueResponse
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: int
    signature: int enqueueResponse(pldm_msg* responseMsg, size_t responseLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:61,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:63,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: pldm::platform_mc::MockTerminusManager::clearQueuedResponses
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    linkageType: ''
    returnType: int
    signature: int clearQueuedResponses()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: pldm::platform_mc::MockTerminusManager::MockTerminusManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockTerminusManager(sdeventplus::Event& event, RequesterHandler&
      handler,\n                        pldm::InstanceIdDb& instanceIdDb,\n                        TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:28,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:34,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:35,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:37,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> sendRecvPldmMsgOverMctp(\n        mctp_eid_t /*eid*/,
      Request& /*request*/, const pldm_msg** responseMsg,\n        size_t* responseLen)
      override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:54,1
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: pldm::platform_mc::MockTerminusManager::enqueueResponse
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: int
    signature: int enqueueResponse(pldm_msg* responseMsg, size_t responseLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:61,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:63,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: pldm::platform_mc::MockTerminusManager::clearQueuedResponses
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    linkageType: ''
    returnType: int
    signature: int clearQueuedResponses()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - RequesterHandler
    - pldm::InstanceIdDb
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: pldm::platform_mc::MockTerminusManager::MockTerminusManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockTerminusManager(sdeventplus::Event& event, RequesterHandler&
      handler,\n                        pldm::InstanceIdDb& instanceIdDb,\n                        TerminiMapper&
      termini, Manager* manager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:28,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:34,1
    - Dst: front
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:35,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:37,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - front
    linkageType: ''
    returnType: exec::task<int>
    signature: "exec::task<int> sendRecvPldmMsgOverMctp(\n        mctp_eid_t /*eid*/,
      Request& /*request*/, const pldm_msg** responseMsg,\n        size_t* responseLen)
      override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:54,1
    - Dst: push
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responseMsg
    - responseLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: pldm::platform_mc::MockTerminusManager::enqueueResponse
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: int
    signature: int enqueueResponse(pldm_msg* responseMsg, size_t responseLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:61,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:63,1
    - Dst: pop
      Src: /src/pldm/platform-mc/test/mock_terminus_manager.hpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: pldm::platform_mc::MockTerminusManager::clearQueuedResponses
    functionSourceFile: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
    functionUses: 0
    functionsReached:
    - empty
    - pop
    linkageType: ''
    returnType: int
    signature: int clearQueuedResponses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:85,1
    - Dst: std::printf
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:86,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:86,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:87,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:87,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:87,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:88,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:89,1
    - Dst: pldm::platform_mc::NumericSensor::conversionFormula
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:98,1
    - Dst: pldm::platform_mc::NumericSensor::unitModifier
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 103
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/numeric_sensor_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - pldm::platform_mc::NumericSensor::conversionFormula
    - std::printf
    - pldm::platform_mc::NumericSensor::unitModifier
    - auto::get
    - decode_numeric_sensor_pdr_data
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(NumericSensor, conversionFormula)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<pldm_numeric_sensor_value_pdr>
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:181,1
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:182,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:182,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:182,1
    - Dst: auto::get
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:184,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:201,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:203,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:206,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:209,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:211,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:214,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:219,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:220,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:222,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:227,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:230,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:235,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:238,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:243,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:246,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:251,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:252,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:254,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:257,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:259,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:260,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:262,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:265,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:267,1
    - Dst: pldm::platform_mc::NumericSensor::checkThreshold
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:268,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/numeric_sensor_test.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 271
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/numeric_sensor_test.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - pldm::platform_mc::NumericSensor::checkThreshold
    - auto::get
    - decode_numeric_sensor_pdr_data
    - std::make_shared<pldm_numeric_sensor_value_pdr>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(NumericSensor, checkThreshold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:18,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: SensorManagerTest::SensorManagerTest
    functionSourceFile: /src/pldm/platform-mc/test/sensor_manager_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void SensorManagerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:138,1
    - Dst: pdrs::push_back
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:139,1
    - Dst: pdrs::push_back
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:140,1
    - Dst: parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:141,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:144,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:144,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:144,1
    - Dst: ON_CALL
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:145,1
    - Dst: doSensorPolling
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:145,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:147,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:147,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:147,1
    - Dst: EXPECT_GE
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:148,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:151,1
    - Dst: doSensorPolling
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:151,1
    - Dst: AtLeast
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:152,1
    - Dst: Return
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:153,1
    - Dst: startPolling
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:155,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:157,1
    - Dst: stopPolling
      Src: /src/pldm/platform-mc/test/sensor_manager_test.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/sensor_manager_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - doSensorPolling
    - ASSERT_TRUE
    - std::make_shared<pldm::platform_mc::Terminus>
    - sd_event_now
    - parseTerminusPDRs
    - get
    - startPolling
    - stopPolling
    - ON_CALL
    - EXPECT_GE
    - EXPECT_CALL
    - AtLeast
    - pdrs::push_back
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(SensorManagerTest, sensorPollingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pldm::platform_mc::MockSensorManager::MockSensorManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockSensorManager(sdeventplus::Event& event,\n                      TerminusManager&
      terminusManager, TerminiMapper& termini,\n                      Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pldm::platform_mc::MockSensorManager::MockSensorManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockSensorManager(sdeventplus::Event& event,\n                      TerminusManager&
      terminusManager, TerminiMapper& termini,\n                      Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pldm::platform_mc::MockSensorManager::MockSensorManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockSensorManager(sdeventplus::Event& event,\n                      TerminusManager&
      terminusManager, TerminiMapper& termini,\n                      Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' event'
    - ' terminusManager'
    - ' termini'
    - manager
    argTypes:
    - sdeventplus::Event
    - TerminusManager
    - TerminiMapper
    - Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pldm::platform_mc::MockSensorManager::MockSensorManager
    functionSourceFile: /src/pldm/platform-mc/test/mock_sensor_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockSensorManager(sdeventplus::Event& event,\n                      TerminusManager&
      terminusManager, TerminiMapper& termini,\n                      Manager* manager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:15,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:16,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:18,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: PlatformManagerTest::PlatformManagerTest
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::chrono::seconds
    - std::chrono::milliseconds
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void PlatformManagerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:37,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:37,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:38,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:39,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:53,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:71,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:72,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:72,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:74,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:146,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:147,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:149,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:182,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:183,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:185,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:187,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:188,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:190,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:192,1
    - Dst: auto::doesSupportCommand
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:193,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:193,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:196,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:197,1
    - Dst: auto::numericSensors::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:198,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 199
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - setSupportedCommands
    - updateMctpEndpointAvailability
    - auto::getTerminusName
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - auto::doesSupportCommand
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - auto::numericSensors::size
    - mapTid
    - initTerminus
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlatformManagerTest, initTerminusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:205,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:205,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:206,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:207,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:221,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:239,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:240,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:242,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:314,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:315,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:317,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:350,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:351,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:351,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:353,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:355,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:356,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:358,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:358,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:359,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:360,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:360,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:361,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 362
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - setSupportedCommands
    - updateMctpEndpointAvailability
    - auto::getTerminusName
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - mapTid
    - initTerminus
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlatformManagerTest, parseTerminusNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:368,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:368,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:369,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:370,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:381,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:399,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:400,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:402,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:474,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:475,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:475,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:477,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:479,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:479,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:481,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 482
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - setSupportedCommands
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - mapTid
    - initTerminus
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlatformManagerTest, initTerminusDontSupportGetPDRTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:488,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:488,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:489,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:490,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:494,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:494,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:497,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:498,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:499,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:499,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:500,1
    - Dst: auto::numericSensors::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 501
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - EXPECT_EQ
    - auto::numericSensors::size
    - mapTid
    - initTerminus
    - auto::value
    - auto::pdrs::size
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlatformManagerTest, negativeInitTerminusTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:507,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:507,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:508,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:509,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:517,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:518,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:520,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:526,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:527,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:527,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:529,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:531,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:531,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:534,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:535,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:536,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:536,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:537,1
    - Dst: auto::numericSensors::size
      Src: /src/pldm/platform-mc/test/platform_manager_test.cpp:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 538
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/platform_manager_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - auto::numericSensors::size
    - mapTid
    - initTerminus
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(PlatformManagerTest, negativeInitTerminusTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:23,1
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:24,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:26,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: EventManagerTest::EventManagerTest
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - std::chrono::seconds
    - std::chrono::milliseconds
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void EventManagerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:48,1
    - Dst: pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:147,1
    - Dst: pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:148,1
    - Dst: parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:149,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:153,1
    - Dst: numericSensors::size
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:153,1
    - Dst: handlePlatformEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:165,1
    - Dst: std::vector::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:166,1
    - Dst: std::vector::size
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 169
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - parseTerminusPDRs
    - std::make_shared<pldm::platform_mc::Terminus>
    - pdrs::emplace_back
    - std::vector::data
    - numericSensors::size
    - handlePlatformEvent
    - EXPECT_EQ
    - std::vector::size
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(EventManagerTest, processNumericSensorEventTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:175,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:175,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:176,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:177,1
    - Dst: setSupportedCommands
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:200,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:202,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:202,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:204,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:206,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:206,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:208,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:209,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:210,1
    - Dst: doesSupportCommand
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:210,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:229,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:230,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:232,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:304,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:305,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:307,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:340,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:341,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:343,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:349,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:350,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:352,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:363,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:364,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:366,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:368,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:369,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:376,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:377,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:379,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:382,1
    - Dst: initTerminus
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:382,1
    - Dst: utils::runEventLoopForSeconds
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:385,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:386,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:388,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:389,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:389,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:390,1
    - Dst: auto::numericSensors::size
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 391
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - setSupportedCommands
    - updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - stdexec::sync_wait
    - std::array::data
    - EXPECT_EQ
    - std::start_lifetime_as<pldm_msg>
    - auto::numericSensors::size
    - mapTid
    - initTerminus
    - enqueueResponse
    - auto::value
    - auto::pdrs::size
    - doesSupportCommand
    - utils::runEventLoopForSeconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(EventManagerTest, SetEventReceiverTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:397,1
    - Dst: getAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:397,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:399,1
    - Dst: getAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:399,1
    - Dst: updateAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:401,1
    - Dst: getAvailableState
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - updateAvailableState
    - EXPECT_EQ
    - getAvailableState
    linkageType: ''
    returnType: void
    signature: void TEST_F(EventManagerTest, updateAvailableState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapTid
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:408,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:408,1
    - Dst: auto::value
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:409,1
    - Dst: std::make_shared<pldm::platform_mc::Terminus>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:410,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:444,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:445,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:446,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:448,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:482,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:483,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:484,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:486,1
    - Dst: enqueueResponse
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:496,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:497,1
    - Dst: std::array::data
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:498,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:500,1
    - Dst: updateMctpEndpointAvailability
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:502,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:503,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:505,1
    - Dst: processCperEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:505,1
    - Dst: Return
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:507,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:511,1
    - Dst: pollForPlatformEventTask
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 512
    functionName: TEST_F
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - Return
    - updateMctpEndpointAvailability
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_shared<pldm::platform_mc::Terminus>
    - processCperEvent
    - stdexec::sync_wait
    - std::array::data
    - pollForPlatformEventTask
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_EQ
    - mapTid
    - enqueueResponse
    - auto::value
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(EventManagerTest, pollForPlatformEventTaskMultipartTransferTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:522,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:523,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:524,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:525,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:526,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:527,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:530,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 533
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleNormalToUpperWarning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:543,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:544,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:545,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:546,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:547,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:548,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:551,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 554
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - triggerNumericSensorThresholdEvent
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleUpperWarningToNormal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:564,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:565,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:569,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:573,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:575,1
    - Dst: EXPECT_LE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:576,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:579,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 582
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - triggerNumericSensorThresholdEvent
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleNormalToUpperCritical)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:592,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:596,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:597,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:598,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:603,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:604,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:605,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:610,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:611,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:612,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:614,1
    - Dst: EXPECT_LE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:615,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:618,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 621
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - triggerNumericSensorThresholdEvent
    - EXPECT_FALSE
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleUpperCriticalToNormal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:631,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:632,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:633,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:634,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:635,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:636,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:639,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 642
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - triggerNumericSensorThresholdEvent
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleNormalToLowerWarning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:652,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:653,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:654,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:655,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:656,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:657,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:660,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 663
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - triggerNumericSensorThresholdEvent
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleLowerWarningToNormal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:673,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:674,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:675,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:678,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:684,1
    - Dst: EXPECT_LE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:685,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:688,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 691
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - triggerNumericSensorThresholdEvent
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleNormalToLowerCritical)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:701,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:705,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:706,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:707,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:712,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:713,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:714,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:719,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:720,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:721,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:723,1
    - Dst: EXPECT_LE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:724,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:727,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 730
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - triggerNumericSensorThresholdEvent
    - EXPECT_FALSE
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleLowerCriticalToNormal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:740,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:744,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:745,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:746,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:747,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:752,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:753,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:754,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:755,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:760,1
    - Dst: EXPECT_FALSE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:761,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:762,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:763,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:768,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:769,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:771,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:776,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:777,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:778,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:779,1
    - Dst: EXPECT_LE
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:781,1
    - Dst: triggerNumericSensorThresholdEvent
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:784,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:786,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/event_manager_test.cpp:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 788
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/event_manager_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - triggerNumericSensorThresholdEvent
    - EXPECT_FALSE
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_LE
    linkageType: ''
    returnType: void
    signature: void TEST(EventManagerNumericEventTest, HandleLowerCriticalToUpperCritical)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/utils_test.hpp:13,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:13,1
    - Dst: sd_event_run
      Src: /src/pldm/platform-mc/test/utils_test.hpp:16,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:16,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/utils_test.hpp:20,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' event'
    - sec
    argTypes:
    - sdeventplus::Event
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 23
    functionName: utils::runEventLoopForSeconds
    functionSourceFile: /src/pldm/platform-mc/test/utils_test.hpp
    functionUses: 6
    functionsReached:
    - get
    - sd_event_run
    - sd_event_now
    linkageType: ''
    returnType: void
    signature: void runEventLoopForSeconds(sdeventplus::Event& event, uint64_t sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/utils_test.hpp:13,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:13,1
    - Dst: sd_event_run
      Src: /src/pldm/platform-mc/test/utils_test.hpp:16,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:16,1
    - Dst: sd_event_now
      Src: /src/pldm/platform-mc/test/utils_test.hpp:20,1
    - Dst: get
      Src: /src/pldm/platform-mc/test/utils_test.hpp:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' event'
    - sec
    argTypes:
    - sdeventplus::Event
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 23
    functionName: utils::runEventLoopForSeconds
    functionSourceFile: /src/pldm/platform-mc/test/utils_test.hpp
    functionUses: 6
    functionsReached:
    - get
    - sd_event_run
    - sd_event_now
    linkageType: ''
    returnType: void
    signature: void runEventLoopForSeconds(sdeventplus::Event& event, uint64_t sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - fd
    - repo
    - dbusHandler
    - ' jsonPath'
    argTypes:
    - int
    - pldm_pdr*
    - DBusHandler*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: MockHostEffecterParser::MockHostEffecterParser
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockHostEffecterParser(int fd, const pldm_pdr* repo,\n                           DBusHandler*
      const dbusHandler,\n                           const std::string& jsonPath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: '& gethostEffecterInfo()'
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EffecterInfo>
    signature: std::vector<EffecterInfo> & gethostEffecterInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockHostEffecterParser::gethostEffecterInfo
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:43,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:44,1
    - Dst: auto::size
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:44,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:46,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:48,1
    - Dst: dbusInfo::size
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:48,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:56,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:57,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:58,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:59,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:62,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:63,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:64,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:65,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:66,1
    - Dst: dbusNumericEffecterInfo::size
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:67,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:80,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:83,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:86,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:90,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 93
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - dbusInfo::size
    - dbusNumericEffecterInfo::size
    - ASSERT_EQ
    - auto::size
    - MockHostEffecterParser::gethostEffecterInfo
    linkageType: ''
    returnType: void
    signature: void TEST(HostEffecterParser, parseEffecterJsonGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THROW
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:101,1
    - Dst: MockHostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:102,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:104,1
    - Dst: MockHostEffecterParser::parseEffecterJson
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - MockHostEffecterParser::parseEffecterJson
    - ASSERT_THROW
    linkageType: ''
    returnType: void
    signature: void TEST(HostEffecterParser, parseEffecterJsonBadPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockHostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:120,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:121,1
    - Dst: ASSERT_THROW
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:123,1
    - Dst: MockHostEffecterParser::findNewStateValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - MockHostEffecterParser::findNewStateValue
    - ASSERT_THROW
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HostEffecterParser, findNewStateValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockHostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:135,1
    - Dst: MockHostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:137,1
    - Dst: MockHostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:139,1
    - Dst: MockHostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:140,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:141,1
    - Dst: MockHostEffecterParser::adjustValue
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 144
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
    functionUses: 0
    functionsReached:
    - MockHostEffecterParser::adjustValue
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HostEffecterParser, adjustValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:13,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:14,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:15,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:18,1
    - Dst: auto::doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:18,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:19,1
    - Dst: auto::doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:19,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:20,1
    - Dst: auto::doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:20,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:21,1
    - Dst: auto::doesSupportType
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - EXPECT_EQ
    - auto::doesSupportType
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, supportedTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:26,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:28,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:30,1
    - Dst: auto::getTid
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - auto::getTid
    - sdeventplus::Event::get_default
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, getTidTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:35,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:36,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:96,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:97,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:98,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:101,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:103,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:109,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:110,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:113,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:114,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 115
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - auto::getTerminusName
    - size
    - EXPECT_EQ
    - EXPECT_NE
    - auto::pdrs::emplace_back
    - auto::parseTerminusPDRs
    - auto::pdrs::size
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - auto::getSensorAuxiliaryNames
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, parseSensorAuxiliaryNamesPDRTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:119,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:120,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:212,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:213,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:214,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:216,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:217,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:219,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:220,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:223,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:224,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:225,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:226,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:229,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:233,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:234,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 235
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - auto::getTerminusName
    - size
    - EXPECT_EQ
    - EXPECT_NE
    - auto::pdrs::emplace_back
    - auto::parseTerminusPDRs
    - auto::pdrs::size
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - auto::getSensorAuxiliaryNames
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, parseSensorAuxiliaryMultiNamesPDRTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:239,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:240,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:333,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:334,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:335,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:337,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:338,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:340,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:345,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:346,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:346,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:347,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:348,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:349,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:350,1
    - Dst: size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:351,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:353,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:355,1
    - Dst: auto::pdrs::size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:356,1
    - Dst: auto::getTerminusName
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 357
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - auto::getTerminusName
    - size
    - EXPECT_EQ
    - EXPECT_NE
    - auto::pdrs::emplace_back
    - auto::parseTerminusPDRs
    - auto::pdrs::size
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - auto::getSensorAuxiliaryNames
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, parseSensorAuxiliaryNamesMultiSensorsPDRTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:361,1
    - Dst: std::array::size
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:386,1
    - Dst: std::to_string
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:388,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:389,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:391,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:396,1
    - Dst: EXPECT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:397,1
    - Dst: pldm::dbus_api::createPldmEntity
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:400,1
    - Dst: ASSERT_NE
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:403,1
    - Dst: auto::serialNumber
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:404,1
    - Dst: auto::partNumber
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:405,1
    - Dst: auto::manufacturer
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 406
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - auto::serialNumber
    - auto::manufacturer
    - pldm::dbus_api::createPldmEntity
    - EXPECT_EQ
    - EXPECT_NE
    - auto::partNumber
    - std::array::size
    - std::to_string
    - ASSERT_NE
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, createPldmEntityTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:410,1
    - Dst: pldm::platform_mc::Manager::beforeDiscoverTerminus
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:411,1
    - Dst: auto::pdrs::emplace_back
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:437,1
    - Dst: auto::parseTerminusPDRs
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:438,1
    - Dst: auto::getSensorAuxiliaryNames
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:440,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/platform-mc/test/terminus_test.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 442
    functionName: TEST
    functionSourceFile: /src/pldm/platform-mc/test/terminus_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    - EXPECT_EQ
    - auto::pdrs::emplace_back
    - auto::parseTerminusPDRs
    - pldm::platform_mc::Manager::beforeDiscoverTerminus
    - auto::getSensorAuxiliaryNames
    linkageType: ''
    returnType: void
    signature: void TEST(TerminusTest, parsePDRTestNoSensorPDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RequestRetryTimer&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RequestRetryTimer&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RequestRetryTimer()
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/requester/request.hpp:51,1
    - Dst: pldm::requester::RequestRetryTimer::callback
      Src: /src/pldm/requester/request.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - timeout
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::requester::RequestRetryTimer::callback
    - get
    linkageType: ''
    returnType: void
    signature: "void RequestRetryTimer(sdeventplus::Event& event, uint8_t numRetries,\n
      \                              std::chrono::milliseconds timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:60,1
    - Dst: pldm::requester::RequestRetryTimer::start
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: pldm::requester::RequestRetryTimer::start
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 1
    functionsReached:
    - pldm::requester::RequestRetryTimer::start
    - error
    - duration_cast<std::chrono::microseconds>
    - send
    linkageType: ''
    returnType: int
    signature: int start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:87,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pldm::requester::RequestRetryTimer::stop
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 1
    functionsReached:
    - error
    - pldm::requester::RequestRetryTimer::stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:113,1
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: pldm::requester::RequestRetryTimer::callback
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 1
    functionsReached:
    - pldm::requester::RequestRetryTimer::stop
    - send
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Request() override
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/request.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - pldmTransport
    - eid
    - ' event'
    - ' requestMsg'
    - numRetries
    - timeout
    - verbose
    argTypes:
    - PldmTransport*
    - mctp_eid_t
    - sdeventplus::Event
    - pldm::Request
    - uint8_t
    - std::chrono::milliseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Request(PldmTransport* pldmTransport, mctp_eid_t eid,\n                     sdeventplus::Event&
      event, pldm::Request&& requestMsg,\n                     uint8_t numRetries,
      std::chrono::milliseconds timeout,\n                     bool verbose)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::printBuffer
      Src: /src/pldm/requester/request.hpp:175,1
    - Dst: pldm::flightrecorder::FlightRecorder::GetInstance
      Src: /src/pldm/requester/request.hpp:177,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:180,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:188,1
    - Dst: sendMsg
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: size
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: pldm::requester::Request::send
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::flightrecorder::FlightRecorder::GetInstance
    - size
    - data
    - error
    - static_cast<pldm_tid_t>
    - sendMsg
    - pldm::utils::printBuffer
    linkageType: ''
    returnType: int
    signature: int send() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RequestRetryTimer&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RequestRetryTimer&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RequestRetryTimer()
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/requester/request.hpp:51,1
    - Dst: pldm::requester::RequestRetryTimer::callback
      Src: /src/pldm/requester/request.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - timeout
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::requester::RequestRetryTimer::callback
    - get
    linkageType: ''
    returnType: void
    signature: "void RequestRetryTimer(sdeventplus::Event& event, uint8_t numRetries,\n
      \                              std::chrono::milliseconds timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:60,1
    - Dst: pldm::requester::RequestRetryTimer::start
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: pldm::requester::RequestRetryTimer::start
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 2
    functionsReached:
    - pldm::requester::RequestRetryTimer::start
    - error
    - duration_cast<std::chrono::microseconds>
    - send
    linkageType: ''
    returnType: int
    signature: int start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:87,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pldm::requester::RequestRetryTimer::stop
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 3
    functionsReached:
    - error
    - pldm::requester::RequestRetryTimer::stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:113,1
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: pldm::requester::RequestRetryTimer::callback
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 2
    functionsReached:
    - pldm::requester::RequestRetryTimer::stop
    - send
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Request() override
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/request.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - pldmTransport
    - eid
    - ' event'
    - ' requestMsg'
    - numRetries
    - timeout
    - verbose
    argTypes:
    - PldmTransport*
    - mctp_eid_t
    - sdeventplus::Event
    - pldm::Request
    - uint8_t
    - std::chrono::milliseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Request(PldmTransport* pldmTransport, mctp_eid_t eid,\n                     sdeventplus::Event&
      event, pldm::Request&& requestMsg,\n                     uint8_t numRetries,
      std::chrono::milliseconds timeout,\n                     bool verbose)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::printBuffer
      Src: /src/pldm/requester/request.hpp:175,1
    - Dst: pldm::flightrecorder::FlightRecorder::GetInstance
      Src: /src/pldm/requester/request.hpp:177,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:180,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:188,1
    - Dst: sendMsg
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: size
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: pldm::requester::Request::send
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::flightrecorder::FlightRecorder::GetInstance
    - size
    - data
    - error
    - static_cast<pldm_tid_t>
    - sendMsg
    - pldm::utils::printBuffer
    linkageType: ''
    returnType: int
    signature: int send() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RequestRetryTimer&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RequestRetryTimer&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RequestRetryTimer()
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/requester/request.hpp:51,1
    - Dst: pldm::requester::RequestRetryTimer::callback
      Src: /src/pldm/requester/request.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - timeout
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::requester::RequestRetryTimer::callback
    - get
    linkageType: ''
    returnType: void
    signature: "void RequestRetryTimer(sdeventplus::Event& event, uint8_t numRetries,\n
      \                              std::chrono::milliseconds timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:60,1
    - Dst: pldm::requester::RequestRetryTimer::start
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: pldm::requester::RequestRetryTimer::start
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 3
    functionsReached:
    - pldm::requester::RequestRetryTimer::start
    - error
    - duration_cast<std::chrono::microseconds>
    - send
    linkageType: ''
    returnType: int
    signature: int start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:87,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pldm::requester::RequestRetryTimer::stop
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 5
    functionsReached:
    - error
    - pldm::requester::RequestRetryTimer::stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:113,1
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: pldm::requester::RequestRetryTimer::callback
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 3
    functionsReached:
    - pldm::requester::RequestRetryTimer::stop
    - send
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Request() override
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/request.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - pldmTransport
    - eid
    - ' event'
    - ' requestMsg'
    - numRetries
    - timeout
    - verbose
    argTypes:
    - PldmTransport*
    - mctp_eid_t
    - sdeventplus::Event
    - pldm::Request
    - uint8_t
    - std::chrono::milliseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Request(PldmTransport* pldmTransport, mctp_eid_t eid,\n                     sdeventplus::Event&
      event, pldm::Request&& requestMsg,\n                     uint8_t numRetries,
      std::chrono::milliseconds timeout,\n                     bool verbose)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::printBuffer
      Src: /src/pldm/requester/request.hpp:175,1
    - Dst: pldm::flightrecorder::FlightRecorder::GetInstance
      Src: /src/pldm/requester/request.hpp:177,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:180,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:188,1
    - Dst: sendMsg
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: size
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: pldm::requester::Request::send
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::flightrecorder::FlightRecorder::GetInstance
    - size
    - data
    - error
    - static_cast<pldm_tid_t>
    - sendMsg
    - pldm::utils::printBuffer
    linkageType: ''
    returnType: int
    signature: int send() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestRetryTimer(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RequestRetryTimer&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(const RequestRetryTimer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RequestRetryTimer&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestRetryTimer
    signature: RequestRetryTimer & operator=(RequestRetryTimer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~RequestRetryTimer()
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestRetryTimer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/requester/request.hpp:51,1
    - Dst: pldm::requester::RequestRetryTimer::callback
      Src: /src/pldm/requester/request.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - timeout
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: pldm::requester::RequestRetryTimer::RequestRetryTimer
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::requester::RequestRetryTimer::callback
    - get
    linkageType: ''
    returnType: void
    signature: "void RequestRetryTimer(sdeventplus::Event& event, uint8_t numRetries,\n
      \                              std::chrono::milliseconds timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:60,1
    - Dst: pldm::requester::RequestRetryTimer::start
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/request.hpp:70,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: pldm::requester::RequestRetryTimer::start
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 4
    functionsReached:
    - pldm::requester::RequestRetryTimer::start
    - error
    - duration_cast<std::chrono::microseconds>
    - send
    linkageType: ''
    returnType: int
    signature: int start()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:87,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: pldm::requester::RequestRetryTimer::stop
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 7
    functionsReached:
    - error
    - pldm::requester::RequestRetryTimer::stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/pldm/requester/request.hpp:113,1
    - Dst: pldm::requester::RequestRetryTimer::stop
      Src: /src/pldm/requester/request.hpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: pldm::requester::RequestRetryTimer::callback
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 4
    functionsReached:
    - pldm::requester::RequestRetryTimer::stop
    - send
    linkageType: ''
    returnType: void
    signature: void callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Request(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: '& operator=(const Request&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(const Request&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: '& operator=(Request&&)'
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Request
    signature: Request & operator=(Request&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: ~Request() override
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Request() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/request.hpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - pldmTransport
    - eid
    - ' event'
    - ' requestMsg'
    - numRetries
    - timeout
    - verbose
    argTypes:
    - PldmTransport*
    - mctp_eid_t
    - sdeventplus::Event
    - pldm::Request
    - uint8_t
    - std::chrono::milliseconds
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: pldm::requester::Request::Request
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Request(PldmTransport* pldmTransport, mctp_eid_t eid,\n                     sdeventplus::Event&
      event, pldm::Request&& requestMsg,\n                     uint8_t numRetries,
      std::chrono::milliseconds timeout,\n                     bool verbose)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::printBuffer
      Src: /src/pldm/requester/request.hpp:175,1
    - Dst: pldm::flightrecorder::FlightRecorder::GetInstance
      Src: /src/pldm/requester/request.hpp:177,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:180,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:188,1
    - Dst: sendMsg
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: static_cast<pldm_tid_t>
      Src: /src/pldm/requester/request.hpp:192,1
    - Dst: data
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: size
      Src: /src/pldm/requester/request.hpp:193,1
    - Dst: error
      Src: /src/pldm/requester/request.hpp:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: pldm::requester::Request::send
    functionSourceFile: /src/pldm/requester/request.hpp
    functionUses: 0
    functionsReached:
    - pldm::flightrecorder::FlightRecorder::GetInstance
    - size
    - data
    - error
    - static_cast<pldm_tid_t>
    - sendMsg
    - pldm::utils::printBuffer
    linkageType: ''
    returnType: int
    signature: int send() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: operator==(const RequestKey& e) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RequestKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator()(const RequestKey& key) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const RequestKey& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpEid'
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: operator==(const mctp_eid_t& mctpEid) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mctp_eid_t& mctpEid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& operator=(const Handler&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(Handler&&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: ~Handler()
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::seconds
      Src: /src/pldm/requester/handler.hpp:142,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/requester/handler.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pldmTransport
    - ' event'
    - ' instanceIdDb'
    - verbose
    argTypes:
    - PldmTransport*
    - sdeventplus::Event
    - pldm::InstanceIdDb
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: "void Handler(\n        PldmTransport* pldmTransport, sdeventplus::Event&
      event,\n        pldm::InstanceIdDb& instanceIdDb, bool verbose,\n        std::chrono::seconds
      instanceIdExpiryInterval = std::chrono::seconds(5),\n        uint8_t numRetries
      = 2,\n        std::chrono::milliseconds responseTimeOut =\n            std::chrono::milliseconds(RESPONSE_TIME_OUT))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::Handler::handlers::contains
      Src: /src/pldm/requester/handler.hpp:154,1
    - Dst: info
      Src: /src/pldm/requester/handler.hpp:156,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:161,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:162,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:165,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:171,1
    - Dst: pldm::requester::Handler::removeRequestContainer::emplace
      Src: /src/pldm/requester/handler.hpp:172,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/requester/handler.hpp:174,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:175,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:179,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts:
    - condition: (false)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 188
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 188
    functionName: pldm::requester::Handler::instanceIdExpiryCallBack
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - error
    - pldm::requester::Handler::pollEndpointQueue
    - assert
    - stop
    - responseHandler
    - std::make_unique<sdeventplus::source::Defer>
    - info
    - pldm::requester::Handler::removeRequestContainer::emplace
    - pldm::requester::Handler::handlers::contains
    linkageType: ''
    returnType: void
    signature: void instanceIdExpiryCallBack(RequestKey key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: requestQueue::empty
      Src: /src/pldm/requester/handler.hpp:197,1
    - Dst: requestQueue::front
      Src: /src/pldm/requester/handler.hpp:203,1
    - Dst: requestQueue::pop_front
      Src: /src/pldm/requester/handler.hpp:204,1
    - Dst: std::make_unique<RequestInterface>
      Src: /src/pldm/requester/handler.hpp:206,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:208,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/requester/handler.hpp:210,1
    - Dst: get
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:214,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:217,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:218,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:232,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:233,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:240,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:242,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 245
    functionName: pldm::requester::Handler::pollEndpointQueue
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 1
    functionsReached:
    - requestQueue::front
    - std::make_tuple
    - std::make_unique<RequestInterface>
    - duration_cast<std::chrono::microseconds>
    - get
    - emplace
    - std::bind
    - requestQueue::pop_front
    - error
    - requestQueue::empty
    - free
    - std::move
    - std::make_unique<sdbusplus::Timer>
    - auto::start
    linkageType: ''
    returnType: int
    signature: int pollEndpointQueue(mctp_eid_t eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:264,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:266,1
    - Dst: std::make_shared<RegisteredRequest>
      Src: /src/pldm/requester/handler.hpp:272,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:274,1
    - Dst: requestQueue::push_back
      Src: /src/pldm/requester/handler.hpp:276,1
    - Dst: std::deque::push_back
      Src: /src/pldm/requester/handler.hpp:281,1
    - Dst: std::make_shared<EndpointMessageQueue>
      Src: /src/pldm/requester/handler.hpp:283,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:287,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - ' requestMsg'
    - ' responseHandler'
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm::Request
    - ResponseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: pldm::requester::Handler::registerRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<EndpointMessageQueue>
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - requestQueue::push_back
    - std::move
    - std::deque::push_back
    - std::make_shared<RegisteredRequest>
    linkageType: ''
    returnType: int
    signature: "int registerRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, pldm::Request&& requestMsg,\n                        ResponseHandler&&
      responseHandler)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:314,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:317,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:318,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:321,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:323,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:326,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:327,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:330,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:336,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:338,1
    - Dst: auto::begin
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: auto::end
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: requestQueue::erase
      Src: /src/pldm/requester/handler.hpp:351,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - eid
    - instanceId
    - type
    - command
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 363
    functionName: pldm::requester::Handler::unregisterRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - requestQueue::erase
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - auto::begin
    - auto::end
    - static_cast<int>
    - free
    - stop
    - erase
    linkageType: ''
    returnType: int
    signature: "int unregisterRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t
      type,\n                          uint8_t command)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:382,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:383,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:386,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:390,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:391,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:392,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: pldm::requester::Handler::handleResponse
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - free
    - stop
    - responseHandler
    - erase
    linkageType: ''
    returnType: void
    signature: "void handleResponse(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, const pldm_msg* response,\n                        size_t
      respMsgLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:448,1
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:450,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:451,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:452,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: pldm::requester::Handler::removeRequestEntry
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - free
    - contains
    - reset
    - erase
    linkageType: ''
    returnType: void
    signature: void removeRequestEntry(RequestKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:476,1
    - Dst: pldm::requester::request::data
      Src: /src/pldm/requester/handler.hpp:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' handler'
    - eid
    - ' request'
    - ' r'
    argTypes:
    - Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_msg*>
    - std::move
    - pldm::requester::request::data
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgOperation(Handler<RequestInterface>& handler,\n                                  mctp_eid_t
      eid, pldm::Request&& request,\n                                  R&& r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stdexec::get_stop_token
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: stdexec::get_env
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: auto::stop_requested
      Src: /src/pldm/requester/handler.hpp:499,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/requester/handler.hpp:505,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:507,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:508,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: static_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:512,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/requester/handler.hpp:513,1
    - Dst: auto::stop_possible
      Src: /src/pldm/requester/handler.hpp:516,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:518,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:519,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: pldm::requester::start
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const pldm_msg*>
    - emplace
    - auto::stop_possible
    - std::bind
    - static_cast<size_t>
    - stdexec::get_stop_token
    - auto::stop_requested
    - registerRequest
    - stdexec::set_value
    - std::move
    - stdexec::set_stopped
    - stdexec::get_env
    linkageType: ''
    returnType: void
    signature: void start() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregisterRequest
      Src: /src/pldm/requester/handler.hpp:529,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:531,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: pldm::requester::onStop
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - unregisterRequest
    - std::move
    - stdexec::set_stopped
    linkageType: ''
    returnType: void
    signature: void onStop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:545,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:546,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (eid == this->requestKey.eid)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: pldm::requester::onComplete
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - assert
    - stdexec::set_value
    - static_cast<int>
    - std::move
    - reset
    linkageType: ''
    returnType: void
    signature: void onComplete(mctp_eid_t eid, const pldm_msg* response, size_t respMsgLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgSender()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' handler'
    - eid
    - ' request'
    argTypes:
    - requester::Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgSender(requester::Handler<RequestInterface>& handler,\n
      \                              mctp_eid_t eid, pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::SendRecvMsgOperation
      Src: /src/pldm/requester/handler.hpp:619,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: pldm::requester::connect
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - pldm::requester::SendRecvMsgOperation
    linkageType: ''
    returnType: auto
    signature: auto connect(R r) &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendRecvMsgSender
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: stdexec::then
      Src: /src/pldm/requester/handler.hpp:651,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eid
    - ' request'
    argTypes:
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: pldm::requester::Handler<RequestInterface>::sendRecvMsg
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::move
    - stdexec::then
    - SendRecvMsgSender
    linkageType: ''
    returnType: stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto
    signature: "stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto Handler<RequestInterface>::sendRecvMsg(mctp_eid_t
      eid,\n                                           pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: operator==(const RequestKey& e) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RequestKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator()(const RequestKey& key) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const RequestKey& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpEid'
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: operator==(const mctp_eid_t& mctpEid) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mctp_eid_t& mctpEid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& operator=(const Handler&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(Handler&&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: ~Handler()
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::seconds
      Src: /src/pldm/requester/handler.hpp:142,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/requester/handler.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pldmTransport
    - ' event'
    - ' instanceIdDb'
    - verbose
    argTypes:
    - PldmTransport*
    - sdeventplus::Event
    - pldm::InstanceIdDb
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: "void Handler(\n        PldmTransport* pldmTransport, sdeventplus::Event&
      event,\n        pldm::InstanceIdDb& instanceIdDb, bool verbose,\n        std::chrono::seconds
      instanceIdExpiryInterval = std::chrono::seconds(5),\n        uint8_t numRetries
      = 2,\n        std::chrono::milliseconds responseTimeOut =\n            std::chrono::milliseconds(RESPONSE_TIME_OUT))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::Handler::handlers::contains
      Src: /src/pldm/requester/handler.hpp:154,1
    - Dst: info
      Src: /src/pldm/requester/handler.hpp:156,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:161,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:162,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:165,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:171,1
    - Dst: pldm::requester::Handler::removeRequestContainer::emplace
      Src: /src/pldm/requester/handler.hpp:172,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/requester/handler.hpp:174,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:175,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:179,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts:
    - condition: (false)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 188
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 188
    functionName: pldm::requester::Handler::instanceIdExpiryCallBack
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - error
    - pldm::requester::Handler::pollEndpointQueue
    - assert
    - stop
    - responseHandler
    - std::make_unique<sdeventplus::source::Defer>
    - info
    - pldm::requester::Handler::removeRequestContainer::emplace
    - pldm::requester::Handler::handlers::contains
    linkageType: ''
    returnType: void
    signature: void instanceIdExpiryCallBack(RequestKey key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: requestQueue::empty
      Src: /src/pldm/requester/handler.hpp:197,1
    - Dst: requestQueue::front
      Src: /src/pldm/requester/handler.hpp:203,1
    - Dst: requestQueue::pop_front
      Src: /src/pldm/requester/handler.hpp:204,1
    - Dst: std::make_unique<RequestInterface>
      Src: /src/pldm/requester/handler.hpp:206,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:208,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/requester/handler.hpp:210,1
    - Dst: get
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:214,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:217,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:218,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:232,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:233,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:240,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:242,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 245
    functionName: pldm::requester::Handler::pollEndpointQueue
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 5
    functionsReached:
    - requestQueue::front
    - std::make_tuple
    - std::make_unique<RequestInterface>
    - duration_cast<std::chrono::microseconds>
    - get
    - emplace
    - std::bind
    - requestQueue::pop_front
    - error
    - requestQueue::empty
    - free
    - std::move
    - std::make_unique<sdbusplus::Timer>
    - auto::start
    linkageType: ''
    returnType: int
    signature: int pollEndpointQueue(mctp_eid_t eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:264,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:266,1
    - Dst: std::make_shared<RegisteredRequest>
      Src: /src/pldm/requester/handler.hpp:272,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:274,1
    - Dst: requestQueue::push_back
      Src: /src/pldm/requester/handler.hpp:276,1
    - Dst: std::deque::push_back
      Src: /src/pldm/requester/handler.hpp:281,1
    - Dst: std::make_shared<EndpointMessageQueue>
      Src: /src/pldm/requester/handler.hpp:283,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:287,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - ' requestMsg'
    - ' responseHandler'
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm::Request
    - ResponseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: pldm::requester::Handler::registerRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<EndpointMessageQueue>
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - requestQueue::push_back
    - std::move
    - std::deque::push_back
    - std::make_shared<RegisteredRequest>
    linkageType: ''
    returnType: int
    signature: "int registerRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, pldm::Request&& requestMsg,\n                        ResponseHandler&&
      responseHandler)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:314,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:317,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:318,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:321,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:323,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:326,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:327,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:330,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:336,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:338,1
    - Dst: auto::begin
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: auto::end
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: requestQueue::erase
      Src: /src/pldm/requester/handler.hpp:351,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - eid
    - instanceId
    - type
    - command
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 363
    functionName: pldm::requester::Handler::unregisterRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - requestQueue::erase
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - auto::begin
    - auto::end
    - static_cast<int>
    - free
    - stop
    - erase
    linkageType: ''
    returnType: int
    signature: "int unregisterRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t
      type,\n                          uint8_t command)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:382,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:383,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:386,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:390,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:391,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:392,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: pldm::requester::Handler::handleResponse
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - free
    - stop
    - responseHandler
    - erase
    linkageType: ''
    returnType: void
    signature: "void handleResponse(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, const pldm_msg* response,\n                        size_t
      respMsgLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:448,1
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:450,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:451,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:452,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: pldm::requester::Handler::removeRequestEntry
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - free
    - contains
    - reset
    - erase
    linkageType: ''
    returnType: void
    signature: void removeRequestEntry(RequestKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:476,1
    - Dst: pldm::requester::request::data
      Src: /src/pldm/requester/handler.hpp:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' handler'
    - eid
    - ' request'
    - ' r'
    argTypes:
    - Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const pldm_msg*>
    - std::move
    - pldm::requester::request::data
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgOperation(Handler<RequestInterface>& handler,\n                                  mctp_eid_t
      eid, pldm::Request&& request,\n                                  R&& r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stdexec::get_stop_token
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: stdexec::get_env
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: auto::stop_requested
      Src: /src/pldm/requester/handler.hpp:499,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/requester/handler.hpp:505,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:507,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:508,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: static_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:512,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/requester/handler.hpp:513,1
    - Dst: auto::stop_possible
      Src: /src/pldm/requester/handler.hpp:516,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:518,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:519,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: pldm::requester::start
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const pldm_msg*>
    - emplace
    - auto::stop_possible
    - std::bind
    - static_cast<size_t>
    - stdexec::get_stop_token
    - auto::stop_requested
    - registerRequest
    - stdexec::set_value
    - std::move
    - stdexec::set_stopped
    - stdexec::get_env
    linkageType: ''
    returnType: void
    signature: void start() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregisterRequest
      Src: /src/pldm/requester/handler.hpp:529,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:531,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: pldm::requester::onStop
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - unregisterRequest
    - std::move
    - stdexec::set_stopped
    linkageType: ''
    returnType: void
    signature: void onStop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:545,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:546,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (eid == this->requestKey.eid)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: pldm::requester::onComplete
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - assert
    - stdexec::set_value
    - static_cast<int>
    - std::move
    - reset
    linkageType: ''
    returnType: void
    signature: void onComplete(mctp_eid_t eid, const pldm_msg* response, size_t respMsgLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgSender()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' handler'
    - eid
    - ' request'
    argTypes:
    - requester::Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgSender(requester::Handler<RequestInterface>& handler,\n
      \                              mctp_eid_t eid, pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::SendRecvMsgOperation
      Src: /src/pldm/requester/handler.hpp:619,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: pldm::requester::connect
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - pldm::requester::SendRecvMsgOperation
    linkageType: ''
    returnType: auto
    signature: auto connect(R r) &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendRecvMsgSender
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: stdexec::then
      Src: /src/pldm/requester/handler.hpp:651,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eid
    - ' request'
    argTypes:
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: pldm::requester::Handler<RequestInterface>::sendRecvMsg
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::move
    - stdexec::then
    - SendRecvMsgSender
    linkageType: ''
    returnType: stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto
    signature: "stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto Handler<RequestInterface>::sendRecvMsg(mctp_eid_t
      eid,\n                                           pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: operator==(const RequestKey& e) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RequestKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator()(const RequestKey& key) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const RequestKey& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpEid'
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: operator==(const mctp_eid_t& mctpEid) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mctp_eid_t& mctpEid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& operator=(const Handler&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(Handler&&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: ~Handler()
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::seconds
      Src: /src/pldm/requester/handler.hpp:142,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/requester/handler.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pldmTransport
    - ' event'
    - ' instanceIdDb'
    - verbose
    argTypes:
    - PldmTransport*
    - sdeventplus::Event
    - pldm::InstanceIdDb
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: "void Handler(\n        PldmTransport* pldmTransport, sdeventplus::Event&
      event,\n        pldm::InstanceIdDb& instanceIdDb, bool verbose,\n        std::chrono::seconds
      instanceIdExpiryInterval = std::chrono::seconds(5),\n        uint8_t numRetries
      = 2,\n        std::chrono::milliseconds responseTimeOut =\n            std::chrono::milliseconds(RESPONSE_TIME_OUT))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::Handler::handlers::contains
      Src: /src/pldm/requester/handler.hpp:154,1
    - Dst: info
      Src: /src/pldm/requester/handler.hpp:156,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:161,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:162,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:165,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:171,1
    - Dst: pldm::requester::Handler::removeRequestContainer::emplace
      Src: /src/pldm/requester/handler.hpp:172,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/requester/handler.hpp:174,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:175,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:179,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts:
    - condition: (false)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 188
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 188
    functionName: pldm::requester::Handler::instanceIdExpiryCallBack
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - error
    - pldm::requester::Handler::pollEndpointQueue
    - assert
    - stop
    - responseHandler
    - std::make_unique<sdeventplus::source::Defer>
    - info
    - pldm::requester::Handler::removeRequestContainer::emplace
    - pldm::requester::Handler::handlers::contains
    linkageType: ''
    returnType: void
    signature: void instanceIdExpiryCallBack(RequestKey key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: requestQueue::empty
      Src: /src/pldm/requester/handler.hpp:197,1
    - Dst: requestQueue::front
      Src: /src/pldm/requester/handler.hpp:203,1
    - Dst: requestQueue::pop_front
      Src: /src/pldm/requester/handler.hpp:204,1
    - Dst: std::make_unique<RequestInterface>
      Src: /src/pldm/requester/handler.hpp:206,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:208,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/requester/handler.hpp:210,1
    - Dst: get
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:214,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:217,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:218,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:232,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:233,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:240,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:242,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 245
    functionName: pldm::requester::Handler::pollEndpointQueue
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 9
    functionsReached:
    - requestQueue::front
    - std::make_tuple
    - std::make_unique<RequestInterface>
    - duration_cast<std::chrono::microseconds>
    - get
    - emplace
    - std::bind
    - requestQueue::pop_front
    - error
    - requestQueue::empty
    - free
    - std::move
    - std::make_unique<sdbusplus::Timer>
    - auto::start
    linkageType: ''
    returnType: int
    signature: int pollEndpointQueue(mctp_eid_t eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:264,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:266,1
    - Dst: std::make_shared<RegisteredRequest>
      Src: /src/pldm/requester/handler.hpp:272,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:274,1
    - Dst: requestQueue::push_back
      Src: /src/pldm/requester/handler.hpp:276,1
    - Dst: std::deque::push_back
      Src: /src/pldm/requester/handler.hpp:281,1
    - Dst: std::make_shared<EndpointMessageQueue>
      Src: /src/pldm/requester/handler.hpp:283,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:287,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - ' requestMsg'
    - ' responseHandler'
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm::Request
    - ResponseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: pldm::requester::Handler::registerRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<EndpointMessageQueue>
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - requestQueue::push_back
    - std::move
    - std::deque::push_back
    - std::make_shared<RegisteredRequest>
    linkageType: ''
    returnType: int
    signature: "int registerRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, pldm::Request&& requestMsg,\n                        ResponseHandler&&
      responseHandler)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:314,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:317,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:318,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:321,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:323,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:326,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:327,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:330,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:336,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:338,1
    - Dst: auto::begin
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: auto::end
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: requestQueue::erase
      Src: /src/pldm/requester/handler.hpp:351,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - eid
    - instanceId
    - type
    - command
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 363
    functionName: pldm::requester::Handler::unregisterRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - requestQueue::erase
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - auto::begin
    - auto::end
    - static_cast<int>
    - free
    - stop
    - erase
    linkageType: ''
    returnType: int
    signature: "int unregisterRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t
      type,\n                          uint8_t command)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:382,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:383,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:386,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:390,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:391,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:392,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: pldm::requester::Handler::handleResponse
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - free
    - stop
    - responseHandler
    - erase
    linkageType: ''
    returnType: void
    signature: "void handleResponse(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, const pldm_msg* response,\n                        size_t
      respMsgLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:448,1
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:450,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:451,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:452,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: pldm::requester::Handler::removeRequestEntry
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - free
    - contains
    - reset
    - erase
    linkageType: ''
    returnType: void
    signature: void removeRequestEntry(RequestKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:476,1
    - Dst: pldm::requester::request::data
      Src: /src/pldm/requester/handler.hpp:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' handler'
    - eid
    - ' request'
    - ' r'
    argTypes:
    - Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const pldm_msg*>
    - std::move
    - pldm::requester::request::data
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgOperation(Handler<RequestInterface>& handler,\n                                  mctp_eid_t
      eid, pldm::Request&& request,\n                                  R&& r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stdexec::get_stop_token
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: stdexec::get_env
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: auto::stop_requested
      Src: /src/pldm/requester/handler.hpp:499,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/requester/handler.hpp:505,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:507,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:508,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: static_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:512,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/requester/handler.hpp:513,1
    - Dst: auto::stop_possible
      Src: /src/pldm/requester/handler.hpp:516,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:518,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:519,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: pldm::requester::start
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const pldm_msg*>
    - emplace
    - auto::stop_possible
    - std::bind
    - static_cast<size_t>
    - stdexec::get_stop_token
    - auto::stop_requested
    - registerRequest
    - stdexec::set_value
    - std::move
    - stdexec::set_stopped
    - stdexec::get_env
    linkageType: ''
    returnType: void
    signature: void start() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregisterRequest
      Src: /src/pldm/requester/handler.hpp:529,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:531,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: pldm::requester::onStop
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - unregisterRequest
    - std::move
    - stdexec::set_stopped
    linkageType: ''
    returnType: void
    signature: void onStop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:545,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:546,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (eid == this->requestKey.eid)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: pldm::requester::onComplete
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - assert
    - stdexec::set_value
    - static_cast<int>
    - std::move
    - reset
    linkageType: ''
    returnType: void
    signature: void onComplete(mctp_eid_t eid, const pldm_msg* response, size_t respMsgLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgSender()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' handler'
    - eid
    - ' request'
    argTypes:
    - requester::Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgSender(requester::Handler<RequestInterface>& handler,\n
      \                              mctp_eid_t eid, pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::SendRecvMsgOperation
      Src: /src/pldm/requester/handler.hpp:619,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: pldm::requester::connect
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - pldm::requester::SendRecvMsgOperation
    linkageType: ''
    returnType: auto
    signature: auto connect(R r) &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendRecvMsgSender
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: stdexec::then
      Src: /src/pldm/requester/handler.hpp:651,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eid
    - ' request'
    argTypes:
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: pldm::requester::Handler<RequestInterface>::sendRecvMsg
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::move
    - stdexec::then
    - SendRecvMsgSender
    linkageType: ''
    returnType: stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto
    signature: "stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto Handler<RequestInterface>::sendRecvMsg(mctp_eid_t
      eid,\n                                           pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: operator==(const RequestKey& e) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RequestKey& e) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: operator()(const RequestKey& key) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const RequestKey& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpEid'
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: operator==(const mctp_eid_t& mctpEid) const
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const mctp_eid_t& mctpEid) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Handler(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: '& operator=(const Handler&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(const Handler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(Handler&&)'
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Handler
    signature: Handler & operator=(Handler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: ~Handler()
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Handler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::seconds
      Src: /src/pldm/requester/handler.hpp:142,1
    - Dst: std::chrono::milliseconds
      Src: /src/pldm/requester/handler.hpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pldmTransport
    - ' event'
    - ' instanceIdDb'
    - verbose
    argTypes:
    - PldmTransport*
    - sdeventplus::Event
    - pldm::InstanceIdDb
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pldm::requester::Handler::Handler
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: "void Handler(\n        PldmTransport* pldmTransport, sdeventplus::Event&
      event,\n        pldm::InstanceIdDb& instanceIdDb, bool verbose,\n        std::chrono::seconds
      instanceIdExpiryInterval = std::chrono::seconds(5),\n        uint8_t numRetries
      = 2,\n        std::chrono::milliseconds responseTimeOut =\n            std::chrono::milliseconds(RESPONSE_TIME_OUT))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::Handler::handlers::contains
      Src: /src/pldm/requester/handler.hpp:154,1
    - Dst: info
      Src: /src/pldm/requester/handler.hpp:156,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:161,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:162,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:165,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:171,1
    - Dst: pldm::requester::Handler::removeRequestContainer::emplace
      Src: /src/pldm/requester/handler.hpp:172,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/requester/handler.hpp:174,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:175,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:179,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts:
    - condition: (false)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 188
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 188
    functionName: pldm::requester::Handler::instanceIdExpiryCallBack
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::bind
    - error
    - pldm::requester::Handler::pollEndpointQueue
    - assert
    - stop
    - responseHandler
    - std::make_unique<sdeventplus::source::Defer>
    - info
    - pldm::requester::Handler::removeRequestContainer::emplace
    - pldm::requester::Handler::handlers::contains
    linkageType: ''
    returnType: void
    signature: void instanceIdExpiryCallBack(RequestKey key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: requestQueue::empty
      Src: /src/pldm/requester/handler.hpp:197,1
    - Dst: requestQueue::front
      Src: /src/pldm/requester/handler.hpp:203,1
    - Dst: requestQueue::pop_front
      Src: /src/pldm/requester/handler.hpp:204,1
    - Dst: std::make_unique<RequestInterface>
      Src: /src/pldm/requester/handler.hpp:206,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:208,1
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/requester/handler.hpp:210,1
    - Dst: get
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:211,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:214,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:217,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:218,1
    - Dst: auto::start
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: duration_cast<std::chrono::microseconds>
      Src: /src/pldm/requester/handler.hpp:227,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:232,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:233,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:240,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:241,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:242,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 245
    functionName: pldm::requester::Handler::pollEndpointQueue
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 13
    functionsReached:
    - requestQueue::front
    - std::make_tuple
    - std::make_unique<RequestInterface>
    - duration_cast<std::chrono::microseconds>
    - get
    - emplace
    - std::bind
    - requestQueue::pop_front
    - error
    - requestQueue::empty
    - free
    - std::move
    - std::make_unique<sdbusplus::Timer>
    - auto::start
    linkageType: ''
    returnType: int
    signature: int pollEndpointQueue(mctp_eid_t eid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:264,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:266,1
    - Dst: std::make_shared<RegisteredRequest>
      Src: /src/pldm/requester/handler.hpp:272,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:273,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:274,1
    - Dst: requestQueue::push_back
      Src: /src/pldm/requester/handler.hpp:276,1
    - Dst: std::deque::push_back
      Src: /src/pldm/requester/handler.hpp:281,1
    - Dst: std::make_shared<EndpointMessageQueue>
      Src: /src/pldm/requester/handler.hpp:283,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:287,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - ' requestMsg'
    - ' responseHandler'
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm::Request
    - ResponseHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: pldm::requester::Handler::registerRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<EndpointMessageQueue>
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - requestQueue::push_back
    - std::move
    - std::deque::push_back
    - std::make_shared<RegisteredRequest>
    linkageType: ''
    returnType: int
    signature: "int registerRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, pldm::Request&& requestMsg,\n                        ResponseHandler&&
      responseHandler)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:314,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:317,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:318,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:321,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:323,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:326,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:327,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:330,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:336,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:338,1
    - Dst: auto::begin
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: auto::end
      Src: /src/pldm/requester/handler.hpp:345,1
    - Dst: requestQueue::erase
      Src: /src/pldm/requester/handler.hpp:351,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - eid
    - instanceId
    - type
    - command
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 363
    functionName: pldm::requester::Handler::unregisterRequest
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - requestQueue::erase
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - auto::begin
    - auto::end
    - static_cast<int>
    - free
    - stop
    - erase
    linkageType: ''
    returnType: int
    signature: "int unregisterRequest(mctp_eid_t eid, uint8_t instanceId, uint8_t
      type,\n                          uint8_t command)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:379,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:382,1
    - Dst: stop
      Src: /src/pldm/requester/handler.hpp:383,1
    - Dst: error
      Src: /src/pldm/requester/handler.hpp:386,1
    - Dst: responseHandler
      Src: /src/pldm/requester/handler.hpp:390,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:391,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:392,1
    - Dst: pldm::requester::Handler::pollEndpointQueue
      Src: /src/pldm/requester/handler.hpp:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - eid
    - instanceId
    - type
    - command
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - uint8_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: pldm::requester::Handler::handleResponse
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - error
    - contains
    - pldm::requester::Handler::pollEndpointQueue
    - free
    - stop
    - responseHandler
    - erase
    linkageType: ''
    returnType: void
    signature: "void handleResponse(mctp_eid_t eid, uint8_t instanceId, uint8_t type,\n
      \                       uint8_t command, const pldm_msg* response,\n                        size_t
      respMsgLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/handler.hpp:448,1
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:450,1
    - Dst: free
      Src: /src/pldm/requester/handler.hpp:451,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:452,1
    - Dst: erase
      Src: /src/pldm/requester/handler.hpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - RequestKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: pldm::requester::Handler::removeRequestEntry
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - free
    - contains
    - reset
    - erase
    linkageType: ''
    returnType: void
    signature: void removeRequestEntry(RequestKey key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgOperation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:473,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:476,1
    - Dst: pldm::requester::request::data
      Src: /src/pldm/requester/handler.hpp:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ' handler'
    - eid
    - ' request'
    - ' r'
    argTypes:
    - Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: pldm::requester::SendRecvMsgOperation
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const pldm_msg*>
    - std::move
    - pldm::requester::request::data
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgOperation(Handler<RequestInterface>& handler,\n                                  mctp_eid_t
      eid, pldm::Request&& request,\n                                  R&& r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stdexec::get_stop_token
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: stdexec::get_env
      Src: /src/pldm/requester/handler.hpp:496,1
    - Dst: auto::stop_requested
      Src: /src/pldm/requester/handler.hpp:499,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/requester/handler.hpp:505,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:507,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:508,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:511,1
    - Dst: static_cast<const pldm_msg*>
      Src: /src/pldm/requester/handler.hpp:512,1
    - Dst: static_cast<size_t>
      Src: /src/pldm/requester/handler.hpp:513,1
    - Dst: auto::stop_possible
      Src: /src/pldm/requester/handler.hpp:516,1
    - Dst: emplace
      Src: /src/pldm/requester/handler.hpp:518,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:519,1
    - Dst: std::bind
      Src: /src/pldm/requester/handler.hpp:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: pldm::requester::start
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const pldm_msg*>
    - emplace
    - auto::stop_possible
    - std::bind
    - static_cast<size_t>
    - stdexec::get_stop_token
    - auto::stop_requested
    - registerRequest
    - stdexec::set_value
    - std::move
    - stdexec::set_stopped
    - stdexec::get_env
    linkageType: ''
    returnType: void
    signature: void start() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unregisterRequest
      Src: /src/pldm/requester/handler.hpp:529,1
    - Dst: stdexec::set_stopped
      Src: /src/pldm/requester/handler.hpp:531,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: pldm::requester::onStop
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - unregisterRequest
    - std::move
    - stdexec::set_stopped
    linkageType: ''
    returnType: void
    signature: void onStop()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/requester/handler.hpp:545,1
    - Dst: assert
      Src: /src/pldm/requester/handler.hpp:546,1
    - Dst: stdexec::set_value
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:552,1
    - Dst: static_cast<int>
      Src: /src/pldm/requester/handler.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (eid == this->requestKey.eid)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/pldm/requester/handler.hpp
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: pldm::requester::onComplete
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - assert
    - stdexec::set_value
    - static_cast<int>
    - std::move
    - reset
    linkageType: ''
    returnType: void
    signature: void onComplete(mctp_eid_t eid, const pldm_msg* response, size_t respMsgLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SendRecvMsgSender()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' handler'
    - eid
    - ' request'
    argTypes:
    - requester::Handler<RequestInterface>
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: pldm::requester::SendRecvMsgSender
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SendRecvMsgSender(requester::Handler<RequestInterface>& handler,\n
      \                              mctp_eid_t eid, pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::requester::SendRecvMsgOperation
      Src: /src/pldm/requester/handler.hpp:619,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - R
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 621
    functionName: pldm::requester::connect
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - pldm::requester::SendRecvMsgOperation
    linkageType: ''
    returnType: auto
    signature: auto connect(R r) &&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendRecvMsgSender
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: std::move
      Src: /src/pldm/requester/handler.hpp:650,1
    - Dst: stdexec::then
      Src: /src/pldm/requester/handler.hpp:651,1
    - Dst: std::make_tuple
      Src: /src/pldm/requester/handler.hpp:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - eid
    - ' request'
    argTypes:
    - mctp_eid_t
    - pldm::Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: pldm::requester::Handler<RequestInterface>::sendRecvMsg
    functionSourceFile: /src/pldm/requester/handler.hpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - std::move
    - stdexec::then
    - SendRecvMsgSender
    linkageType: ''
    returnType: stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto
    signature: "stdexec::sender_of<stdexec::set_value_t(SendRecvCoResp)> auto Handler<RequestInterface>::sendRecvMsg(mctp_eid_t
      eid,\n                                           pldm::Request&& request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: pldm::MctpDiscoveryHandlerIntf::handleConfigurations
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& /*configurations*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MctpDiscoveryHandlerIntf()
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MctpDiscoveryHandlerIntf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery(const MctpDiscovery&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery(MctpDiscovery&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const MctpDiscovery&)'
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MctpDiscovery
    signature: MctpDiscovery & operator=(const MctpDiscovery&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(MctpDiscovery&&)'
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MctpDiscovery
    signature: MctpDiscovery & operator=(MctpDiscovery&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~MctpDiscovery()
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MctpDiscovery()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: pldm::MctpDiscoveryHandlerIntf::handleConfigurations
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& /*configurations*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MctpDiscoveryHandlerIntf()
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MctpDiscoveryHandlerIntf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery(const MctpDiscovery&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery(MctpDiscovery&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(const MctpDiscovery&)'
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MctpDiscovery
    signature: MctpDiscovery & operator=(const MctpDiscovery&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& operator=(MctpDiscovery&&)'
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MctpDiscovery
    signature: MctpDiscovery & operator=(MctpDiscovery&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~MctpDiscovery()
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MctpDiscovery()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interfacesAdded
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:27,1
    - Dst: pldm::MctpDiscovery::discoverEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:28,1
    - Dst: interfacesRemoved
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:30,1
    - Dst: pldm::MctpDiscovery::removeEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:31,1
    - Dst: propertiesChangedNamespace
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:33,1
    - Dst: pldm::MctpDiscovery::propertiesChangedCb
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:34,1
    - Dst: pldm::MctpDiscovery::getMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:38,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:46,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:46,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - list
    argTypes:
    - sdbusplus::bus_t
    - std::initializer_list<MctpDiscoveryHandlerIntf*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - interfacesAdded
    - pldm::MctpDiscovery::propertiesChangedCb
    - pldm::MctpDiscovery::discoverEndpoints
    - interfacesRemoved
    - pldm::MctpDiscovery::getMctpInfos
    - pldm::MctpDiscovery::addToExistingMctpInfos
    - MctpInfos
    - pldm::MctpDiscovery::removeEndpoints
    - propertiesChangedNamespace
    - pldm::MctpDiscovery::handleMctpEndpoints
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::MctpDiscovery(\n    sdbusplus::bus_t& bus,\n    std::initializer_list<MctpDiscoveryHandlerIntf*>
      list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:58,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:59,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:63,1
    - Dst: pldm::MctpDiscovery::getMctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:75,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:76,1
    - Dst: pldm::MctpDiscovery::getEndpointConnectivityProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:78,1
    - Dst: std::get<MCTPMsgTypes>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:79,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:81,1
    - Dst: MctpInfo
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:84,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:84,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:85,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:86,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfoMap'
    argTypes:
    - std::map<MctpInfo, Availability>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 91
    functionName: pldm::MctpDiscovery::getMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::vector<std::string>
    - std::find
    - std::get<eid>
    - error
    - pldm::MctpDiscovery::getEndpointConnectivityProp
    - std::get<MCTPMsgTypes>
    - auto::begin
    - auto::end
    - pldm::MctpDiscovery::getMctpEndpointProps
    - MctpInfo
    - pldm::MctpDiscovery::searchConfigurationFor
    - std::move
    - pldm::utils::DBusHandler
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::getMctpInfos(std::map<MctpInfo, Availability>&
      mctpInfoMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:98,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:99,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:99,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:101,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:102,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:103,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:106,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:107,1
    - Dst: std::get<mctp_eid_t>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:108,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:109,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:110,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:110,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:112,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:117,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:120,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' service'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: pldm::MctpDiscovery::getMctpEndpointProps
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - error
    - auto::contains
    - std::get<std::vector<uint8_t>>
    - pldm::utils::DBusHandler
    - MctpEndpointProps
    - std::get<mctp_eid_t>
    - auto::at
    - std::get<NetworkId>
    linkageType: ''
    returnType: MctpEndpointProps
    signature: "MctpEndpointProps MctpDiscovery::getMctpEndpointProps(\n    const
      std::string& service, const std::string& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:131,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:132,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:132,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:134,1
    - Dst: std::get<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:136,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:136,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:141,1
    - Dst: static_cast<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:144,1
    - Dst: static_cast<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' service'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: pldm::MctpDiscovery::getEndpointUUIDProp
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::get<UUID>
    - c_str
    - error
    - auto::contains
    - pldm::utils::DBusHandler
    - auto::at
    - static_cast<UUID>
    linkageType: ''
    returnType: UUID
    signature: "UUID MctpDiscovery::getEndpointUUIDProp(const std::string& service,\n
      \                                       const std::string& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:156,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:157,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:158,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::MctpDiscovery::getEndpointConnectivityProp
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: Availability
    signature: Availability MctpDiscovery::getEndpointConnectivityProp(const std::string&
      path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:185,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:189,1
    - Dst: pldm::MctpDiscovery::getEndpointConnectivityProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:194,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:199,1
    - Dst: ObjectPath::str::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:200,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:201,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:205,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:213,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:214,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:215,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:218,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:219,1
    - Dst: std::get<mctp_eid_t>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:220,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:221,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:222,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:222,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:229,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:231,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:234,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:236,1
    - Dst: MctpInfo
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:240,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:241,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:241,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ' msg'
    - ' mctpInfos'
    argTypes:
    - sdbusplus::message_t
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 248
    functionName: pldm::MctpDiscovery::getAddedMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - auto::end
    - std::get<std::vector<uint8_t>>
    - std::move
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    - std::find
    - static_cast<unsigned>
    - error
    - ObjectPath::str::c_str
    - info
    - emplace_back
    - at
    - pldm::MctpDiscovery::getEndpointConnectivityProp
    - pldm::utils::DBusHandler
    - contains
    - auto::begin
    - MctpInfo
    - pldm::MctpDiscovery::searchConfigurationFor
    - read
    - std::get<mctp_eid_t>
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::getAddedMctpInfos(sdbusplus::message_t& msg,\n
      \                                     MctpInfos& mctpInfos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:255,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' addedInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: pldm::MctpDiscovery::addToExistingMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - end
    - begin
    - std::find
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::addToExistingMctpInfos(const MctpInfos& addedInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:268,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:270,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:275,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:276,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:276,1
    - Dst: erase
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: std::remove
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:278,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' mctpInfos'
    - ' removedInfos'
    argTypes:
    - MctpInfos
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: pldm::MctpDiscovery::removeFromExistingMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::find
    - std::remove
    - erase
    - info
    - end
    - std::get<3>
    - begin
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::removeFromExistingMctpInfos(MctpInfos& mctpInfos,\n
      \                                               MctpInfos& removedInfos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:297,1
    - Dst: get_path
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:298,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:302,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:310,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:317,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:318,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:322,1
    - Dst: pldm::MctpDiscovery::getMctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:328,1
    - Dst: std::get<MCTPMsgTypes>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:330,1
    - Dst: std::ranges::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:331,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:335,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:337,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:338,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:339,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:339,1
    - Dst: std::ranges::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:340,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:346,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:348,1
    - Dst: unsigned
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:349,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:349,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:350,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:350,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:351,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:351,1
    - Dst: pldm::MctpDiscovery::updateMctpEndpointAvailability
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 361
    functionName: pldm::MctpDiscovery::propertiesChangedCb
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::get<0>
    - MctpInfos
    - pldm::MctpDiscovery::handleMctpEndpoints
    - pldm::MctpDiscovery::updateMctpEndpointAvailability
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    - error
    - pldm::MctpDiscovery::addToExistingMctpInfos
    - unsigned
    - info
    - std::get<3>
    - get_path
    - std::get<MCTPMsgTypes>
    - pldm::utils::DBusHandler
    - std::string::c_str
    - std::ranges::contains
    - pldm::MctpDiscovery::getMctpEndpointProps
    - pldm::MctpDiscovery::searchConfigurationFor
    - std::get<std::string>
    - read
    - std::get<eid>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::propertiesChangedCb(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::getAddedMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:366,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:367,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: pldm::MctpDiscovery::discoverEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - pldm::MctpDiscovery::getAddedMctpInfos
    - pldm::MctpDiscovery::handleMctpEndpoints
    - pldm::MctpDiscovery::addToExistingMctpInfos
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::discoverEndpoints(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::getMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:376,1
    - Dst: MctpInfos::push_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:379,1
    - Dst: pldm::MctpDiscovery::removeFromExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:381,1
    - Dst: pldm::MctpDiscovery::handleRemovedMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:382,1
    - Dst: pldm::MctpDiscovery::removeConfigs
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: pldm::MctpDiscovery::removeEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - pldm::MctpDiscovery::handleRemovedMctpEndpoints
    - pldm::MctpDiscovery::removeConfigs
    - pldm::MctpDiscovery::getMctpInfos
    - pldm::MctpDiscovery::removeFromExistingMctpInfos
    - MctpInfos::push_back
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::removeEndpoints(sdbusplus::message_t&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleConfigurations
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:392,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: pldm::MctpDiscovery::handleMctpEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 4
    functionsReached:
    - pldm::MctpDiscovery::handleMctpEndpoints
    - handleConfigurations
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::handleMctpEndpoints(const MctpInfos& mctpInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::handleRemovedMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: pldm::MctpDiscovery::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - pldm::MctpDiscovery::handleRemovedMctpEndpoints
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::handleRemovedMctpEndpoints(const MctpInfos& mctpInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::updateMctpEndpointAvailability
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: pldm::MctpDiscovery::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - pldm::MctpDiscovery::updateMctpEndpointAvailability
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                   Availability availability)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:424,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:426,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:429,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' properties'
    argTypes:
    - utils::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: pldm::MctpDiscovery::getNameFromProperties
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - at
    - error
    - contains
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string MctpDiscovery::getNameFromProperties(\n    const utils::PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:435,1
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:436,1
    - Dst: std::to_string
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:437,1
    - Dst: std::to_string
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: pldm::MctpDiscovery::constructMctpReactorObjectPath
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - std::to_string
    - std::get<NetworkId>
    - std::get<pldm::eid>
    linkageType: ''
    returnType: std::string
    signature: "std::string MctpDiscovery::constructMctpReactorObjectPath(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::constructMctpReactorObjectPath
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:444,1
    - Dst: getAssociatedSubTree
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:454,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:457,1
    - Dst: warning
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:459,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:464,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:467,1
    - Dst: warning
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:469,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:474,1
    - Dst: std::find_if
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:477,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:478,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:478,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:480,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:482,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:484,1
    - Dst: getDbusPropertiesVariant
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:489,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:491,1
    - Dst: pldm::MctpDiscovery::getNameFromProperties
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:492,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:493,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:495,1
    - Dst: emplace
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:497,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ' handler'
    - ' mctpInfo'
    argTypes:
    - pldm::utils::DBusHandler
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 506
    functionName: pldm::MctpDiscovery::searchConfigurationFor
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 3
    functionsReached:
    - emplace
    - std::string::c_str
    - std::find
    - warning
    - error
    - auto::begin
    - auto::end
    - auto::empty
    - begin
    - getDbusPropertiesVariant
    - std::find_if
    - pldm::MctpDiscovery::getNameFromProperties
    - std::get<std::optional<std::string>>
    - end
    - pldm::MctpDiscovery::constructMctpReactorObjectPath
    - getAssociatedSubTree
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::searchConfigurationFor(\n    const pldm::utils::DBusHandler&
      handler, MctpInfo& mctpInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:512,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:513,1
    - Dst: std::erase_if
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:515,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:518,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' removedInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 524
    functionName: pldm::MctpDiscovery::removeConfigs
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::get<eid>
    - std::erase_if
    - std::get<NetworkId>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::removeConfigs(const MctpInfos& removedInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: interfacesAdded
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:27,1
    - Dst: pldm::MctpDiscovery::discoverEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:28,1
    - Dst: interfacesRemoved
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:30,1
    - Dst: pldm::MctpDiscovery::removeEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:31,1
    - Dst: propertiesChangedNamespace
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:33,1
    - Dst: pldm::MctpDiscovery::propertiesChangedCb
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:34,1
    - Dst: pldm::MctpDiscovery::getMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:38,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:46,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:46,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' bus'
    - list
    argTypes:
    - sdbusplus::bus_t
    - std::initializer_list<MctpDiscoveryHandlerIntf*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: pldm::MctpDiscovery::MctpDiscovery
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 0
    functionsReached:
    - interfacesAdded
    - pldm::MctpDiscovery::propertiesChangedCb
    - pldm::MctpDiscovery::discoverEndpoints
    - interfacesRemoved
    - pldm::MctpDiscovery::getMctpInfos
    - pldm::MctpDiscovery::addToExistingMctpInfos
    - MctpInfos
    - pldm::MctpDiscovery::removeEndpoints
    - propertiesChangedNamespace
    - pldm::MctpDiscovery::handleMctpEndpoints
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::MctpDiscovery(\n    sdbusplus::bus_t& bus,\n    std::initializer_list<MctpDiscoveryHandlerIntf*>
      list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:58,1
    - Dst: std::vector<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:59,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:63,1
    - Dst: pldm::MctpDiscovery::getMctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:75,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:76,1
    - Dst: pldm::MctpDiscovery::getEndpointConnectivityProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:78,1
    - Dst: std::get<MCTPMsgTypes>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:79,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:80,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:81,1
    - Dst: MctpInfo
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:84,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:84,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:85,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:86,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:86,1
    - Dst: std::move
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' mctpInfoMap'
    argTypes:
    - std::map<MctpInfo, Availability>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 91
    functionName: pldm::MctpDiscovery::getMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 3
    functionsReached:
    - std::vector<std::string>
    - std::find
    - std::get<eid>
    - error
    - pldm::MctpDiscovery::getEndpointConnectivityProp
    - std::get<MCTPMsgTypes>
    - auto::begin
    - auto::end
    - pldm::MctpDiscovery::getMctpEndpointProps
    - MctpInfo
    - pldm::MctpDiscovery::searchConfigurationFor
    - std::move
    - pldm::utils::DBusHandler
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::getMctpInfos(std::map<MctpInfo, Availability>&
      mctpInfoMap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:98,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:99,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:99,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:101,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:102,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:103,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:106,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:107,1
    - Dst: std::get<mctp_eid_t>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:108,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:109,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:110,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:110,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:112,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:117,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:120,1
    - Dst: MctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' service'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: pldm::MctpDiscovery::getMctpEndpointProps
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - error
    - auto::contains
    - std::get<std::vector<uint8_t>>
    - pldm::utils::DBusHandler
    - MctpEndpointProps
    - std::get<mctp_eid_t>
    - auto::at
    - std::get<NetworkId>
    linkageType: ''
    returnType: MctpEndpointProps
    signature: "MctpEndpointProps MctpDiscovery::getMctpEndpointProps(\n    const
      std::string& service, const std::string& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:131,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:132,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:132,1
    - Dst: auto::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:134,1
    - Dst: std::get<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:136,1
    - Dst: auto::at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:136,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:141,1
    - Dst: static_cast<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:144,1
    - Dst: static_cast<UUID>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' service'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: pldm::MctpDiscovery::getEndpointUUIDProp
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 4
    functionsReached:
    - std::get<UUID>
    - c_str
    - error
    - auto::contains
    - pldm::utils::DBusHandler
    - auto::at
    - static_cast<UUID>
    linkageType: ''
    returnType: UUID
    signature: "UUID MctpDiscovery::getEndpointUUIDProp(const std::string& service,\n
      \                                       const std::string& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:156,1
    - Dst: c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:157,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:158,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: pldm::MctpDiscovery::getEndpointConnectivityProp
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 3
    functionsReached:
    - c_str
    - error
    - std::get<std::string>
    - pldm::utils::DBusHandler
    linkageType: ''
    returnType: Availability
    signature: Availability MctpDiscovery::getEndpointConnectivityProp(const std::string&
      path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:185,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:189,1
    - Dst: pldm::MctpDiscovery::getEndpointConnectivityProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:194,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:199,1
    - Dst: ObjectPath::str::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:200,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:201,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:205,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:213,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:214,1
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:215,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:218,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:219,1
    - Dst: std::get<mctp_eid_t>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:220,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:221,1
    - Dst: std::get<std::vector<uint8_t>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:222,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:222,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:229,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:231,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:233,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:234,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:236,1
    - Dst: MctpInfo
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:240,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:241,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:241,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:243,1
    - Dst: std::move
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:243,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ' msg'
    - ' mctpInfos'
    argTypes:
    - sdbusplus::message_t
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 248
    functionName: pldm::MctpDiscovery::getAddedMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - auto::end
    - std::get<std::vector<uint8_t>>
    - std::move
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    - std::find
    - static_cast<unsigned>
    - error
    - ObjectPath::str::c_str
    - info
    - emplace_back
    - at
    - pldm::MctpDiscovery::getEndpointConnectivityProp
    - pldm::utils::DBusHandler
    - contains
    - auto::begin
    - MctpInfo
    - pldm::MctpDiscovery::searchConfigurationFor
    - read
    - std::get<mctp_eid_t>
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::getAddedMctpInfos(sdbusplus::message_t& msg,\n
      \                                     MctpInfos& mctpInfos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:254,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:255,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' addedInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: pldm::MctpDiscovery::addToExistingMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - std::find
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::addToExistingMctpInfos(const MctpInfos& addedInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:267,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:268,1
    - Dst: emplace_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:270,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:275,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:276,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:276,1
    - Dst: erase
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: std::remove
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:277,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:278,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' mctpInfos'
    - ' removedInfos'
    argTypes:
    - MctpInfos
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: pldm::MctpDiscovery::removeFromExistingMctpInfos
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::get<0>
    - std::find
    - std::remove
    - erase
    - info
    - end
    - std::get<3>
    - begin
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::removeFromExistingMctpInfos(MctpInfos& mctpInfos,\n
      \                                               MctpInfos& removedInfos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:297,1
    - Dst: get_path
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:298,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:302,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:310,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:317,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:318,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:322,1
    - Dst: pldm::MctpDiscovery::getMctpEndpointProps
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:328,1
    - Dst: std::get<MCTPMsgTypes>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:330,1
    - Dst: std::ranges::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:331,1
    - Dst: pldm::MctpDiscovery::getEndpointUUIDProp
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:335,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:337,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:338,1
    - Dst: pldm::MctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:339,1
    - Dst: pldm::utils::DBusHandler
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:339,1
    - Dst: std::ranges::contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:340,1
    - Dst: info
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:346,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:348,1
    - Dst: unsigned
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:349,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:349,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:350,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:350,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:351,1
    - Dst: MctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:351,1
    - Dst: pldm::MctpDiscovery::updateMctpEndpointAvailability
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 361
    functionName: pldm::MctpDiscovery::propertiesChangedCb
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - std::get<0>
    - MctpInfos
    - pldm::MctpDiscovery::handleMctpEndpoints
    - pldm::MctpDiscovery::updateMctpEndpointAvailability
    - pldm::MctpDiscovery::getEndpointUUIDProp
    - std::get<NetworkId>
    - error
    - pldm::MctpDiscovery::addToExistingMctpInfos
    - unsigned
    - info
    - std::get<3>
    - get_path
    - std::get<MCTPMsgTypes>
    - pldm::utils::DBusHandler
    - std::string::c_str
    - std::ranges::contains
    - pldm::MctpDiscovery::getMctpEndpointProps
    - pldm::MctpDiscovery::searchConfigurationFor
    - std::get<std::string>
    - read
    - std::get<eid>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::propertiesChangedCb(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::getAddedMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:366,1
    - Dst: pldm::MctpDiscovery::addToExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:367,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - sdbusplus::message_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: pldm::MctpDiscovery::discoverEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - pldm::MctpDiscovery::getAddedMctpInfos
    - pldm::MctpDiscovery::handleMctpEndpoints
    - pldm::MctpDiscovery::addToExistingMctpInfos
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::discoverEndpoints(sdbusplus::message_t& msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::getMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:376,1
    - Dst: MctpInfos::push_back
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:379,1
    - Dst: pldm::MctpDiscovery::removeFromExistingMctpInfos
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:381,1
    - Dst: pldm::MctpDiscovery::handleRemovedMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:382,1
    - Dst: pldm::MctpDiscovery::removeConfigs
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: pldm::MctpDiscovery::removeEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - pldm::MctpDiscovery::handleRemovedMctpEndpoints
    - pldm::MctpDiscovery::removeConfigs
    - pldm::MctpDiscovery::getMctpInfos
    - pldm::MctpDiscovery::removeFromExistingMctpInfos
    - MctpInfos::push_back
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::removeEndpoints(sdbusplus::message_t&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: handleConfigurations
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:392,1
    - Dst: pldm::MctpDiscovery::handleMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: pldm::MctpDiscovery::handleMctpEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 8
    functionsReached:
    - pldm::MctpDiscovery::handleMctpEndpoints
    - handleConfigurations
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::handleMctpEndpoints(const MctpInfos& mctpInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::handleRemovedMctpEndpoints
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: pldm::MctpDiscovery::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 4
    functionsReached:
    - pldm::MctpDiscovery::handleRemovedMctpEndpoints
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::handleRemovedMctpEndpoints(const MctpInfos& mctpInfos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::updateMctpEndpointAvailability
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' mctpInfo'
    - availability
    argTypes:
    - MctpInfo
    - Availability
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: pldm::MctpDiscovery::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 4
    functionsReached:
    - pldm::MctpDiscovery::updateMctpEndpointAvailability
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::updateMctpEndpointAvailability(const MctpInfo&
      mctpInfo,\n                                                   Availability availability)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:424,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:426,1
    - Dst: std::get<std::string>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:429,1
    - Dst: at
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' properties'
    argTypes:
    - utils::PropertyMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: pldm::MctpDiscovery::getNameFromProperties
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - at
    - error
    - contains
    - std::get<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string MctpDiscovery::getNameFromProperties(\n    const utils::PropertyMap&
      properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:435,1
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:436,1
    - Dst: std::to_string
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:437,1
    - Dst: std::to_string
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfo'
    argTypes:
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: pldm::MctpDiscovery::constructMctpReactorObjectPath
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - std::get<NetworkId>
    - std::get<pldm::eid>
    linkageType: ''
    returnType: std::string
    signature: "std::string MctpDiscovery::constructMctpReactorObjectPath(\n    const
      MctpInfo& mctpInfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::MctpDiscovery::constructMctpReactorObjectPath
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:444,1
    - Dst: getAssociatedSubTree
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:454,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:457,1
    - Dst: warning
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:459,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:464,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:467,1
    - Dst: warning
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:469,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:474,1
    - Dst: std::find_if
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:477,1
    - Dst: auto::begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:478,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:478,1
    - Dst: std::find
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: begin
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:479,1
    - Dst: end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:480,1
    - Dst: auto::end
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:482,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:484,1
    - Dst: getDbusPropertiesVariant
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:489,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:490,1
    - Dst: std::string::c_str
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:491,1
    - Dst: pldm::MctpDiscovery::getNameFromProperties
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:492,1
    - Dst: auto::empty
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:493,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:495,1
    - Dst: emplace
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:497,1
    - Dst: error
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ' handler'
    - ' mctpInfo'
    argTypes:
    - pldm::utils::DBusHandler
    - MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 506
    functionName: pldm::MctpDiscovery::searchConfigurationFor
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 6
    functionsReached:
    - emplace
    - std::string::c_str
    - std::find
    - warning
    - error
    - auto::begin
    - auto::end
    - auto::empty
    - begin
    - getDbusPropertiesVariant
    - std::find_if
    - pldm::MctpDiscovery::getNameFromProperties
    - std::get<std::optional<std::string>>
    - end
    - pldm::MctpDiscovery::constructMctpReactorObjectPath
    - getAssociatedSubTree
    linkageType: ''
    returnType: void
    signature: "void MctpDiscovery::searchConfigurationFor(\n    const pldm::utils::DBusHandler&
      handler, MctpInfo& mctpInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:512,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:513,1
    - Dst: std::erase_if
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:515,1
    - Dst: std::get<eid>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:518,1
    - Dst: std::get<NetworkId>
      Src: /src/pldm/requester/mctp_endpoint_discovery.cpp:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' removedInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 524
    functionName: pldm::MctpDiscovery::removeConfigs
    functionSourceFile: /src/pldm/requester/mctp_endpoint_discovery.cpp
    functionUses: 2
    functionsReached:
    - std::get<eid>
    - std::erase_if
    - std::get<NetworkId>
    linkageType: ''
    returnType: void
    signature: void MctpDiscovery::removeConfigs(const MctpInfos& removedInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/requester/test/handler_test.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: HandlerTest::HandlerTest
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<microseconds>
      Src: /src/pldm/requester/test/handler_test.cpp:49,1
    - Dst: sd_event_run
      Src: /src/pldm/requester/test/handler_test.cpp:51,1
    - Dst: get
      Src: /src/pldm/requester/test/handler_test.cpp:51,1
    - Dst: auto::count
      Src: /src/pldm/requester/test/handler_test.cpp:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: HandlerTest::waitEventExpiry
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - auto::count
    - get
    - sd_event_run
    linkageType: ''
    returnType: void
    signature: void waitEventExpiry(milliseconds timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - response
    - respMsgLen
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: HandlerTest::pldmResponseCallBack
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldmResponseCallBack(mctp_eid_t /*eid*/, const pldm_msg* response,\n
      \                             size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:82,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:83,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:85,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:86,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:88,1
    - Dst: Handler::registerRequest
      Src: /src/pldm/requester/test/handler_test.cpp:89,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:90,1
    - Dst: pldmResponseCallBack
      Src: /src/pldm/requester/test/handler_test.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:94,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/test/handler_test.cpp:97,1
    - Dst: pldm::Response::data
      Src: /src/pldm/requester/test/handler_test.cpp:97,1
    - Dst: Handler::handleResponse
      Src: /src/pldm/requester/test/handler_test.cpp:98,1
    - Dst: pldm::Response::size
      Src: /src/pldm/requester/test/handler_test.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - Handler::handleResponse
    - ASSERT_TRUE
    - seconds
    - milliseconds
    - Handler::registerRequest
    - EXPECT_EQ
    - next
    - std::move
    - pldmResponseCallBack
    - pldm::Response::data
    - auto::value
    - reinterpret_cast<const pldm_msg*>
    - pldm::Response::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, singleRequestResponseScenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:107,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:108,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:110,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:111,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:113,1
    - Dst: Handler::registerRequest
      Src: /src/pldm/requester/test/handler_test.cpp:114,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:115,1
    - Dst: pldmResponseCallBack
      Src: /src/pldm/requester/test/handler_test.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:119,1
    - Dst: waitEventExpiry
      Src: /src/pldm/requester/test/handler_test.cpp:122,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - waitEventExpiry
    - ASSERT_TRUE
    - seconds
    - milliseconds
    - Handler::registerRequest
    - EXPECT_EQ
    - next
    - std::move
    - pldmResponseCallBack
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, singleRequestInstanceIdTimerExpired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:130,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:131,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:133,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:134,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:136,1
    - Dst: Handler::registerRequest
      Src: /src/pldm/requester/test/handler_test.cpp:137,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:138,1
    - Dst: pldmResponseCallBack
      Src: /src/pldm/requester/test/handler_test.cpp:140,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:142,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:145,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:146,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:148,1
    - Dst: Handler::registerRequest
      Src: /src/pldm/requester/test/handler_test.cpp:149,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:150,1
    - Dst: pldmResponseCallBack
      Src: /src/pldm/requester/test/handler_test.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:154,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/test/handler_test.cpp:157,1
    - Dst: pldm::Response::data
      Src: /src/pldm/requester/test/handler_test.cpp:157,1
    - Dst: Handler::handleResponse
      Src: /src/pldm/requester/test/handler_test.cpp:158,1
    - Dst: pldm::Response::size
      Src: /src/pldm/requester/test/handler_test.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:161,1
    - Dst: waitEventExpiry
      Src: /src/pldm/requester/test/handler_test.cpp:166,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:166,1
    - Dst: Handler::handleResponse
      Src: /src/pldm/requester/test/handler_test.cpp:168,1
    - Dst: pldm::Response::size
      Src: /src/pldm/requester/test/handler_test.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - Handler::handleResponse
    - waitEventExpiry
    - ASSERT_TRUE
    - seconds
    - milliseconds
    - Handler::registerRequest
    - EXPECT_EQ
    - next
    - std::move
    - pldmResponseCallBack
    - pldm::Response::data
    - auto::value
    - reinterpret_cast<const pldm_msg*>
    - pldm::Response::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, multipleRequestResponseScenario)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:179,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:180,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:182,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:183,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:185,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/requester/test/handler_test.cpp:193,1
    - Dst: pldm::Request::data
      Src: /src/pldm/requester/test/handler_test.cpp:193,1
    - Dst: std::tie
      Src: /src/pldm/requester/test/handler_test.cpp:198,1
    - Dst: Handler::sendRecvMsg
      Src: /src/pldm/requester/test/handler_test.cpp:199,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:199,1
    - Dst: std::rethrow_exception
      Src: /src/pldm/requester/test/handler_test.cpp:203,1
    - Dst: std::current_exception
      Src: /src/pldm/requester/test/handler_test.cpp:203,1
    - Dst: EXPECT_NE
      Src: /src/pldm/requester/test/handler_test.cpp:206,1
    - Dst: pldmResponseCallBack
      Src: /src/pldm/requester/test/handler_test.cpp:208,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:210,1
    - Dst: exec::async_scope::spawn
      Src: /src/pldm/requester/test/handler_test.cpp:212,1
    - Dst: coroFn
      Src: /src/pldm/requester/test/handler_test.cpp:212,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/requester/test/handler_test.cpp:213,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/requester/test/handler_test.cpp:217,1
    - Dst: pldm::Response::data
      Src: /src/pldm/requester/test/handler_test.cpp:217,1
    - Dst: Handler::handleResponse
      Src: /src/pldm/requester/test/handler_test.cpp:218,1
    - Dst: pldm::Response::size
      Src: /src/pldm/requester/test/handler_test.cpp:219,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/requester/test/handler_test.cpp:221,1
    - Dst: exec::async_scope::on_empty
      Src: /src/pldm/requester/test/handler_test.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 222
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - std::start_lifetime_as<pldm_msg>
    - next
    - std::move
    - pldmResponseCallBack
    - std::tie
    - seconds
    - EXPECT_NE
    - reinterpret_cast<const pldm_msg*>
    - Handler::sendRecvMsg
    - EXPECT_EQ
    - pldm::Response::data
    - pldm::Response::size
    - Handler::handleResponse
    - ASSERT_TRUE
    - exec::async_scope::on_empty
    - exec::default_task_context<void>
    - milliseconds
    - stdexec::sync_wait
    - exec::async_scope::spawn
    - std::current_exception
    - coroFn
    - auto::value
    - pldm::Request::data
    - std::rethrow_exception
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, singleRequestResponseScenarioUsingCoroutine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:228,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:229,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:230,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:231,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:233,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/requester/test/handler_test.cpp:241,1
    - Dst: pldm::Request::data
      Src: /src/pldm/requester/test/handler_test.cpp:241,1
    - Dst: Handler::sendRecvMsg
      Src: /src/pldm/requester/test/handler_test.cpp:244,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:244,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:246,1
    - Dst: exec::async_scope::spawn
      Src: /src/pldm/requester/test/handler_test.cpp:248,1
    - Dst: coroFn
      Src: /src/pldm/requester/test/handler_test.cpp:248,1
    - Dst: stdexec::upon_stopped
      Src: /src/pldm/requester/test/handler_test.cpp:248,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/requester/test/handler_test.cpp:249,1
    - Dst: exec::async_scope::request_stop
      Src: /src/pldm/requester/test/handler_test.cpp:251,1
    - Dst: EXPECT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:253,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/requester/test/handler_test.cpp:255,1
    - Dst: exec::async_scope::on_empty
      Src: /src/pldm/requester/test/handler_test.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 256
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - seconds
    - exec::default_task_context<void>
    - milliseconds
    - Handler::sendRecvMsg
    - exec::async_scope::spawn
    - stdexec::sync_wait
    - exec::async_scope::on_empty
    - EXPECT_EQ
    - next
    - std::start_lifetime_as<pldm_msg>
    - stdexec::upon_stopped
    - std::move
    - exec::async_scope::request_stop
    - coroFn
    - auto::value
    - pldm::Request::data
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, singleRequestCancellationScenarioUsingCoroutine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/requester/test/handler_test.cpp:267,1
    - Dst: pldm::Request::data
      Src: /src/pldm/requester/test/handler_test.cpp:267,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/requester/test/handler_test.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:272,1
    - Dst: std::tie
      Src: /src/pldm/requester/test/handler_test.cpp:274,1
    - Dst: sendRecvMsg
      Src: /src/pldm/requester/test/handler_test.cpp:275,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:275,1
    - Dst: EXPECT_NE
      Src: /src/pldm/requester/test/handler_test.cpp:276,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/requester/test/handler_test.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:280,1
    - Dst: seconds
      Src: /src/pldm/requester/test/handler_test.cpp:289,1
    - Dst: milliseconds
      Src: /src/pldm/requester/test/handler_test.cpp:289,1
    - Dst: next
      Src: /src/pldm/requester/test/handler_test.cpp:290,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/requester/test/handler_test.cpp:291,1
    - Dst: auto::value
      Src: /src/pldm/requester/test/handler_test.cpp:292,1
    - Dst: getTIDTask
      Src: /src/pldm/requester/test/handler_test.cpp:299,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:301,1
    - Dst: exec::async_scope::spawn
      Src: /src/pldm/requester/test/handler_test.cpp:305,1
    - Dst: coroFn
      Src: /src/pldm/requester/test/handler_test.cpp:305,1
    - Dst: exec::default_task_context<void>
      Src: /src/pldm/requester/test/handler_test.cpp:306,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/requester/test/handler_test.cpp:311,1
    - Dst: pldm::Response::data
      Src: /src/pldm/requester/test/handler_test.cpp:311,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/pldm/requester/test/handler_test.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:319,1
    - Dst: Handler::handleResponse
      Src: /src/pldm/requester/test/handler_test.cpp:323,1
    - Dst: pldm::Response::size
      Src: /src/pldm/requester/test/handler_test.cpp:325,1
    - Dst: stdexec::sync_wait
      Src: /src/pldm/requester/test/handler_test.cpp:327,1
    - Dst: exec::async_scope::on_empty
      Src: /src/pldm/requester/test/handler_test.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 328
    functionName: TEST_F
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - encode_pldm_base_get_tid_resp
    - std::start_lifetime_as<pldm_msg>
    - next
    - std::move
    - std::tie
    - seconds
    - EXPECT_NE
    - decode_pldm_base_get_tid_resp
    - sendRecvMsg
    - EXPECT_EQ
    - pldm::Response::data
    - pldm::Response::size
    - getTIDTask
    - Handler::handleResponse
    - ASSERT_TRUE
    - exec::async_scope::on_empty
    - exec::default_task_context<void>
    - milliseconds
    - stdexec::sync_wait
    - exec::async_scope::spawn
    - coroFn
    - auto::value
    - pldm::Request::data
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, asyncRequestResponseByCoroutine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/requester/test/handler_test.cpp:267,1
    - Dst: pldm::Request::data
      Src: /src/pldm/requester/test/handler_test.cpp:267,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/requester/test/handler_test.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:272,1
    - Dst: std::tie
      Src: /src/pldm/requester/test/handler_test.cpp:274,1
    - Dst: sendRecvMsg
      Src: /src/pldm/requester/test/handler_test.cpp:275,1
    - Dst: std::move
      Src: /src/pldm/requester/test/handler_test.cpp:275,1
    - Dst: EXPECT_NE
      Src: /src/pldm/requester/test/handler_test.cpp:276,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/requester/test/handler_test.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/handler_test.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ' handler'
    - eid
    - instanceId
    - ' tid'
    argTypes:
    - Handler<MockRequest>
    - mctp_eid_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: getTIDTask
    functionSourceFile: /src/pldm/requester/test/handler_test.cpp
    functionUses: 1
    functionsReached:
    - std::tie
    - encode_get_tid_req
    - EXPECT_EQ
    - std::start_lifetime_as<pldm_msg>
    - EXPECT_NE
    - decode_pldm_base_get_tid_resp
    - std::move
    - pldm::Request::data
    - sendRecvMsg
    linkageType: ''
    returnType: exec::task<uint8_t>
    signature: "exec::task<uint8_t> getTIDTask(Handler<MockRequest>& handler,\n                                              mctp_eid_t
      eid,\n                                              uint8_t instanceId, uint8_t&
      tid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/requester/test/request_test.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: RequestIntfTest::RequestIntfTest
    functionSourceFile: /src/pldm/requester/test/request_test.cpp
    functionUses: 0
    functionsReached:
    - sdeventplus::Event::get_default
    linkageType: ''
    returnType: void
    signature: void RequestIntfTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: duration_cast<microseconds>
      Src: /src/pldm/requester/test/request_test.cpp:34,1
    - Dst: sd_event_run
      Src: /src/pldm/requester/test/request_test.cpp:36,1
    - Dst: get
      Src: /src/pldm/requester/test/request_test.cpp:36,1
    - Dst: auto::count
      Src: /src/pldm/requester/test/request_test.cpp:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: RequestIntfTest::waitEventExpiry
    functionSourceFile: /src/pldm/requester/test/request_test.cpp
    functionUses: 0
    functionsReached:
    - duration_cast<microseconds>
    - auto::count
    - get
    - sd_event_run
    linkageType: ''
    returnType: void
    signature: void waitEventExpiry(milliseconds timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - responseTimeOut
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: pldm::requester::MockRequest::MockRequest
    functionSourceFile: /src/pldm/requester/test/mock_request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockRequest(PldmTransport* /*pldmTransport*/, mctp_eid_t /*eid*/,\n
      \               sdeventplus::Event& event, pldm::Request&& /*requestMsg*/,\n
      \               uint8_t numRetries, std::chrono::milliseconds responseTimeOut,\n
      \               bool /*verbose*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - responseTimeOut
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: pldm::requester::MockRequest::MockRequest
    functionSourceFile: /src/pldm/requester/test/mock_request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockRequest(PldmTransport* /*pldmTransport*/, mctp_eid_t /*eid*/,\n
      \               sdeventplus::Event& event, pldm::Request&& /*requestMsg*/,\n
      \               uint8_t numRetries, std::chrono::milliseconds responseTimeOut,\n
      \               bool /*verbose*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - responseTimeOut
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: pldm::requester::MockRequest::MockRequest
    functionSourceFile: /src/pldm/requester/test/mock_request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockRequest(PldmTransport* /*pldmTransport*/, mctp_eid_t /*eid*/,\n
      \               sdeventplus::Event& event, pldm::Request&& /*requestMsg*/,\n
      \               uint8_t numRetries, std::chrono::milliseconds responseTimeOut,\n
      \               bool /*verbose*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - numRetries
    - responseTimeOut
    argTypes:
    - sdeventplus::Event
    - uint8_t
    - std::chrono::milliseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: pldm::requester::MockRequest::MockRequest
    functionSourceFile: /src/pldm/requester/test/mock_request.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MockRequest(PldmTransport* /*pldmTransport*/, mctp_eid_t /*eid*/,\n
      \               sdeventplus::Event& event, pldm::Request&& /*requestMsg*/,\n
      \               uint8_t numRetries, std::chrono::milliseconds responseTimeOut,\n
      \               bool /*verbose*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpDiscovery'
    argTypes:
    - pldm::MctpDiscovery
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: "& getConfigurations(\n        const pldm::MctpDiscovery& mctpDiscovery)"
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pldm::Configurations
    signature: "pldm::Configurations & getConfigurations(\n        const pldm::MctpDiscovery&
      mctpDiscovery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestMctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' mctpDiscovery'
    - ' handler'
    - ' mctpInfo'
    argTypes:
    - pldm::MctpDiscovery
    - pldm::utils::DBusHandler
    - pldm::MctpInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: TestMctpDiscovery::searchConfigurationFor
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 1
    functionsReached:
    - TestMctpDiscovery::searchConfigurationFor
    linkageType: ''
    returnType: void
    signature: "void searchConfigurationFor(pldm::MctpDiscovery& mctpDiscovery,\n
      \                                      pldm::utils::DBusHandler& handler,\n
      \                                      pldm::MctpInfo& mctpInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:29,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:32,1
    - Dst: handleMctpEndpoints
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:32,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - handleMctpEndpoints
    - EXPECT_CALL
    - std::make_unique<pldm::MctpDiscovery>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, SingleHandleMctpEndpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:41,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:45,1
    - Dst: handleMctpEndpoints
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:45,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:46,1
    - Dst: handleMctpEndpoints
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:46,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - handleMctpEndpoints
    - EXPECT_CALL
    - std::make_unique<pldm::MctpDiscovery>
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, MultipleHandleMctpEndpoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:56,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:60,1
    - Dst: auto::getMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:63,1
    - Dst: std::map::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - auto::getMctpInfos
    - std::make_unique<pldm::MctpDiscovery>
    - EXPECT_EQ
    - std::map::size
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, goodGetMctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:68,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:71,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:72,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:74,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:76,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:77,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:77,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:78,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:79,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:80,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:80,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:81,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - std::make_unique<pldm::MctpDiscovery>
    - std::get<2>
    - EXPECT_EQ
    - auto::existingMctpInfos::size
    - std::get<3>
    - auto::addToExistingMctpInfos
    - auto::existingMctpInfos::back
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, goodAddToExistingMctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:86,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:89,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:91,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:93,1
    - Dst: EXPECT_NE
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:94,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::make_unique<pldm::MctpDiscovery>
    - auto::existingMctpInfos::size
    - EXPECT_NE
    - auto::addToExistingMctpInfos
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, badAddToExistingMctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:99,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:102,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:103,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:105,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:108,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:108,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:110,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:111,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:112,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:112,1
    - Dst: pldm::MctpInfos::emplace_back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:115,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:116,1
    - Dst: auto::removeFromExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:120,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:120,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:122,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:123,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:124,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:125,1
    - Dst: pldm::MctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:125,1
    - Dst: pldm::MctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:127,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:128,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:128,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:129,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - std::make_unique<pldm::MctpDiscovery>
    - std::get<2>
    - pldm::MctpInfos::emplace_back
    - pldm::MctpInfos::size
    - EXPECT_EQ
    - auto::existingMctpInfos::size
    - auto::removeFromExistingMctpInfos
    - pldm::MctpInfos::back
    - std::get<3>
    - auto::addToExistingMctpInfos
    - auto::existingMctpInfos::back
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, goodRemoveFromExistingMctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:134,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:137,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:138,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:140,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:142,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:143,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:143,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:145,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:145,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:146,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:147,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:147,1
    - Dst: sdbusplus::bus::new_default
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:148,1
    - Dst: auto::removeEndpoints
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:153,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - std::make_unique<pldm::MctpDiscovery>
    - std::get<2>
    - EXPECT_EQ
    - auto::existingMctpInfos::size
    - auto::removeEndpoints
    - std::get<3>
    - auto::addToExistingMctpInfos
    - sdbusplus::bus::new_default
    - auto::existingMctpInfos::back
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, goodRemoveEndpoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockdBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:159,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:162,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:175,1
    - Dst: getAssociatedSubTree
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:175,1
    - Dst: testing::Return
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:176,1
    - Dst: std::string
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:181,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:183,1
    - Dst: getDbusPropertiesVariant
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:183,1
    - Dst: testing::Return
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:184,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:186,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:189,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:189,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:190,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:191,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:192,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:192,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:193,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:193,1
    - Dst: TestMctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:194,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:196,1
    - Dst: std::get<4>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:196,1
    - Dst: std::optional<std::string>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:197,1
    - Dst: TestMctpDiscovery::getConfigurations
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:200,1
    - Dst: auto::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 201
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - auto::size
    - TestMctpDiscovery::searchConfigurationFor
    - std::make_unique<pldm::MctpDiscovery>
    - testing::Return
    - getDbusPropertiesVariant
    - std::get<3>
    - auto::addToExistingMctpInfos
    - std::get<4>
    - getAssociatedSubTree
    - auto::existingMctpInfos::back
    - std::get<2>
    - MockdBusHandler::getBus
    - EXPECT_EQ
    - std::optional<std::string>
    - EXPECT_CALL
    - std::string
    - auto::existingMctpInfos::size
    - TestMctpDiscovery::getConfigurations
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, goodSearchConfigurationFor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MockdBusHandler::getBus
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:206,1
    - Dst: pldm::platform_mc::TerminusManager::toMctpInfo
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:209,1
    - Dst: EXPECT_CALL
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:222,1
    - Dst: getAssociatedSubTree
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:222,1
    - Dst: testing::Return
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:223,1
    - Dst: std::make_unique<pldm::MctpDiscovery>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:228,1
    - Dst: auto::addToExistingMctpInfos
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:231,1
    - Dst: auto::existingMctpInfos::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:231,1
    - Dst: auto::existingMctpInfos::back
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:233,1
    - Dst: std::get<0>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:234,1
    - Dst: std::get<2>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:235,1
    - Dst: std::get<3>
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:235,1
    - Dst: TestMctpDiscovery::searchConfigurationFor
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:236,1
    - Dst: TestMctpDiscovery::getConfigurations
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:240,1
    - Dst: auto::size
      Src: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: TEST
    functionSourceFile: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
    functionUses: 0
    functionsReached:
    - pldm::platform_mc::TerminusManager::toMctpInfo
    - std::get<0>
    - std::make_unique<pldm::MctpDiscovery>
    - std::get<2>
    - MockdBusHandler::getBus
    - TestMctpDiscovery::getConfigurations
    - testing::Return
    - EXPECT_EQ
    - auto::existingMctpInfos::size
    - auto::size
    - TestMctpDiscovery::searchConfigurationFor
    - std::get<3>
    - auto::addToExistingMctpInfos
    - EXPECT_CALL
    - auto::existingMctpInfos::back
    - getAssociatedSubTree
    linkageType: ''
    returnType: void
    signature: void TEST(MctpEndpointDiscoveryTest, badSearchConfigurationFor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: ~GetPLDMTypes() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMTypes() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '& operator=(const GetPLDMTypes&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '& operator=(GetPLDMTypes&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: encode_get_types_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pldmtool::base::GetPLDMTypes::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_types_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:239,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:249,1
    - Dst: pldmtool::base::GetPLDMTypes::printPLDMTypes
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:252,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: pldmtool::base::GetPLDMTypes::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::base::GetPLDMTypes::printPLDMTypes
    - decode_pldm_base_get_pldm_types_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:269,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:272,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - (types)
    - ' data'
    argTypes:
    - bitfield8_t[]
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pldmtool::base::GetPLDMTypes::printPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 1
    functionsReached:
    - end
    - ordered_json::emplace_back
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: "void printPLDMTypes(bitfield8_t (&types)[PLDM_MAX_TYPES / 8],\n                        ordered_json&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: ~GetPLDMVersion() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMVersion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '& operator=(const GetPLDMVersion&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator=(GetPLDMVersion&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:301,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: encode_get_version_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: pldmtool::base::GetPLDMVersion::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_version_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:322,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:331,1
    - Dst: pldm_base_ver2str
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:335,1
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:341,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: pldmtool::base::GetPLDMVersion::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_resp
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - std::find_if
    - pldm_base_ver2str
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~GetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(const GetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: '& operator=(GetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: pldmtool::base::GetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:378,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:383,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:387,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: pldmtool::base::GetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<uint32_t>
    - decode_pldm_base_get_tid_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~GetPLDMCommands() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: '& operator=(const GetPLDMCommands&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: '& operator=(GetPLDMCommands&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:405,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:407,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetPLDMCommands(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:421,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:423,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: pldmtool::base::GetPLDMCommands::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_req
    - std::vector::data
    - size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_commands_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:445,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:446,1
    - Dst: pldmtool::base::GetPLDMCommands::printPldmCommands
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: pldmtool::base::GetPLDMCommands::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printPldmCommands
    - decode_get_commands_resp
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:463,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' commandMap'
    - i
    - ' jarray'
    argTypes:
    - CommandMap
    - int
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: pldmtool::base::GetPLDMCommands::printCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: void printCommand(CommandMap& commandMap, int i, ordered_json& jarray)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:490,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:493,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:496,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:499,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:502,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:505,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:508,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:511,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:515,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:516,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:521,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:524,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ' cmdTypes'
    - pldmType
    argTypes:
    - std::vector<bitfield8_t>
    - pldm_supported_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: pldmtool::base::GetPLDMCommands::printPldmCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printCommand
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: "void printPldmCommands(std::vector<bitfield8_t>& cmdTypes,\n                           pldm_supported_types
      pldmType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~SetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: '& operator=(const SetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: '& operator=(SetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetTID(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pldmtool::base::SetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_set_tid_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: pldmtool::base::SetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:584,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:585,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:588,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:589,1
    - Dst: std::make_unique<GetPLDMTypes>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:590,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:593,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: std::make_unique<GetPLDMVersion>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:597,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: std::make_unique<GetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:600,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: std::make_unique<GetPLDMCommands>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:605,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    - Dst: std::make_unique<SetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 608
    functionName: pldmtool::base::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetPLDMTypes>
    - std::make_unique<GetPLDMCommands>
    - push_back
    - std::make_unique<GetTID>
    - std::make_unique<GetPLDMVersion>
    - add_subcommand
    - std::make_unique<SetTID>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: ~GetPLDMTypes() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMTypes() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '& operator=(const GetPLDMTypes&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '& operator=(GetPLDMTypes&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: encode_get_types_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pldmtool::base::GetPLDMTypes::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_types_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:239,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:249,1
    - Dst: pldmtool::base::GetPLDMTypes::printPLDMTypes
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:252,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: pldmtool::base::GetPLDMTypes::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::base::GetPLDMTypes::printPLDMTypes
    - decode_pldm_base_get_pldm_types_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:269,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:272,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - (types)
    - ' data'
    argTypes:
    - bitfield8_t[]
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pldmtool::base::GetPLDMTypes::printPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 2
    functionsReached:
    - end
    - ordered_json::emplace_back
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: "void printPLDMTypes(bitfield8_t (&types)[PLDM_MAX_TYPES / 8],\n                        ordered_json&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: ~GetPLDMVersion() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMVersion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '& operator=(const GetPLDMVersion&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator=(GetPLDMVersion&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:301,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: encode_get_version_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: pldmtool::base::GetPLDMVersion::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_version_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:322,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:331,1
    - Dst: pldm_base_ver2str
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:335,1
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:341,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: pldmtool::base::GetPLDMVersion::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_resp
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - std::find_if
    - pldm_base_ver2str
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~GetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(const GetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: '& operator=(GetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: pldmtool::base::GetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:378,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:383,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:387,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: pldmtool::base::GetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<uint32_t>
    - decode_pldm_base_get_tid_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~GetPLDMCommands() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: '& operator=(const GetPLDMCommands&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: '& operator=(GetPLDMCommands&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:405,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:407,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetPLDMCommands(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:421,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:423,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: pldmtool::base::GetPLDMCommands::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_req
    - std::vector::data
    - size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_commands_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:445,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:446,1
    - Dst: pldmtool::base::GetPLDMCommands::printPldmCommands
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: pldmtool::base::GetPLDMCommands::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printPldmCommands
    - decode_get_commands_resp
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:463,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' commandMap'
    - i
    - ' jarray'
    argTypes:
    - CommandMap
    - int
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: pldmtool::base::GetPLDMCommands::printCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 1
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: void printCommand(CommandMap& commandMap, int i, ordered_json& jarray)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:490,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:493,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:496,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:499,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:502,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:505,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:508,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:511,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:515,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:516,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:521,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:524,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ' cmdTypes'
    - pldmType
    argTypes:
    - std::vector<bitfield8_t>
    - pldm_supported_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: pldmtool::base::GetPLDMCommands::printPldmCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printCommand
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: "void printPldmCommands(std::vector<bitfield8_t>& cmdTypes,\n                           pldm_supported_types
      pldmType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~SetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: '& operator=(const SetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: '& operator=(SetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetTID(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pldmtool::base::SetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_set_tid_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: pldmtool::base::SetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:584,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:585,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:588,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:589,1
    - Dst: std::make_unique<GetPLDMTypes>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:590,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:593,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: std::make_unique<GetPLDMVersion>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:597,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: std::make_unique<GetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:600,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: std::make_unique<GetPLDMCommands>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:605,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    - Dst: std::make_unique<SetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 608
    functionName: pldmtool::base::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetPLDMTypes>
    - std::make_unique<GetPLDMCommands>
    - push_back
    - std::make_unique<GetTID>
    - std::make_unique<GetPLDMVersion>
    - add_subcommand
    - std::make_unique<SetTID>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: ~GetPLDMTypes() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMTypes() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '& operator=(const GetPLDMTypes&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '& operator=(GetPLDMTypes&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: encode_get_types_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pldmtool::base::GetPLDMTypes::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_types_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:239,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:249,1
    - Dst: pldmtool::base::GetPLDMTypes::printPLDMTypes
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:252,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: pldmtool::base::GetPLDMTypes::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::base::GetPLDMTypes::printPLDMTypes
    - decode_pldm_base_get_pldm_types_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:269,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:272,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - (types)
    - ' data'
    argTypes:
    - bitfield8_t[]
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pldmtool::base::GetPLDMTypes::printPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 3
    functionsReached:
    - end
    - ordered_json::emplace_back
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: "void printPLDMTypes(bitfield8_t (&types)[PLDM_MAX_TYPES / 8],\n                        ordered_json&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: ~GetPLDMVersion() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMVersion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '& operator=(const GetPLDMVersion&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator=(GetPLDMVersion&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:301,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: encode_get_version_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: pldmtool::base::GetPLDMVersion::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_version_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:322,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:331,1
    - Dst: pldm_base_ver2str
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:335,1
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:341,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: pldmtool::base::GetPLDMVersion::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_resp
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - std::find_if
    - pldm_base_ver2str
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~GetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(const GetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: '& operator=(GetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: pldmtool::base::GetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:378,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:383,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:387,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: pldmtool::base::GetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<uint32_t>
    - decode_pldm_base_get_tid_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~GetPLDMCommands() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: '& operator=(const GetPLDMCommands&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: '& operator=(GetPLDMCommands&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:405,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:407,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetPLDMCommands(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:421,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:423,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: pldmtool::base::GetPLDMCommands::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_req
    - std::vector::data
    - size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_commands_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:445,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:446,1
    - Dst: pldmtool::base::GetPLDMCommands::printPldmCommands
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: pldmtool::base::GetPLDMCommands::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printPldmCommands
    - decode_get_commands_resp
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:463,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' commandMap'
    - i
    - ' jarray'
    argTypes:
    - CommandMap
    - int
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: pldmtool::base::GetPLDMCommands::printCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 2
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: void printCommand(CommandMap& commandMap, int i, ordered_json& jarray)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:490,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:493,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:496,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:499,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:502,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:505,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:508,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:511,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:515,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:516,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:521,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:524,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ' cmdTypes'
    - pldmType
    argTypes:
    - std::vector<bitfield8_t>
    - pldm_supported_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: pldmtool::base::GetPLDMCommands::printPldmCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printCommand
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: "void printPldmCommands(std::vector<bitfield8_t>& cmdTypes,\n                           pldm_supported_types
      pldmType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~SetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: '& operator=(const SetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: '& operator=(SetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetTID(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pldmtool::base::SetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_set_tid_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: pldmtool::base::SetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:584,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:585,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:588,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:589,1
    - Dst: std::make_unique<GetPLDMTypes>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:590,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:593,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: std::make_unique<GetPLDMVersion>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:597,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: std::make_unique<GetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:600,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: std::make_unique<GetPLDMCommands>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:605,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    - Dst: std::make_unique<SetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 608
    functionName: pldmtool::base::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetPLDMTypes>
    - std::make_unique<GetPLDMCommands>
    - push_back
    - std::make_unique<GetTID>
    - std::make_unique<GetPLDMVersion>
    - add_subcommand
    - std::make_unique<SetTID>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: ~GetPLDMTypes() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMTypes() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: pldmtool::base::GetPLDMTypes::GetPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMTypes(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: '& operator=(const GetPLDMTypes&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(const GetPLDMTypes&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: '& operator=(GetPLDMTypes&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMTypes
    signature: GetPLDMTypes & operator=(GetPLDMTypes&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:231,1
    - Dst: encode_get_types_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pldmtool::base::GetPLDMTypes::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_types_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:239,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:249,1
    - Dst: pldmtool::base::GetPLDMTypes::printPLDMTypes
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:252,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 256
    functionName: pldmtool::base::GetPLDMTypes::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::base::GetPLDMTypes::printPLDMTypes
    - decode_pldm_base_get_pldm_types_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:269,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:270,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:272,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - (types)
    - ' data'
    argTypes:
    - bitfield8_t[]
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pldmtool::base::GetPLDMTypes::printPLDMTypes
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 4
    functionsReached:
    - end
    - ordered_json::emplace_back
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: "void printPLDMTypes(bitfield8_t (&types)[PLDM_MAX_TYPES / 8],\n                        ordered_json&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: ~GetPLDMVersion() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMVersion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 293
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 295
    functionName: '& operator=(const GetPLDMVersion&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(const GetPLDMVersion&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: '& operator=(GetPLDMVersion&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMVersion
    signature: GetPLDMVersion & operator=(GetPLDMVersion&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:301,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: pldmtool::base::GetPLDMVersion::GetPLDMVersion
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetPLDMVersion(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:309,1
    - Dst: encode_get_version_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: pldmtool::base::GetPLDMVersion::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_version_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_version_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:322,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:331,1
    - Dst: pldm_base_ver2str
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:335,1
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:336,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:341,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: pldmtool::base::GetPLDMVersion::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_resp
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - std::find_if
    - pldm_base_ver2str
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: ~GetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: pldmtool::base::GetTID::GetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetTID(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: '& operator=(const GetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(const GetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: '& operator=(GetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetTID
    signature: GetTID & operator=(GetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:369,1
    - Dst: encode_get_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: pldmtool::base::GetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:378,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:383,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:387,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: pldmtool::base::GetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<uint32_t>
    - decode_pldm_base_get_tid_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~GetPLDMCommands() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPLDMCommands() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPLDMCommands(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: '& operator=(const GetPLDMCommands&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(const GetPLDMCommands&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: '& operator=(GetPLDMCommands&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPLDMCommands
    signature: GetPLDMCommands & operator=(GetPLDMCommands&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:405,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:407,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: pldmtool::base::GetPLDMCommands::GetPLDMCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetPLDMCommands(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:419,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:421,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:423,1
    - Dst: encode_get_commands_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: pldmtool::base::GetPLDMCommands::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_req
    - std::vector::data
    - size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_commands_resp
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:445,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:446,1
    - Dst: pldmtool::base::GetPLDMCommands::printPldmCommands
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: pldmtool::base::GetPLDMCommands::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printPldmCommands
    - decode_get_commands_resp
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:463,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:464,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' commandMap'
    - i
    - ' jarray'
    argTypes:
    - CommandMap
    - int
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: pldmtool::base::GetPLDMCommands::printCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 3
    functionsReached:
    - end
    - std::find_if
    - begin
    linkageType: ''
    returnType: void
    signature: void printCommand(CommandMap& commandMap, int i, ordered_json& jarray)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:490,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:493,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:496,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:499,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:502,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:505,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:508,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:511,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:515,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:516,1
    - Dst: pldmtool::base::GetPLDMCommands::printCommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:521,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:524,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - ' cmdTypes'
    - pldmType
    argTypes:
    - std::vector<bitfield8_t>
    - pldm_supported_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 528
    functionName: pldmtool::base::GetPLDMCommands::printPldmCommands
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 4
    functionsReached:
    - pldmtool::base::GetPLDMCommands::printCommand
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: "void printPldmCommands(std::vector<bitfield8_t>& cmdTypes,\n                           pldm_supported_types
      pldmType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 534
    functionName: ~SetTID() override
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetTID() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetTID(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 538
    functionName: '& operator=(const SetTID&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(const SetTID&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: '& operator=(SetTID&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetTID
    signature: SetTID & operator=(SetTID&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: pldmtool::base::SetTID::SetTID
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetTID(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:553,1
    - Dst: encode_set_tid_req
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pldmtool::base::SetTID::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_set_tid_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: pldmtool::base::SetTID::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:584,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:585,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:588,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:589,1
    - Dst: std::make_unique<GetPLDMTypes>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:590,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:593,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: std::make_unique<GetPLDMVersion>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:594,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:597,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: std::make_unique<GetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:598,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:600,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: std::make_unique<GetPLDMCommands>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:602,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:605,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    - Dst: std::make_unique<SetTID>
      Src: /src/pldm/pldmtool/pldm_base_cmd.cpp:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 608
    functionName: pldmtool::base::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_base_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetPLDMTypes>
    - std::make_unique<GetPLDMCommands>
    - push_back
    - std::make_unique<GetTID>
    - std::make_unique<GetPLDMVersion>
    - add_subcommand
    - std::make_unique<SetTID>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pldmverbose
    - msg
    - ' data'
    argTypes:
    - bool
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: pldmtool::helper::Logger
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void Logger(bool pldmverbose, const char* msg, const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pldmtool::helper::DisplayInJson
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 20
    functionsReached:
    - dump
    linkageType: ''
    returnType: void
    signature: void DisplayInJson(const ordered_json& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:96,1
    - Dst: CLI::App*::add_flag
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:97,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:98,1
    - Dst: CLI::App*::callback
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: pldmtool::helper::CommandInterface::CommandInterface
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_flag
    - CLI::App*::callback
    - pldmtool::helper::CommandInterface::exec
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void CommandInterface(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~CommandInterface()
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pldmtool::helper::CommandInterface::getMCTPEID
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMCTPEID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pldmtool::helper::CommandInterface::getPLDMType
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPLDMType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pldmtool::helper::CommandInterface::getCommandName
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getCommandName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pldmverbose
    - msg
    - ' data'
    argTypes:
    - bool
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: pldmtool::helper::Logger
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void Logger(bool pldmverbose, const char* msg, const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pldmtool::helper::DisplayInJson
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 20
    functionsReached:
    - dump
    linkageType: ''
    returnType: void
    signature: void DisplayInJson(const ordered_json& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:96,1
    - Dst: CLI::App*::add_flag
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:97,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:98,1
    - Dst: CLI::App*::callback
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: pldmtool::helper::CommandInterface::CommandInterface
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_flag
    - CLI::App*::callback
    - pldmtool::helper::CommandInterface::exec
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void CommandInterface(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~CommandInterface()
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pldmtool::helper::CommandInterface::getMCTPEID
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMCTPEID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pldmtool::helper::CommandInterface::getPLDMType
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPLDMType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pldmtool::helper::CommandInterface::getCommandName
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getCommandName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pldmverbose
    - msg
    - ' data'
    argTypes:
    - bool
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: pldmtool::helper::Logger
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void Logger(bool pldmverbose, const char* msg, const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pldmtool::helper::DisplayInJson
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 20
    functionsReached:
    - dump
    linkageType: ''
    returnType: void
    signature: void DisplayInJson(const ordered_json& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:96,1
    - Dst: CLI::App*::add_flag
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:97,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:98,1
    - Dst: CLI::App*::callback
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: pldmtool::helper::CommandInterface::CommandInterface
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_flag
    - CLI::App*::callback
    - pldmtool::helper::CommandInterface::exec
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void CommandInterface(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~CommandInterface()
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pldmtool::helper::CommandInterface::getMCTPEID
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMCTPEID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pldmtool::helper::CommandInterface::getPLDMType
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPLDMType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pldmtool::helper::CommandInterface::getCommandName
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getCommandName()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pldmverbose
    - msg
    - ' data'
    argTypes:
    - bool
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: pldmtool::helper::Logger
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void Logger(bool pldmverbose, const char* msg, const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pldmtool::helper::DisplayInJson
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 20
    functionsReached:
    - dump
    linkageType: ''
    returnType: void
    signature: void DisplayInJson(const ordered_json& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:96,1
    - Dst: CLI::App*::add_flag
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:97,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:98,1
    - Dst: CLI::App*::callback
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_cmd_helper.hpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: pldmtool::helper::CommandInterface::CommandInterface
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_flag
    - CLI::App*::callback
    - pldmtool::helper::CommandInterface::exec
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void CommandInterface(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ~CommandInterface()
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CommandInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pldmtool::helper::CommandInterface::getMCTPEID
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMCTPEID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pldmtool::helper::CommandInterface::getPLDMType
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPLDMType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pldmtool::helper::CommandInterface::getCommandName
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getCommandName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~GetFruRecordTableMetadata() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTableMetadata() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '& operator=(const GetFruRecordTableMetadata&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(GetFruRecordTableMetadata&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_fru_record_table_metadata_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:71,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - decode_get_fru_record_table_metadata_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - table
    - table_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: pldmtool::fru::FRUTablePrint::FRUTablePrint
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FRUTablePrint(const uint8_t* table, size_t table_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::fru::FRUTablePrint::isTableEnd
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:94,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:97,1
    - Dst: le16toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:99,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:101,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:104,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:114,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:117,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:121,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:125,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:130,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:135,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:139,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:142,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:150,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:155,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:157,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:163,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:168,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:173,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:178,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:181,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:184,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:190,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 193
    functionName: pldmtool::fru::FRUTablePrint::print
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - at
    - contains
    - pldmtool::fru::FRUTablePrint::isTableEnd
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - std::map::begin
    - std::map::insert
    - pldmtool::fru::FRUTablePrint::fruFieldValuestring
    - std::map::end
    - end
    - pldmtool::fru::FRUTablePrint::typeToString
    - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    - pldmtool::fru::FRUTablePrint::fruFieldParserU32
    - begin
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: pldmtool::fru::FRUTablePrint::isTableEnd
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTableEnd(const uint8_t* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:271,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    - Dst: std::map<uint8_t, std::string>::at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - typeMap
    - type
    argTypes:
    - std::map<uint8_t, std::string>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: pldmtool::fru::FRUTablePrint::typeToString
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::to_string
    - std::map<uint8_t, std::string>::at
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string typeToString(std::map<uint8_t, std::string> typeMap,\n
      \                            uint8_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldmtool::fru::FRUTablePrint::fruFieldValuestring
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldValuestring(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:289,1
    - Dst: std::memcpy
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:291,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts:
    - condition: (length == 4)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserU32
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached:
    - le32toh
    - std::to_string
    - std::memcpy
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserU32(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserTimestamp(const uint8_t*, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldIPZParser(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~GetFRURecordByOption() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFRURecordByOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const GetFRURecordByOption&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: '& operator=(GetFRURecordByOption&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(GetFRURecordByOption&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:325,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetFRURecordByOption(const char* type, const char* name,\n                                  CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:346,1
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:351,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: pldmtool::fru::GetFRURecordByOption::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::invalid_argument
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:376,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: pldmtool::fru::GetFRURecordByOption::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_by_option_resp
    - FRUTablePrint::print
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: ~GetFruRecordTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '& operator=(const GetFruRecordTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '& operator=(GetFruRecordTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: pldmtool::fru::GetFruRecordTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_table_req
    - std::vector::data
    - std::vector::size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:427,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:429,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:439,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: pldmtool::fru::GetFruRecordTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - FRUTablePrint::print
    - decode_get_fru_record_table_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:447,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:448,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: std::make_unique<GetFruRecordTableMetadata>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:455,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: std::make_unique<GetFRURecordByOption>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:460,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    - Dst: std::make_unique<GetFruRecordTable>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: pldmtool::fru::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetFruRecordTableMetadata>
    - push_back
    - std::make_unique<GetFRURecordByOption>
    - add_subcommand
    - std::make_unique<GetFruRecordTable>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~GetFruRecordTableMetadata() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTableMetadata() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '& operator=(const GetFruRecordTableMetadata&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(GetFruRecordTableMetadata&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_fru_record_table_metadata_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:71,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - decode_get_fru_record_table_metadata_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - table
    - table_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: pldmtool::fru::FRUTablePrint::FRUTablePrint
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FRUTablePrint(const uint8_t* table, size_t table_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::fru::FRUTablePrint::isTableEnd
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:94,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:97,1
    - Dst: le16toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:99,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:101,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:104,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:114,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:117,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:121,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:125,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:130,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:135,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:139,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:142,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:150,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:155,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:157,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:163,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:168,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:173,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:178,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:181,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:184,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:190,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 193
    functionName: pldmtool::fru::FRUTablePrint::print
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - at
    - contains
    - pldmtool::fru::FRUTablePrint::isTableEnd
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - std::map::begin
    - std::map::insert
    - pldmtool::fru::FRUTablePrint::fruFieldValuestring
    - std::map::end
    - end
    - pldmtool::fru::FRUTablePrint::typeToString
    - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    - pldmtool::fru::FRUTablePrint::fruFieldParserU32
    - begin
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: pldmtool::fru::FRUTablePrint::isTableEnd
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTableEnd(const uint8_t* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:271,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    - Dst: std::map<uint8_t, std::string>::at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - typeMap
    - type
    argTypes:
    - std::map<uint8_t, std::string>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: pldmtool::fru::FRUTablePrint::typeToString
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::to_string
    - std::map<uint8_t, std::string>::at
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string typeToString(std::map<uint8_t, std::string> typeMap,\n
      \                            uint8_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldmtool::fru::FRUTablePrint::fruFieldValuestring
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldValuestring(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:289,1
    - Dst: std::memcpy
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:291,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts:
    - condition: (length == 4)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserU32
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached:
    - le32toh
    - std::to_string
    - std::memcpy
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserU32(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserTimestamp(const uint8_t*, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::ostringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldIPZParser(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~GetFRURecordByOption() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFRURecordByOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const GetFRURecordByOption&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: '& operator=(GetFRURecordByOption&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(GetFRURecordByOption&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:325,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetFRURecordByOption(const char* type, const char* name,\n                                  CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:346,1
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:351,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: pldmtool::fru::GetFRURecordByOption::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::invalid_argument
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:376,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: pldmtool::fru::GetFRURecordByOption::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_by_option_resp
    - FRUTablePrint::print
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: ~GetFruRecordTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '& operator=(const GetFruRecordTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '& operator=(GetFruRecordTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: pldmtool::fru::GetFruRecordTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_table_req
    - std::vector::data
    - std::vector::size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:427,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:429,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:439,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: pldmtool::fru::GetFruRecordTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - FRUTablePrint::print
    - decode_get_fru_record_table_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:447,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:448,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: std::make_unique<GetFruRecordTableMetadata>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:455,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: std::make_unique<GetFRURecordByOption>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:460,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    - Dst: std::make_unique<GetFruRecordTable>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: pldmtool::fru::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetFruRecordTableMetadata>
    - push_back
    - std::make_unique<GetFRURecordByOption>
    - add_subcommand
    - std::make_unique<GetFruRecordTable>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~GetFruRecordTableMetadata() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTableMetadata() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '& operator=(const GetFruRecordTableMetadata&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(GetFruRecordTableMetadata&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_fru_record_table_metadata_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:71,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - decode_get_fru_record_table_metadata_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - table
    - table_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: pldmtool::fru::FRUTablePrint::FRUTablePrint
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FRUTablePrint(const uint8_t* table, size_t table_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::fru::FRUTablePrint::isTableEnd
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:94,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:97,1
    - Dst: le16toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:99,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:101,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:104,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:114,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:117,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:121,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:125,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:130,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:135,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:139,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:142,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:150,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:155,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:157,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:163,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:168,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:173,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:178,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:181,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:184,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:190,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 193
    functionName: pldmtool::fru::FRUTablePrint::print
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - at
    - contains
    - pldmtool::fru::FRUTablePrint::isTableEnd
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - std::map::begin
    - std::map::insert
    - pldmtool::fru::FRUTablePrint::fruFieldValuestring
    - std::map::end
    - end
    - pldmtool::fru::FRUTablePrint::typeToString
    - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    - pldmtool::fru::FRUTablePrint::fruFieldParserU32
    - begin
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: pldmtool::fru::FRUTablePrint::isTableEnd
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTableEnd(const uint8_t* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:271,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    - Dst: std::map<uint8_t, std::string>::at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - typeMap
    - type
    argTypes:
    - std::map<uint8_t, std::string>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: pldmtool::fru::FRUTablePrint::typeToString
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::to_string
    - std::map<uint8_t, std::string>::at
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string typeToString(std::map<uint8_t, std::string> typeMap,\n
      \                            uint8_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldmtool::fru::FRUTablePrint::fruFieldValuestring
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldValuestring(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:289,1
    - Dst: std::memcpy
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:291,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts:
    - condition: (length == 4)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserU32
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached:
    - le32toh
    - std::to_string
    - std::memcpy
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserU32(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserTimestamp(const uint8_t*, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::ostringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldIPZParser(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~GetFRURecordByOption() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFRURecordByOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const GetFRURecordByOption&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: '& operator=(GetFRURecordByOption&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(GetFRURecordByOption&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:325,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetFRURecordByOption(const char* type, const char* name,\n                                  CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:346,1
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:351,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: pldmtool::fru::GetFRURecordByOption::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::invalid_argument
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:376,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: pldmtool::fru::GetFRURecordByOption::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_by_option_resp
    - FRUTablePrint::print
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: ~GetFruRecordTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '& operator=(const GetFruRecordTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '& operator=(GetFruRecordTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: pldmtool::fru::GetFruRecordTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_table_req
    - std::vector::data
    - std::vector::size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:427,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:429,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:439,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: pldmtool::fru::GetFruRecordTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - FRUTablePrint::print
    - decode_get_fru_record_table_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:447,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:448,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: std::make_unique<GetFruRecordTableMetadata>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:455,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: std::make_unique<GetFRURecordByOption>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:460,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    - Dst: std::make_unique<GetFruRecordTable>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: pldmtool::fru::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetFruRecordTableMetadata>
    - push_back
    - std::make_unique<GetFRURecordByOption>
    - add_subcommand
    - std::make_unique<GetFruRecordTable>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~GetFruRecordTableMetadata() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTableMetadata() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTableMetadata(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: '& operator=(const GetFruRecordTableMetadata&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(const GetFruRecordTableMetadata&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(GetFruRecordTableMetadata&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTableMetadata
    signature: GetFruRecordTableMetadata & operator=(GetFruRecordTableMetadata&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:42,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_fru_record_table_metadata_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:57,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:69,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:71,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 79
    functionName: pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - decode_get_fru_record_table_metadata_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - table
    - table_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: pldmtool::fru::FRUTablePrint::FRUTablePrint
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FRUTablePrint(const uint8_t* table, size_t table_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::fru::FRUTablePrint::isTableEnd
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:94,1
    - Dst: reinterpret_cast<const pldm_fru_record_data_format*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:97,1
    - Dst: le16toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:99,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:101,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:104,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:114,1
    - Dst: reinterpret_cast<const pldm_fru_record_tlv*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:117,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:120,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:121,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:125,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:130,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:135,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:139,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:142,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:150,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:155,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:156,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:157,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:162,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:163,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldParserU32
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:168,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:173,1
    - Dst: pldmtool::fru::FRUTablePrint::fruFieldValuestring
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:178,1
    - Dst: pldmtool::fru::FRUTablePrint::typeToString
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:181,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:184,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:190,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 193
    functionName: pldmtool::fru::FRUTablePrint::print
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - ordered_json::emplace_back
    - pldmtool::helper::DisplayInJson
    - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    - reinterpret_cast<const pldm_fru_record_tlv*>
    - at
    - contains
    - pldmtool::fru::FRUTablePrint::isTableEnd
    - le16toh
    - reinterpret_cast<const pldm_fru_record_data_format*>
    - std::map::begin
    - std::map::insert
    - pldmtool::fru::FRUTablePrint::fruFieldValuestring
    - std::map::end
    - end
    - pldmtool::fru::FRUTablePrint::typeToString
    - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    - pldmtool::fru::FRUTablePrint::fruFieldParserU32
    - begin
    linkageType: ''
    returnType: void
    signature: void print()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: pldmtool::fru::FRUTablePrint::isTableEnd
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTableEnd(const uint8_t* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:271,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    - Dst: std::map<uint8_t, std::string>::at
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - typeMap
    - type
    argTypes:
    - std::map<uint8_t, std::string>
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: pldmtool::fru::FRUTablePrint::typeToString
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached:
    - std::to_string
    - std::map<uint8_t, std::string>::at
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string typeToString(std::map<uint8_t, std::string> typeMap,\n
      \                            uint8_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pldmtool::fru::FRUTablePrint::fruFieldValuestring
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const char*>
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldValuestring(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:289,1
    - Dst: std::memcpy
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:291,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts:
    - condition: (length == 4)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserU32
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached:
    - le32toh
    - std::to_string
    - std::memcpy
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserU32(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldParserTimestamp(const uint8_t*, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:305,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - length
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: pldmtool::fru::FRUTablePrint::fruFieldIPZParser
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 4
    functionsReached:
    - std::ostringstream::str
    - std::setw
    - std::setfill
    linkageType: ''
    returnType: std::string
    signature: std::string fruFieldIPZParser(const uint8_t* value, uint8_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: ~GetFRURecordByOption() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFRURecordByOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFRURecordByOption(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: '& operator=(const GetFRURecordByOption&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(const GetFRURecordByOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: '& operator=(GetFRURecordByOption&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFRURecordByOption
    signature: GetFRURecordByOption & operator=(GetFRURecordByOption&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:325,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetFRURecordByOption(const char* type, const char* name,\n                                  CLI::App*
      app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:346,1
    - Dst: std::invalid_argument
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:351,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:360,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 367
    functionName: pldmtool::fru::GetFRURecordByOption::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::invalid_argument
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:376,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: pldmtool::fru::GetFRURecordByOption::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_by_option_resp
    - FRUTablePrint::print
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: ~GetFruRecordTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFruRecordTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: pldmtool::fru::GetFruRecordTable::GetFruRecordTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFruRecordTable(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '& operator=(const GetFruRecordTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(const GetFruRecordTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: '& operator=(GetFruRecordTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFruRecordTable
    signature: GetFruRecordTable & operator=(GetFruRecordTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:412,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:414,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: pldmtool::fru::GetFruRecordTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_table_req
    - std::vector::data
    - std::vector::size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_resp
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:427,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:429,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:439,1
    - Dst: FRUTablePrint::print
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: pldmtool::fru::GetFruRecordTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - FRUTablePrint::print
    - decode_get_fru_record_table_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:447,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:448,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: std::make_unique<GetFruRecordTableMetadata>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:451,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:455,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: std::make_unique<GetFRURecordByOption>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:456,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:460,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    - Dst: std::make_unique<GetFruRecordTable>
      Src: /src/pldm/pldmtool/pldm_fru_cmd.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: pldmtool::fru::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fru_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<GetFruRecordTableMetadata>
    - push_back
    - std::make_unique<GetFRURecordByOption>
    - add_subcommand
    - std::make_unique<GetFruRecordTable>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:109,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - compImgVerStrType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: pldmtool::fw_update::convertStringTypeToUInt8
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - static_cast<uint8_t>
    - std::stoi
    - std::map::contains
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t convertStringTypeToUInt8(std::string compImgVerStrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~GetStatus() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(const GetStatus&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '& operator=(GetStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: encode_get_status_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: pldmtool::fw_update::GetStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_status_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:164,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:166,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:174,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:184,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 189
    functionName: pldmtool::fw_update::GetStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - decode_get_status_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ~GetFirmwareParameters() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFirmwareParameters() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const GetFirmwareParameters&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '& operator=(GetFirmwareParameters&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:238,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:312,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:314,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:316,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:328,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:339,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:347,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:350,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:352,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:354,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:367,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:375,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:386,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:397,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:401,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:405,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:409,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:413,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:417,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:438,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:440,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:447,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:451,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 452
    functionName: pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - static_cast<uint8_t>
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - ordered_json::push_back
    - at
    - std::array::end
    - contains
    - std::array::begin
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::equal
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: ~QueryDeviceIdentifiers() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QueryDeviceIdentifiers() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(QueryDeviceIdentifiers&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: '& operator=(const QueryDeviceIdentifiers&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: '& operator=(QueryDeviceIdentifiers&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(QueryDeviceIdentifiers&&)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:505,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:509,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:510,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:517,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:522,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:531,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:532,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:533,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:534,1
    - Dst: ordered_json::object
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:540,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:541,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:542,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:550,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:551,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:552,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:553,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ' descriptors'
    - ' descriptorType'
    - "\n        descriptorVal"
    argTypes:
    - ordered_json
    - DescriptorType
    - std::variant<DescriptorData, VendorDefinedDescriptorInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 561
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::get<DescriptorData>
    - std::setfill
    - std::get<VendorDefinedDescriptorTitle>
    - ordered_json::object
    - at
    - contains
    - std::setw
    - std::ostringstream::str
    - pldm_msgbuf_insert_array
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::updateDescriptor(\n    ordered_json&
      descriptors, const DescriptorType& descriptorType,\n    const std::variant<DescriptorData,
      VendorDefinedDescriptorInfo>&\n        descriptorVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_query_device_identifiers_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> QueryDeviceIdentifiers::createRequestMsg()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getMCTPEID
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:579,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:580,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:586,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:605,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:611,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:619,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:627,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:634,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:639,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:644,1
    - Dst: std::make_tuple
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:645,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:648,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:649,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 656
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    - pldmtool::helper::DisplayInJson
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - unsigned
    - getMCTPEID
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::parseResponseMsg(pldm_msg* responsePtr,\n
      \                                             size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: ~RequestUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(RequestUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: '& operator=(const RequestUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: '& operator=(RequestUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(RequestUpdate&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:671,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:679,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:686,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:693,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:702,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:714,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:721,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:734,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 743
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: encode_request_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:759,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: pldmtool::fw_update::RequestUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_request_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:776,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:786,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:792,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 795
    functionName: pldmtool::fw_update::RequestUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_request_update_resp
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: ~PassComponentTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PassComponentTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(PassComponentTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: '& operator=(const PassComponentTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: '& operator=(PassComponentTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(PassComponentTable&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:821,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:828,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:830,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:836,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:841,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:848,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:856,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:875,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:888,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 897
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void PassComponentTable(const char* type, const char* name,\n                                CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:902,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:903,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:904,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:914,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 922
    functionName: pldmtool::fw_update::PassComponentTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::data
    - convertStringTypeToUInt8
    - encode_pass_component_table_req
    - pldm_msg::pldm_msg
    - end
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:930,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:941,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:950,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 954
    functionName: pldmtool::fw_update::PassComponentTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - decode_pass_component_table_resp
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: ~UpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 973
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(UpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: '& operator=(const UpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: '& operator=(UpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(UpdateComponent&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:980,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:987,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:992,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:999,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1007,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1011,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1020,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1032,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1039,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1052,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1062
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateComponent(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: std::stringstream::fail
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1082,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1086,1
    - Dst: encode_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1089,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1099
    functionName: pldmtool::fw_update::UpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - std::stringstream::fail
    - pldm_msg::pldm_msg
    - encode_update_component_req
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1117,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1122,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1134,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1136,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1138,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1142
    functionName: pldmtool::fw_update::UpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_update_component_resp
    - std::to_string
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: ~ActivateFirmware() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ActivateFirmware() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: '& operator=(const ActivateFirmware&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1164
    functionName: '& operator=(ActivateFirmware&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1169,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1175
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void ActivateFirmware(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: pldmtool::fw_update::ActivateFirmware::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1193,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1198,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1203,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1208,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1212
    functionName: pldmtool::fw_update::ActivateFirmware::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_activate_firmware_resp
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: ~CancelUpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: '& operator=(const CancelUpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: '& operator=(CancelUpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1237
    functionName: pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_cancel_update_component_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1243,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1248,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1253,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_cancel_update_component_resp
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: ~CancelUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1264
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: '& operator=(const CancelUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: '& operator=(CancelUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: encode_cancel_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1279
    functionName: pldmtool::fw_update::CancelUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1286,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1292,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1298,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1308,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1313
    functionName: pldmtool::fw_update::CancelUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - std::to_string
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: ~UpdateSecurityRevision() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateSecurityRevision() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: '& operator=(const UpdateSecurityRevision&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: '& operator=(UpdateSecurityRevision&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1335,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1343
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateSecurityRevision(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1367
    functionName: pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_fwup_update_security_revision_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1373,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1384,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1389
    functionName: pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - decode_pldm_fwup_update_security_revision_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1398,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1399,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1401,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1402,1
    - Dst: std::make_unique<GetStatus>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1403,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1405,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1409,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1414,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: std::make_unique<QueryDeviceIdentifiers>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1419,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: std::make_unique<RequestUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1424,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: std::make_unique<PassComponentTable>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1429,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: std::make_unique<UpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1435,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: std::make_unique<ActivateFirmware>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1439,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: std::make_unique<CancelUpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1445,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: std::make_unique<CancelUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    - Dst: std::make_unique<UpdateSecurityRevision>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1453
    functionName: pldmtool::fw_update::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<QueryDeviceIdentifiers>
    - std::make_unique<CancelUpdateComponent>
    - push_back
    - std::make_unique<UpdateComponent>
    - std::make_unique<GetFirmwareParameters>
    - std::make_unique<GetStatus>
    - std::make_unique<CancelUpdate>
    - std::make_unique<ActivateFirmware>
    - add_subcommand
    - std::make_unique<PassComponentTable>
    - std::make_unique<UpdateSecurityRevision>
    - std::make_unique<RequestUpdate>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:109,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - compImgVerStrType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: pldmtool::fw_update::convertStringTypeToUInt8
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - static_cast<uint8_t>
    - std::stoi
    - std::map::contains
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t convertStringTypeToUInt8(std::string compImgVerStrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~GetStatus() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(const GetStatus&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '& operator=(GetStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: encode_get_status_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: pldmtool::fw_update::GetStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_status_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:164,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:166,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:174,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:184,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 189
    functionName: pldmtool::fw_update::GetStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - decode_get_status_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ~GetFirmwareParameters() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFirmwareParameters() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const GetFirmwareParameters&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '& operator=(GetFirmwareParameters&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:238,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:312,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:314,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:316,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:328,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:339,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:347,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:350,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:352,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:354,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:367,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:375,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:386,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:397,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:401,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:405,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:409,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:413,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:417,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:438,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:440,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:447,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:451,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 452
    functionName: pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - static_cast<uint8_t>
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - ordered_json::push_back
    - at
    - std::array::end
    - contains
    - std::array::begin
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::equal
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: ~QueryDeviceIdentifiers() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QueryDeviceIdentifiers() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(QueryDeviceIdentifiers&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: '& operator=(const QueryDeviceIdentifiers&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: '& operator=(QueryDeviceIdentifiers&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(QueryDeviceIdentifiers&&)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:505,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:509,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:510,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:517,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:522,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:531,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:532,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:533,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:534,1
    - Dst: ordered_json::object
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:540,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:541,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:542,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:550,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:551,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:552,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:553,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ' descriptors'
    - ' descriptorType'
    - "\n        descriptorVal"
    argTypes:
    - ordered_json
    - DescriptorType
    - std::variant<DescriptorData, VendorDefinedDescriptorInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 561
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::get<DescriptorData>
    - std::setfill
    - std::get<VendorDefinedDescriptorTitle>
    - ordered_json::object
    - at
    - contains
    - std::setw
    - std::ostringstream::str
    - pldm_msgbuf_insert_array
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::updateDescriptor(\n    ordered_json&
      descriptors, const DescriptorType& descriptorType,\n    const std::variant<DescriptorData,
      VendorDefinedDescriptorInfo>&\n        descriptorVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_query_device_identifiers_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> QueryDeviceIdentifiers::createRequestMsg()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getMCTPEID
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:579,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:580,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:586,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:605,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:611,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:619,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:627,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:634,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:639,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:644,1
    - Dst: std::make_tuple
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:645,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:648,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:649,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 656
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    - pldmtool::helper::DisplayInJson
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - unsigned
    - getMCTPEID
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::parseResponseMsg(pldm_msg* responsePtr,\n
      \                                             size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: ~RequestUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(RequestUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: '& operator=(const RequestUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: '& operator=(RequestUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(RequestUpdate&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:671,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:679,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:686,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:693,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:702,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:714,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:721,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:734,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 743
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: encode_request_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:759,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: pldmtool::fw_update::RequestUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_request_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:776,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:786,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:792,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 795
    functionName: pldmtool::fw_update::RequestUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_request_update_resp
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: ~PassComponentTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PassComponentTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(PassComponentTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: '& operator=(const PassComponentTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: '& operator=(PassComponentTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(PassComponentTable&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:821,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:828,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:830,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:836,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:841,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:848,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:856,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:875,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:888,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 897
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void PassComponentTable(const char* type, const char* name,\n                                CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:902,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:903,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:904,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:914,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 922
    functionName: pldmtool::fw_update::PassComponentTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::data
    - convertStringTypeToUInt8
    - encode_pass_component_table_req
    - pldm_msg::pldm_msg
    - end
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:930,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:941,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:950,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 954
    functionName: pldmtool::fw_update::PassComponentTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - decode_pass_component_table_resp
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: ~UpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 973
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(UpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: '& operator=(const UpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: '& operator=(UpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(UpdateComponent&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:980,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:987,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:992,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:999,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1007,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1011,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1020,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1032,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1039,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1052,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1062
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateComponent(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: std::stringstream::fail
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1082,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1086,1
    - Dst: encode_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1089,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1099
    functionName: pldmtool::fw_update::UpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - std::stringstream::fail
    - pldm_msg::pldm_msg
    - encode_update_component_req
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1117,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1122,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1134,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1136,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1138,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1142
    functionName: pldmtool::fw_update::UpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_update_component_resp
    - std::to_string
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: ~ActivateFirmware() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ActivateFirmware() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: '& operator=(const ActivateFirmware&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1164
    functionName: '& operator=(ActivateFirmware&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1169,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1175
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void ActivateFirmware(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: pldmtool::fw_update::ActivateFirmware::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1193,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1198,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1203,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1208,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1212
    functionName: pldmtool::fw_update::ActivateFirmware::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_activate_firmware_resp
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: ~CancelUpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: '& operator=(const CancelUpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: '& operator=(CancelUpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1237
    functionName: pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_cancel_update_component_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1243,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1248,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1253,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_cancel_update_component_resp
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: ~CancelUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1264
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: '& operator=(const CancelUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: '& operator=(CancelUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: encode_cancel_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1279
    functionName: pldmtool::fw_update::CancelUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1286,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1292,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1298,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1308,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1313
    functionName: pldmtool::fw_update::CancelUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - std::to_string
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: ~UpdateSecurityRevision() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateSecurityRevision() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: '& operator=(const UpdateSecurityRevision&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: '& operator=(UpdateSecurityRevision&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1335,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1343
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateSecurityRevision(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1367
    functionName: pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_fwup_update_security_revision_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1373,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1384,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1389
    functionName: pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - decode_pldm_fwup_update_security_revision_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1398,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1399,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1401,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1402,1
    - Dst: std::make_unique<GetStatus>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1403,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1405,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1409,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1414,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: std::make_unique<QueryDeviceIdentifiers>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1419,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: std::make_unique<RequestUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1424,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: std::make_unique<PassComponentTable>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1429,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: std::make_unique<UpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1435,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: std::make_unique<ActivateFirmware>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1439,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: std::make_unique<CancelUpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1445,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: std::make_unique<CancelUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    - Dst: std::make_unique<UpdateSecurityRevision>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1453
    functionName: pldmtool::fw_update::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<QueryDeviceIdentifiers>
    - std::make_unique<CancelUpdateComponent>
    - push_back
    - std::make_unique<UpdateComponent>
    - std::make_unique<GetFirmwareParameters>
    - std::make_unique<GetStatus>
    - std::make_unique<CancelUpdate>
    - std::make_unique<ActivateFirmware>
    - add_subcommand
    - std::make_unique<PassComponentTable>
    - std::make_unique<UpdateSecurityRevision>
    - std::make_unique<RequestUpdate>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:109,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - compImgVerStrType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: pldmtool::fw_update::convertStringTypeToUInt8
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - static_cast<uint8_t>
    - std::stoi
    - std::map::contains
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t convertStringTypeToUInt8(std::string compImgVerStrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~GetStatus() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(const GetStatus&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '& operator=(GetStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: encode_get_status_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: pldmtool::fw_update::GetStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_status_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:164,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:166,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:174,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:184,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 189
    functionName: pldmtool::fw_update::GetStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - decode_get_status_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ~GetFirmwareParameters() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFirmwareParameters() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const GetFirmwareParameters&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '& operator=(GetFirmwareParameters&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:238,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:312,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:314,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:316,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:328,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:339,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:347,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:350,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:352,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:354,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:367,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:375,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:386,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:397,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:401,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:405,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:409,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:413,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:417,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:438,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:440,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:447,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:451,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 452
    functionName: pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - static_cast<uint8_t>
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - ordered_json::push_back
    - at
    - std::array::end
    - contains
    - std::array::begin
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::equal
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: ~QueryDeviceIdentifiers() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QueryDeviceIdentifiers() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(QueryDeviceIdentifiers&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: '& operator=(const QueryDeviceIdentifiers&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: '& operator=(QueryDeviceIdentifiers&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(QueryDeviceIdentifiers&&)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:505,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:509,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:510,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:517,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:522,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:531,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:532,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:533,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:534,1
    - Dst: ordered_json::object
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:540,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:541,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:542,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:550,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:551,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:552,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:553,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ' descriptors'
    - ' descriptorType'
    - "\n        descriptorVal"
    argTypes:
    - ordered_json
    - DescriptorType
    - std::variant<DescriptorData, VendorDefinedDescriptorInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 561
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::get<DescriptorData>
    - std::setfill
    - std::get<VendorDefinedDescriptorTitle>
    - ordered_json::object
    - at
    - contains
    - std::setw
    - std::ostringstream::str
    - pldm_msgbuf_insert_array
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::updateDescriptor(\n    ordered_json&
      descriptors, const DescriptorType& descriptorType,\n    const std::variant<DescriptorData,
      VendorDefinedDescriptorInfo>&\n        descriptorVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_query_device_identifiers_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> QueryDeviceIdentifiers::createRequestMsg()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getMCTPEID
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:579,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:580,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:586,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:605,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:611,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:619,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:627,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:634,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:639,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:644,1
    - Dst: std::make_tuple
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:645,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:648,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:649,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 656
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    - pldmtool::helper::DisplayInJson
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - unsigned
    - getMCTPEID
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::parseResponseMsg(pldm_msg* responsePtr,\n
      \                                             size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: ~RequestUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(RequestUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: '& operator=(const RequestUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: '& operator=(RequestUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(RequestUpdate&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:671,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:679,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:686,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:693,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:702,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:714,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:721,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:734,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 743
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: encode_request_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:759,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: pldmtool::fw_update::RequestUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_request_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:776,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:786,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:792,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 795
    functionName: pldmtool::fw_update::RequestUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_request_update_resp
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: ~PassComponentTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PassComponentTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(PassComponentTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: '& operator=(const PassComponentTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: '& operator=(PassComponentTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(PassComponentTable&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:821,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:828,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:830,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:836,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:841,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:848,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:856,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:875,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:888,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 897
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void PassComponentTable(const char* type, const char* name,\n                                CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:902,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:903,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:904,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:914,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 922
    functionName: pldmtool::fw_update::PassComponentTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::data
    - convertStringTypeToUInt8
    - encode_pass_component_table_req
    - pldm_msg::pldm_msg
    - end
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:930,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:941,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:950,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 954
    functionName: pldmtool::fw_update::PassComponentTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - decode_pass_component_table_resp
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: ~UpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 973
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(UpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: '& operator=(const UpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: '& operator=(UpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(UpdateComponent&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:980,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:987,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:992,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:999,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1007,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1011,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1020,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1032,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1039,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1052,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1062
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateComponent(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: std::stringstream::fail
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1082,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1086,1
    - Dst: encode_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1089,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1099
    functionName: pldmtool::fw_update::UpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - std::stringstream::fail
    - pldm_msg::pldm_msg
    - encode_update_component_req
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1117,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1122,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1134,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1136,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1138,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1142
    functionName: pldmtool::fw_update::UpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_update_component_resp
    - std::to_string
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: ~ActivateFirmware() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ActivateFirmware() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: '& operator=(const ActivateFirmware&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1164
    functionName: '& operator=(ActivateFirmware&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1169,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1175
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void ActivateFirmware(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: pldmtool::fw_update::ActivateFirmware::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1193,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1198,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1203,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1208,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1212
    functionName: pldmtool::fw_update::ActivateFirmware::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_activate_firmware_resp
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: ~CancelUpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: '& operator=(const CancelUpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: '& operator=(CancelUpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1237
    functionName: pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_cancel_update_component_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1243,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1248,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1253,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_cancel_update_component_resp
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: ~CancelUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1264
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: '& operator=(const CancelUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: '& operator=(CancelUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: encode_cancel_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1279
    functionName: pldmtool::fw_update::CancelUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1286,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1292,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1298,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1308,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1313
    functionName: pldmtool::fw_update::CancelUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - std::to_string
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: ~UpdateSecurityRevision() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateSecurityRevision() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: '& operator=(const UpdateSecurityRevision&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: '& operator=(UpdateSecurityRevision&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1335,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1343
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateSecurityRevision(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1367
    functionName: pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_fwup_update_security_revision_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1373,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1384,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1389
    functionName: pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - decode_pldm_fwup_update_security_revision_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1398,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1399,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1401,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1402,1
    - Dst: std::make_unique<GetStatus>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1403,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1405,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1409,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1414,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: std::make_unique<QueryDeviceIdentifiers>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1419,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: std::make_unique<RequestUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1424,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: std::make_unique<PassComponentTable>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1429,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: std::make_unique<UpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1435,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: std::make_unique<ActivateFirmware>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1439,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: std::make_unique<CancelUpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1445,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: std::make_unique<CancelUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    - Dst: std::make_unique<UpdateSecurityRevision>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1453
    functionName: pldmtool::fw_update::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<QueryDeviceIdentifiers>
    - std::make_unique<CancelUpdateComponent>
    - push_back
    - std::make_unique<UpdateComponent>
    - std::make_unique<GetFirmwareParameters>
    - std::make_unique<GetStatus>
    - std::make_unique<CancelUpdate>
    - std::make_unique<ActivateFirmware>
    - add_subcommand
    - std::make_unique<PassComponentTable>
    - std::make_unique<UpdateSecurityRevision>
    - std::make_unique<RequestUpdate>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:109,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:111,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - compImgVerStrType
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: pldmtool::fw_update::convertStringTypeToUInt8
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::at
    - static_cast<uint8_t>
    - std::stoi
    - std::map::contains
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t convertStringTypeToUInt8(std::string compImgVerStrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~GetStatus() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: pldmtool::fw_update::GetStatus::GetStatus
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStatus(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: '& operator=(const GetStatus&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(const GetStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: '& operator=(GetStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStatus
    signature: GetStatus & operator=(GetStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:135,1
    - Dst: encode_get_status_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: pldmtool::fw_update::GetStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_status_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:164,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:166,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:174,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:184,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 189
    functionName: pldmtool::fw_update::GetStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - decode_get_status_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: ~GetFirmwareParameters() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFirmwareParameters() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFirmwareParameters(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: '& operator=(const GetFirmwareParameters&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(const GetFirmwareParameters&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: '& operator=(GetFirmwareParameters&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFirmwareParameters
    signature: GetFirmwareParameters & operator=(GetFirmwareParameters&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:225,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:238,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:312,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:314,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:316,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:328,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:339,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:342,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:347,1
    - Dst: static_cast<uint16_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:350,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:352,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:354,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:359,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:367,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:375,1
    - Dst: std::equal
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: std::array::end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:378,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:386,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:397,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:401,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:405,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:409,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:413,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:417,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:438,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:440,1
    - Dst: ordered_json::push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:447,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:451,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 452
    functionName: pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - static_cast<uint8_t>
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - ordered_json::push_back
    - at
    - std::array::end
    - contains
    - std::array::begin
    - static_cast<uint16_t>
    - static_cast<uint32_t>
    - std::equal
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: ~QueryDeviceIdentifiers() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~QueryDeviceIdentifiers() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 461
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueryDeviceIdentifiers(QueryDeviceIdentifiers&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: '& operator=(const QueryDeviceIdentifiers&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(const QueryDeviceIdentifiers&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 463
    functionName: '& operator=(QueryDeviceIdentifiers&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QueryDeviceIdentifiers
    signature: QueryDeviceIdentifiers & operator=(QueryDeviceIdentifiers&&)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::get<DescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:505,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:509,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:510,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:514,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:517,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:522,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:526,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:531,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:532,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:533,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:534,1
    - Dst: ordered_json::object
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:540,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:541,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:542,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:545,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:550,1
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:551,1
    - Dst: std::ostringstream::str
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:552,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:553,1
    - Dst: emplace_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ' descriptors'
    - ' descriptorType'
    - "\n        descriptorVal"
    argTypes:
    - ordered_json
    - DescriptorType
    - std::variant<DescriptorData, VendorDefinedDescriptorInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 561
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::get<DescriptorData>
    - std::setfill
    - std::get<VendorDefinedDescriptorTitle>
    - ordered_json::object
    - at
    - contains
    - std::setw
    - std::ostringstream::str
    - pldm_msgbuf_insert_array
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::updateDescriptor(\n    ordered_json&
      descriptors, const DescriptorType& descriptorType,\n    const std::variant<DescriptorData,
      VendorDefinedDescriptorInfo>&\n        descriptorVal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:566,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_query_device_identifiers_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> QueryDeviceIdentifiers::createRequestMsg()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getMCTPEID
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:579,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:580,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:586,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:593,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:605,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:611,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:619,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:627,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:634,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:639,1
    - Dst: pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:644,1
    - Dst: std::make_tuple
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:645,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:648,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:649,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 656
    functionName: pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
    - pldmtool::helper::DisplayInJson
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - unsigned
    - getMCTPEID
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    linkageType: ''
    returnType: void
    signature: "void QueryDeviceIdentifiers::parseResponseMsg(pldm_msg* responsePtr,\n
      \                                             size_t payloadLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 661
    functionName: ~RequestUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RequestUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 662
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 663
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(RequestUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 665
    functionName: '& operator=(const RequestUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(const RequestUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: '& operator=(RequestUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RequestUpdate
    signature: RequestUpdate & operator=(RequestUpdate&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:671,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:679,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:686,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:693,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:702,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:714,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:721,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:734,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 743
    functionName: pldmtool::fw_update::RequestUpdate::RequestUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RequestUpdate(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:749,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:751,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:757,1
    - Dst: encode_request_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:759,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 767
    functionName: pldmtool::fw_update::RequestUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_request_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:776,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:786,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:792,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 795
    functionName: pldmtool::fw_update::RequestUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_request_update_resp
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 810
    functionName: ~PassComponentTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PassComponentTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PassComponentTable(PassComponentTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 814
    functionName: '& operator=(const PassComponentTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(const PassComponentTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: '& operator=(PassComponentTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PassComponentTable
    signature: PassComponentTable & operator=(PassComponentTable&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:821,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:828,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:830,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:836,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:841,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:848,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:856,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:868,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:875,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:888,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 897
    functionName: pldmtool::fw_update::PassComponentTable::PassComponentTable
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void PassComponentTable(const char* type, const char* name,\n                                CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:902,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:903,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:904,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:905,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:912,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:914,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 922
    functionName: pldmtool::fw_update::PassComponentTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::data
    - convertStringTypeToUInt8
    - encode_pass_component_table_req
    - pldm_msg::pldm_msg
    - end
    - std::vector::size
    - begin
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:930,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:941,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:950,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 954
    functionName: pldmtool::fw_update::PassComponentTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - pldmtool::helper::DisplayInJson
    - decode_pass_component_table_resp
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 970
    functionName: ~UpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 971
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 973
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateComponent(UpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: '& operator=(const UpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(const UpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: '& operator=(UpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateComponent
    signature: UpdateComponent & operator=(UpdateComponent&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:980,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:987,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:992,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:999,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1007,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1011,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1020,1
    - Dst: std::set::contains
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1032,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1039,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1052,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1062
    functionName: pldmtool::fw_update::UpdateComponent::UpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::set::contains
    - std::stoi
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateComponent(const char* type, const char* name,\n                             CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1069,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1071,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1077,1
    - Dst: std::stringstream::fail
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1082,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1086,1
    - Dst: encode_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1089,1
    - Dst: convertStringTypeToUInt8
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1099
    functionName: pldmtool::fw_update::UpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - size
    - data
    - std::vector::data
    - convertStringTypeToUInt8
    - std::stringstream::fail
    - pldm_msg::pldm_msg
    - encode_update_component_req
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1117,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1122,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1134,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1136,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1138,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1142
    functionName: pldmtool::fw_update::UpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_update_component_resp
    - std::to_string
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1159
    functionName: ~ActivateFirmware() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ActivateFirmware() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ActivateFirmware(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: '& operator=(const ActivateFirmware&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(const ActivateFirmware&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1164
    functionName: '& operator=(ActivateFirmware&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ActivateFirmware
    signature: ActivateFirmware & operator=(ActivateFirmware&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1169,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1175
    functionName: pldmtool::fw_update::ActivateFirmware::ActivateFirmware
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void ActivateFirmware(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1180,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: pldmtool::fw_update::ActivateFirmware::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1193,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1198,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1203,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1208,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1212
    functionName: pldmtool::fw_update::ActivateFirmware::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - decode_activate_firmware_resp
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: ~CancelUpdateComponent() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdateComponent() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1222
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1224
    functionName: pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdateComponent(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: '& operator=(const CancelUpdateComponent&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(const CancelUpdateComponent&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1226
    functionName: '& operator=(CancelUpdateComponent&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdateComponent
    signature: CancelUpdateComponent & operator=(CancelUpdateComponent&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1233,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1237
    functionName: pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_cancel_update_component_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1243,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1248,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1253,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1256
    functionName: pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_cancel_update_component_resp
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1262
    functionName: ~CancelUpdate() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CancelUpdate() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1263
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1264
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1265
    functionName: pldmtool::fw_update::CancelUpdate::CancelUpdate
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelUpdate(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: '& operator=(const CancelUpdate&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(const CancelUpdate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1267
    functionName: '& operator=(CancelUpdate&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CancelUpdate
    signature: CancelUpdate & operator=(CancelUpdate&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1274,1
    - Dst: encode_cancel_update_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1279
    functionName: pldmtool::fw_update::CancelUpdate::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_cancel_update_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1286,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1292,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1298,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1308,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1313
    functionName: pldmtool::fw_update::CancelUpdate::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - fillCompletionCode
    - static_cast<int>
    - std::to_string
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: ~UpdateSecurityRevision() override
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateSecurityRevision() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateSecurityRevision(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: '& operator=(const UpdateSecurityRevision&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(const UpdateSecurityRevision&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: '& operator=(UpdateSecurityRevision&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateSecurityRevision
    signature: UpdateSecurityRevision & operator=(UpdateSecurityRevision&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1330,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1335,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1343
    functionName: pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void UpdateSecurityRevision(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1350,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1367
    functionName: pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_fwup_update_security_revision_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1373,1
    - Dst: fillCompletionCode
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1384,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1389
    functionName: pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - fillCompletionCode
    - decode_pldm_fwup_update_security_revision_resp
    - pldmtool::helper::DisplayInJson
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1398,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1399,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1401,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1402,1
    - Dst: std::make_unique<GetStatus>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1403,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1405,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1407,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1409,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: std::make_unique<GetFirmwareParameters>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1411,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1414,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: std::make_unique<QueryDeviceIdentifiers>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1416,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1419,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: std::make_unique<RequestUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1421,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1424,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: std::make_unique<PassComponentTable>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1426,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1429,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: std::make_unique<UpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1431,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1435,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: std::make_unique<ActivateFirmware>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1436,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1439,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: std::make_unique<CancelUpdateComponent>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1441,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1445,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: std::make_unique<CancelUpdate>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1446,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1449,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    - Dst: std::make_unique<UpdateSecurityRevision>
      Src: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1453
    functionName: pldmtool::fw_update::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<QueryDeviceIdentifiers>
    - std::make_unique<CancelUpdateComponent>
    - push_back
    - std::make_unique<UpdateComponent>
    - std::make_unique<GetFirmwareParameters>
    - std::make_unique<GetStatus>
    - std::make_unique<CancelUpdate>
    - std::make_unique<ActivateFirmware>
    - add_subcommand
    - std::make_unique<PassComponentTable>
    - std::make_unique<UpdateSecurityRevision>
    - std::make_unique<RequestUpdate>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~GetEventReceiver() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const GetEventReceiver&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(GetEventReceiver&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetEventReceiver(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: pldmtool::platform::GetEventReceiver::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_event_receiver_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:115,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: pldmtool::platform::GetEventReceiver::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - decode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:373,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:379,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:382,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:387,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:390,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:393,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - stateId
    - ' value'
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 403
    functionName: pldmtool::platform::getStateSetPossibleStateNames
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::contains
    - at
    - contains
    - std::map::begin
    - std::map::insert
    - std::vector::push_back
    - std::map::end
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> getStateSetPossibleStateNames(\n    uint16_t
      stateId, const std::vector<uint8_t>& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: ~GetPDR() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPDR() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: '& operator=(const GetPDR&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: '& operator=(GetPDR&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option_group
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:422,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:425,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:437,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:439,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:444,1
    - Dst: auto::add_flag
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:450,1
    - Dst: auto::require_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 454
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::add_option
    - CLI::App*::add_option_group
    - auto::require_option
    - auto::add_flag
    - std::format
    linkageType: ''
    returnType: void
    signature: void GetPDR(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:459,1
    - Dst: pldmtool::platform::GetPDR::getPDRs
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: pldmtool::platform::GetPDR::parseGetPDROptions
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - count
    - pldmtool::platform::GetPDR::getPDRs
    linkageType: ''
    returnType: void
    signature: void parseGetPDROptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:474,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::platform::GetPDR::getPDRs
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::helper::CommandInterface::exec
    linkageType: ''
    returnType: void
    signature: void getPDRs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:498,1
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:500,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:503,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:516,1
    - Dst: std::map::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:527,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: pldmtool::platform::GetPDR::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldmtool::helper::CommandInterface::exec
    - std::transform
    - end
    - std::map::emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: pldmtool::platform::GetPDR::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:573,1
    - Dst: pldmtool::platform::GetPDR::getTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:589,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:590,1
    - Dst: insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: pldmtool::platform::GetPDR::printPDRMsg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:611,1
    - Dst: clear
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:617,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 629
    functionName: pldmtool::platform::GetPDR::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    - data
    - end
    - pldmtool::platform::GetPDR::getTerminusHandle
    - std::start_lifetime_as<pldm_pdr_hdr>
    - has_value
    - insert
    - decode_get_pdr_resp
    - pldmtool::platform::GetPDR::printPDRMsg
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1081,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1090
    functionName: pldmtool::platform::GetPDR::getBaseUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseUnitName(const uint8_t base_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1094,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rate_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: pldmtool::platform::GetPDR::getRateUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getRateUnitName(const uint8_t rate_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pldmtool::platform::GetPDR::isLogicalBitSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLogicalBitSet(const uint16_t entity_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logical_entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getEntityTypeForLogicalEntity(const uint16_t logical_entity_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::isLogicalBitSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1120,1
    - Dst: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1123,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1128,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1138,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - pldm::pdr::EntityType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1148
    functionName: pldmtool::platform::GetPDR::getEntityName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pldmtool::platform::GetPDR::isLogicalBitSet
    - at
    - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEntityName(pldm::pdr::EntityType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1161
    functionName: pldmtool::platform::GetPDR::getStateSetName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getStateSetName(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: pldmtool::platform::GetPDR::getPDRType
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getPDRType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1179,1
    - Dst: pldmtool::platform::GetPDR::getPDRType
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - ' output'
    argTypes:
    - pldm_pdr_hdr*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: pldmtool::platform::GetPDR::printCommonPDRHeader
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - unsigned
    - pldmtool::platform::GetPDR::getPDRType
    linkageType: ''
    returnType: void
    signature: void printCommonPDRHeader(const pldm_pdr_hdr* hdr, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1197,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1199,1
    - Dst: std::for_each
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - possibleStatesSize
    - states
    argTypes:
    - uint8_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1206
    functionName: pldmtool::platform::GetPDR::printPossibleStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::stringstream::str
    - std::stoi
    - std::vector::push_back
    - std::for_each
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> printPossibleStates(uint8_t possibleStatesSize,\n
      \                                            const bitfield8_t* states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1210,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1213,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1219,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1226,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1229,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1230,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1231,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1233,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1234,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1235,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1246
    functionName: pldmtool::platform::GetPDR::printStateSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: void
    signature: void printStateSensorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_fru_record_set>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1257,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1264,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1265,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1266,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1267,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1269
    functionName: pldmtool::platform::GetPDR::printPDRFruRecordSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    - std::start_lifetime_as<pldm_pdr_fru_record_set>
    linkageType: ''
    returnType: void
    signature: void printPDRFruRecordSet(uint8_t* data, ordered_json& output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_entity_association>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1285,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1294,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1297,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1304,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1310,1
    - Dst: pldm_entity::pldm_entity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1312,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1316,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1317,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1318,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1319,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1320,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1321,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1326
    functionName: pldmtool::platform::GetPDR::printPDREntityAssociation
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - emplace
    - std::map::contains
    - static_cast<unsigned>
    - std::start_lifetime_as<pldm_pdr_entity_association>
    - unsigned
    - pldm_entity::pldm_entity
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printPDREntityAssociation(uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1355,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1357,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1359,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1362,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1363,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1365,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1366,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1367,1
    - Dst: std::string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1369,1
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1371,1
    - Dst: std::u16string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1373,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cend
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1376,1
    - Dst: be16toh
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1377,1
    - Dst: to_bytes
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1389
    functionName: pldmtool::platform::GetPDR::printAuxNamePDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - static_cast<uint8_t>
    - std::views::iota
    - std::u16string::size
    - to_bytes
    - be16toh
    - std::u16string::begin
    - std::transform
    - std::u16string::cbegin
    - std::u16string::cend
    - reinterpret_cast<const char16_t*>
    - std::string::size
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printAuxNamePDR(uint8_t* data, ordered_json& output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1403,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1407,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1410,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1411,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1412,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1413,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1414,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1415,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1416,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1417,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1419,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1420,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1421,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1422,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1423,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1424,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1426,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1427,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1432,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1433,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1436,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1437,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1440,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1441,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1444,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1445,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1448,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1449,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1452,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1453,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1459,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1460,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1465,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1466,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1467,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1468,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1469,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1472,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1473,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1474,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1475,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1476,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1479,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1480,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1481,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1482,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1483,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1486,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1487,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1488,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1489,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1490,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1493,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1494,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1495,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1496,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1497,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1500,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1501,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1502,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1503,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1504,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1507,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1508,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1509,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1510,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 113
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1516
    functionName: pldmtool::platform::GetPDR::printNumericEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    linkageType: ''
    returnType: void
    signature: void printNumericEffecterPDR(uint8_t* data, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1520,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1524,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1532,1
    - Dst: reinterpret_cast<const state_effecter_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1540,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1543,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1544,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1545,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1547,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1548,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1549,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: pldmtool::platform::GetPDR::printStateEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const state_effecter_possible_states*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printStateEffecterPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1570,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1579,1
    - Dst: reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1589,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1600,1
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1609,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - data
    - terminusHandle
    argTypes:
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1623
    functionName: pldmtool::platform::GetPDR::checkTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
    linkageType: ''
    returnType: bool
    signature: "bool checkTerminusHandle(const uint8_t* data,\n                             std::optional<uint16_t>
      terminusHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1630,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1634,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1639,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1644,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1648
    functionName: pldmtool::platform::GetPDR::printTerminusLocatorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - unsigned
    - reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: void
    signature: void printTerminusLocatorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - tid
    argTypes:
    - uint8_t*
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: pldmtool::platform::GetPDR::getTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> getTerminusHandle(uint8_t* data,\n                                              std::optional<uint8_t>
      tid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1677,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1685,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1691,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1693,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1695,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1697,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 149
    argCount: 3
    argNames:
    - data
    - data_length
    - ' output'
    argTypes:
    - uint8_t*
    - uint16_t
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1834
    functionName: pldmtool::platform::GetPDR::printNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getRateUnitName
    - pldmtool::platform::GetPDR::getEntityName
    - decode_numeric_sensor_pdr_data
    - pldmtool::platform::GetPDR::getBaseUnitName
    linkageType: ''
    returnType: void
    signature: "void printNumericSensorPDR(const uint8_t* data, const uint16_t data_length,\n
      \                              ordered_json& output)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1853,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1859,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1860,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1861,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1865,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1869,1
    - Dst: signed
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1870,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1871,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1897
    functionName: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const char*>
    - signed
    - unsigned
    - pldmtool::platform::GetPDR::getBaseUnitName
    - std::format
    linkageType: ''
    returnType: void
    signature: void printCompactNumericSensorPDR(const uint8_t* data, ordered_json&
      output)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1918,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1922,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1934,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1940,1
    - Dst: pldmtool::platform::GetPDR::checkTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1942,1
    - Dst: pldmtool::platform::GetPDR::printCommonPDRHeader
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1950,1
    - Dst: pldmtool::platform::GetPDR::printTerminusLocatorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1955,1
    - Dst: pldmtool::platform::GetPDR::printStateSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1958,1
    - Dst: pldmtool::platform::GetPDR::printNumericEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1961,1
    - Dst: pldmtool::platform::GetPDR::printNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1964,1
    - Dst: pldmtool::platform::GetPDR::printAuxNamePDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1968,1
    - Dst: pldmtool::platform::GetPDR::printStateEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1971,1
    - Dst: pldmtool::platform::GetPDR::printPDREntityAssociation
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1974,1
    - Dst: pldmtool::platform::GetPDR::printPDRFruRecordSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1977,1
    - Dst: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1980,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - ' nextRecordHndl'
    - respCnt
    - data
    - terminusHandle
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 1992
    functionName: pldmtool::platform::GetPDR::printPDRMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - empty
    - pldmtool::platform::GetPDR::checkTerminusHandle
    - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    - pldmtool::platform::GetPDR::printPDRFruRecordSet
    - pldmtool::platform::GetPDR::printAuxNamePDR
    - pldmtool::helper::DisplayInJson
    - at
    - pldmtool::platform::GetPDR::printPDREntityAssociation
    - contains
    - pldmtool::platform::GetPDR::printStateEffecterPDR
    - has_value
    - pldmtool::platform::GetPDR::printCommonPDRHeader
    - pldmtool::platform::GetPDR::printTerminusLocatorPDR
    - pldmtool::platform::GetPDR::printStateSensorPDR
    - pldmtool::platform::GetPDR::printNumericEffecterPDR
    - pldmtool::platform::GetPDR::printNumericSensorPDR
    linkageType: ''
    returnType: void
    signature: "void printPDRMsg(uint32_t& nextRecordHndl, const uint16_t respCnt,\n
      \                    uint8_t* data, std::optional<uint16_t> terminusHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2015
    functionName: ~SetStateEffecter() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetStateEffecter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2018
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2019
    functionName: '& operator=(const SetStateEffecter&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2020
    functionName: '& operator=(SetStateEffecter&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2031,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2035,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2043
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetStateEffecter(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2064,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2067,1
    - Dst: parseEffecterData
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2072,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2081,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2084
    functionName: pldmtool::platform::SetStateEffecter::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::data
    - encode_set_state_effecter_states_req
    - auto::data
    - pldm_msg::pldm_msg
    - parseEffecterData
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2089,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2102
    functionName: pldmtool::platform::SetStateEffecter::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_state_effecter_states_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2113
    functionName: ~SetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2115
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2116
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2117
    functionName: '& operator=(const SetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: '& operator=(SetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2124,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2128,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2137
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2166
    functionName: pldmtool::platform::SetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2171,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2185
    functionName: pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2196
    functionName: ~GetStateSensorReadings() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateSensorReadings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2197
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2198
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2199
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2200
    functionName: '& operator=(const GetStateSensorReadings&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2201
    functionName: '& operator=(GetStateSensorReadings&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2207,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2211,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2218
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateSensorReadings(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: pldmtool::platform::GetStateSensorReadings::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_sensor_readings_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2240,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2242,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2256,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2259,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2266,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2269,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2272,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2275,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2279
    functionName: pldmtool::platform::GetStateSensorReadings::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - pldmtool::helper::DisplayInJson
    - at
    - std::array::data
    - contains
    - getStateSetPossibleStateNames
    - std::vector::at
    - std::to_string
    - ordered_json::emplace
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2290
    functionName: ~GetSensorReading() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetSensorReading() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2294
    functionName: '& operator=(const GetSensorReading&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2295
    functionName: '& operator=(GetSensorReading&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2300,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2308
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetSensorReading(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2320
    functionName: pldmtool::platform::GetSensorReading::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_sensor_reading_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2335,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2338,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2350,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2352,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2354,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2355,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2357,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2401,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2407
    functionName: pldmtool::platform::GetSensorReading::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - static_cast<int>
    - pldmtool::platform::GetSensorReading::getSensorState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2431,1
    - Dst: std::map<uint8_t, std::string>*::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - cont
    argTypes:
    - uint8_t
    - std::map<uint8_t, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2440
    functionName: pldmtool::platform::GetSensorReading::getSensorState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::map<uint8_t, std::string>*::at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string getSensorState(uint8_t state,\n                               const
      std::map<uint8_t, std::string>* cont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: ~GetStateEffecterStates() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateEffecterStates() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2448
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2449
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2450
    functionName: '& operator=(const GetStateEffecterStates&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2451
    functionName: '& operator=(GetStateEffecterStates&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2461
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateEffecterStates(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: encode_get_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: pldmtool::platform::GetStateEffecterStates::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_effecter_states_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2479,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2486,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2490,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2493,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2495,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2496,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2498,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2501,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2506
    functionName: pldmtool::platform::GetStateEffecterStates::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - pldmtool::helper::DisplayInJson
    - static_cast<int>
    - decode_get_state_effecter_states_resp
    - getEffecterOpState
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2515
    functionName: ~GetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2516
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2517
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2518
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2519
    functionName: '& operator=(const GetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2520
    functionName: '& operator=(GetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2532
    functionDepth: 1
    functionLinenumber: 2532
    functionLinenumberEnd: 2542
    functionName: pldmtool::platform::GetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2556,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2558,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2559,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2565,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2570,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2572,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2627,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2633
    functionName: pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - decode_get_numeric_effecter_value_resp
    - static_cast<int>
    - getEffecterOpState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2641,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2642,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2644,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: std::make_unique<GetEventReceiver>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2651,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: std::make_unique<GetPDR>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2654,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: std::make_unique<SetStateEffecter>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2659,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: std::make_unique<SetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2664,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: std::make_unique<GetStateSensorReadings>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2669,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: std::make_unique<GetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2674,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: std::make_unique<GetSensorReading>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2679,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    - Dst: std::make_unique<GetStateEffecterStates>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2683
    functionName: pldmtool::platform::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SetStateEffecter>
    - push_back
    - std::make_unique<GetSensorReading>
    - std::make_unique<GetStateEffecterStates>
    - std::make_unique<GetStateSensorReadings>
    - std::make_unique<GetPDR>
    - add_subcommand
    - std::make_unique<SetNumericEffecterValue>
    - std::make_unique<GetEventReceiver>
    - auto::require_subcommand
    - std::make_unique<GetNumericEffecterValue>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2689,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2690,1
    - Dst: dynamic_cast<GetPDR*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: auto::parseGetPDROptions
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2696
    functionName: pldmtool::platform::parseGetPDROption
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::parseGetPDROptions
    - dynamic_cast<GetPDR*>
    - get
    linkageType: ''
    returnType: void
    signature: void parseGetPDROption()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~GetEventReceiver() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const GetEventReceiver&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(GetEventReceiver&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetEventReceiver(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: pldmtool::platform::GetEventReceiver::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_event_receiver_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:115,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: pldmtool::platform::GetEventReceiver::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - decode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:373,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:379,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:382,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:387,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:390,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:393,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - stateId
    - ' value'
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 403
    functionName: pldmtool::platform::getStateSetPossibleStateNames
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::contains
    - at
    - contains
    - std::map::begin
    - std::map::insert
    - std::vector::push_back
    - std::map::end
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> getStateSetPossibleStateNames(\n    uint16_t
      stateId, const std::vector<uint8_t>& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: ~GetPDR() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPDR() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: '& operator=(const GetPDR&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: '& operator=(GetPDR&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option_group
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:422,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:425,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:437,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:439,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:444,1
    - Dst: auto::add_flag
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:450,1
    - Dst: auto::require_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 454
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::add_option
    - CLI::App*::add_option_group
    - auto::require_option
    - auto::add_flag
    - std::format
    linkageType: ''
    returnType: void
    signature: void GetPDR(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:459,1
    - Dst: pldmtool::platform::GetPDR::getPDRs
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: pldmtool::platform::GetPDR::parseGetPDROptions
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - count
    - pldmtool::platform::GetPDR::getPDRs
    linkageType: ''
    returnType: void
    signature: void parseGetPDROptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:474,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::platform::GetPDR::getPDRs
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::helper::CommandInterface::exec
    linkageType: ''
    returnType: void
    signature: void getPDRs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:498,1
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:500,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:503,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:516,1
    - Dst: std::map::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:527,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: pldmtool::platform::GetPDR::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldmtool::helper::CommandInterface::exec
    - std::transform
    - end
    - std::map::emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: pldmtool::platform::GetPDR::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:573,1
    - Dst: pldmtool::platform::GetPDR::getTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:589,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:590,1
    - Dst: insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: pldmtool::platform::GetPDR::printPDRMsg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:611,1
    - Dst: clear
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:617,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 629
    functionName: pldmtool::platform::GetPDR::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    - data
    - end
    - pldmtool::platform::GetPDR::getTerminusHandle
    - std::start_lifetime_as<pldm_pdr_hdr>
    - has_value
    - insert
    - decode_get_pdr_resp
    - pldmtool::platform::GetPDR::printPDRMsg
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1081,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1090
    functionName: pldmtool::platform::GetPDR::getBaseUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseUnitName(const uint8_t base_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1094,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rate_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: pldmtool::platform::GetPDR::getRateUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getRateUnitName(const uint8_t rate_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pldmtool::platform::GetPDR::isLogicalBitSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLogicalBitSet(const uint16_t entity_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logical_entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getEntityTypeForLogicalEntity(const uint16_t logical_entity_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::isLogicalBitSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1120,1
    - Dst: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1123,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1128,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1138,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - pldm::pdr::EntityType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1148
    functionName: pldmtool::platform::GetPDR::getEntityName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 7
    functionsReached:
    - static_cast<unsigned>
    - pldmtool::platform::GetPDR::isLogicalBitSet
    - at
    - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEntityName(pldm::pdr::EntityType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1161
    functionName: pldmtool::platform::GetPDR::getStateSetName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getStateSetName(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: pldmtool::platform::GetPDR::getPDRType
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getPDRType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1179,1
    - Dst: pldmtool::platform::GetPDR::getPDRType
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - ' output'
    argTypes:
    - pldm_pdr_hdr*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: pldmtool::platform::GetPDR::printCommonPDRHeader
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - unsigned
    - pldmtool::platform::GetPDR::getPDRType
    linkageType: ''
    returnType: void
    signature: void printCommonPDRHeader(const pldm_pdr_hdr* hdr, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1197,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1199,1
    - Dst: std::for_each
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - possibleStatesSize
    - states
    argTypes:
    - uint8_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1206
    functionName: pldmtool::platform::GetPDR::printPossibleStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - std::stringstream::str
    - std::stoi
    - std::vector::push_back
    - std::for_each
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> printPossibleStates(uint8_t possibleStatesSize,\n
      \                                            const bitfield8_t* states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1210,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1213,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1219,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1226,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1229,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1230,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1231,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1233,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1234,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1235,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1246
    functionName: pldmtool::platform::GetPDR::printStateSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: void
    signature: void printStateSensorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_fru_record_set>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1257,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1264,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1265,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1266,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1267,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1269
    functionName: pldmtool::platform::GetPDR::printPDRFruRecordSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    - std::start_lifetime_as<pldm_pdr_fru_record_set>
    linkageType: ''
    returnType: void
    signature: void printPDRFruRecordSet(uint8_t* data, ordered_json& output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_entity_association>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1285,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1294,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1297,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1304,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1310,1
    - Dst: pldm_entity::pldm_entity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1312,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1316,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1317,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1318,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1319,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1320,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1321,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1326
    functionName: pldmtool::platform::GetPDR::printPDREntityAssociation
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - emplace
    - std::map::contains
    - static_cast<unsigned>
    - std::start_lifetime_as<pldm_pdr_entity_association>
    - unsigned
    - pldm_entity::pldm_entity
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printPDREntityAssociation(uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1355,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1357,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1359,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1362,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1363,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1365,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1366,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1367,1
    - Dst: std::string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1369,1
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1371,1
    - Dst: std::u16string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1373,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cend
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1376,1
    - Dst: be16toh
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1377,1
    - Dst: to_bytes
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1389
    functionName: pldmtool::platform::GetPDR::printAuxNamePDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char*>
    - static_cast<uint8_t>
    - std::views::iota
    - std::u16string::size
    - to_bytes
    - be16toh
    - std::u16string::begin
    - std::transform
    - std::u16string::cbegin
    - std::u16string::cend
    - reinterpret_cast<const char16_t*>
    - std::string::size
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printAuxNamePDR(uint8_t* data, ordered_json& output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1403,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1407,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1410,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1411,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1412,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1413,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1414,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1415,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1416,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1417,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1419,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1420,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1421,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1422,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1423,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1424,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1426,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1427,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1432,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1433,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1436,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1437,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1440,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1441,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1444,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1445,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1448,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1449,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1452,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1453,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1459,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1460,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1465,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1466,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1467,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1468,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1469,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1472,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1473,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1474,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1475,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1476,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1479,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1480,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1481,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1482,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1483,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1486,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1487,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1488,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1489,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1490,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1493,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1494,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1495,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1496,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1497,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1500,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1501,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1502,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1503,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1504,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1507,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1508,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1509,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1510,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 113
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1516
    functionName: pldmtool::platform::GetPDR::printNumericEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    linkageType: ''
    returnType: void
    signature: void printNumericEffecterPDR(uint8_t* data, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1520,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1524,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1532,1
    - Dst: reinterpret_cast<const state_effecter_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1540,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1543,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1544,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1545,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1547,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1548,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1549,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: pldmtool::platform::GetPDR::printStateEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const state_effecter_possible_states*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printStateEffecterPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1570,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1579,1
    - Dst: reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1589,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1600,1
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1609,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - data
    - terminusHandle
    argTypes:
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1623
    functionName: pldmtool::platform::GetPDR::checkTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
    linkageType: ''
    returnType: bool
    signature: "bool checkTerminusHandle(const uint8_t* data,\n                             std::optional<uint16_t>
      terminusHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1630,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1634,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1639,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1644,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1648
    functionName: pldmtool::platform::GetPDR::printTerminusLocatorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - unsigned
    - reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: void
    signature: void printTerminusLocatorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - tid
    argTypes:
    - uint8_t*
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: pldmtool::platform::GetPDR::getTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> getTerminusHandle(uint8_t* data,\n                                              std::optional<uint8_t>
      tid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1677,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1685,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1691,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1693,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1695,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1697,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 149
    argCount: 3
    argNames:
    - data
    - data_length
    - ' output'
    argTypes:
    - uint8_t*
    - uint16_t
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1834
    functionName: pldmtool::platform::GetPDR::printNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getRateUnitName
    - pldmtool::platform::GetPDR::getEntityName
    - decode_numeric_sensor_pdr_data
    - pldmtool::platform::GetPDR::getBaseUnitName
    linkageType: ''
    returnType: void
    signature: "void printNumericSensorPDR(const uint8_t* data, const uint16_t data_length,\n
      \                              ordered_json& output)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1853,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1859,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1860,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1861,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1865,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1869,1
    - Dst: signed
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1870,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1871,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1897
    functionName: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const char*>
    - signed
    - unsigned
    - pldmtool::platform::GetPDR::getBaseUnitName
    - std::format
    linkageType: ''
    returnType: void
    signature: void printCompactNumericSensorPDR(const uint8_t* data, ordered_json&
      output)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1918,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1922,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1934,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1940,1
    - Dst: pldmtool::platform::GetPDR::checkTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1942,1
    - Dst: pldmtool::platform::GetPDR::printCommonPDRHeader
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1950,1
    - Dst: pldmtool::platform::GetPDR::printTerminusLocatorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1955,1
    - Dst: pldmtool::platform::GetPDR::printStateSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1958,1
    - Dst: pldmtool::platform::GetPDR::printNumericEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1961,1
    - Dst: pldmtool::platform::GetPDR::printNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1964,1
    - Dst: pldmtool::platform::GetPDR::printAuxNamePDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1968,1
    - Dst: pldmtool::platform::GetPDR::printStateEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1971,1
    - Dst: pldmtool::platform::GetPDR::printPDREntityAssociation
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1974,1
    - Dst: pldmtool::platform::GetPDR::printPDRFruRecordSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1977,1
    - Dst: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1980,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - ' nextRecordHndl'
    - respCnt
    - data
    - terminusHandle
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 1992
    functionName: pldmtool::platform::GetPDR::printPDRMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - empty
    - pldmtool::platform::GetPDR::checkTerminusHandle
    - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    - pldmtool::platform::GetPDR::printPDRFruRecordSet
    - pldmtool::platform::GetPDR::printAuxNamePDR
    - pldmtool::helper::DisplayInJson
    - at
    - pldmtool::platform::GetPDR::printPDREntityAssociation
    - contains
    - pldmtool::platform::GetPDR::printStateEffecterPDR
    - has_value
    - pldmtool::platform::GetPDR::printCommonPDRHeader
    - pldmtool::platform::GetPDR::printTerminusLocatorPDR
    - pldmtool::platform::GetPDR::printStateSensorPDR
    - pldmtool::platform::GetPDR::printNumericEffecterPDR
    - pldmtool::platform::GetPDR::printNumericSensorPDR
    linkageType: ''
    returnType: void
    signature: "void printPDRMsg(uint32_t& nextRecordHndl, const uint16_t respCnt,\n
      \                    uint8_t* data, std::optional<uint16_t> terminusHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2015
    functionName: ~SetStateEffecter() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetStateEffecter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2018
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2019
    functionName: '& operator=(const SetStateEffecter&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2020
    functionName: '& operator=(SetStateEffecter&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2031,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2035,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2043
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetStateEffecter(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2064,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2067,1
    - Dst: parseEffecterData
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2072,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2081,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2084
    functionName: pldmtool::platform::SetStateEffecter::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::data
    - encode_set_state_effecter_states_req
    - auto::data
    - pldm_msg::pldm_msg
    - parseEffecterData
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2089,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2102
    functionName: pldmtool::platform::SetStateEffecter::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_state_effecter_states_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2113
    functionName: ~SetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2115
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2116
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2117
    functionName: '& operator=(const SetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: '& operator=(SetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2124,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2128,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2137
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2166
    functionName: pldmtool::platform::SetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2171,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2185
    functionName: pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2196
    functionName: ~GetStateSensorReadings() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateSensorReadings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2197
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2198
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2199
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2200
    functionName: '& operator=(const GetStateSensorReadings&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2201
    functionName: '& operator=(GetStateSensorReadings&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2207,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2211,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2218
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateSensorReadings(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: pldmtool::platform::GetStateSensorReadings::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_sensor_readings_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2240,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2242,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2256,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2259,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2266,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2269,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2272,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2275,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2279
    functionName: pldmtool::platform::GetStateSensorReadings::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - pldmtool::helper::DisplayInJson
    - at
    - std::array::data
    - contains
    - getStateSetPossibleStateNames
    - std::vector::at
    - std::to_string
    - ordered_json::emplace
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2290
    functionName: ~GetSensorReading() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetSensorReading() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2294
    functionName: '& operator=(const GetSensorReading&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2295
    functionName: '& operator=(GetSensorReading&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2300,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2308
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetSensorReading(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2320
    functionName: pldmtool::platform::GetSensorReading::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_sensor_reading_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2335,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2338,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2350,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2352,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2354,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2355,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2357,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2401,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2407
    functionName: pldmtool::platform::GetSensorReading::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - static_cast<int>
    - pldmtool::platform::GetSensorReading::getSensorState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2431,1
    - Dst: std::map<uint8_t, std::string>*::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - cont
    argTypes:
    - uint8_t
    - std::map<uint8_t, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2440
    functionName: pldmtool::platform::GetSensorReading::getSensorState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::map<uint8_t, std::string>*::at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string getSensorState(uint8_t state,\n                               const
      std::map<uint8_t, std::string>* cont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: ~GetStateEffecterStates() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateEffecterStates() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2448
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2449
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2450
    functionName: '& operator=(const GetStateEffecterStates&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2451
    functionName: '& operator=(GetStateEffecterStates&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2461
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateEffecterStates(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: encode_get_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: pldmtool::platform::GetStateEffecterStates::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_effecter_states_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2479,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2486,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2490,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2493,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2495,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2496,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2498,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2501,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2506
    functionName: pldmtool::platform::GetStateEffecterStates::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - pldmtool::helper::DisplayInJson
    - static_cast<int>
    - decode_get_state_effecter_states_resp
    - getEffecterOpState
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2515
    functionName: ~GetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2516
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2517
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2518
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2519
    functionName: '& operator=(const GetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2520
    functionName: '& operator=(GetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2532
    functionDepth: 1
    functionLinenumber: 2532
    functionLinenumberEnd: 2542
    functionName: pldmtool::platform::GetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2556,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2558,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2559,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2565,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2570,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2572,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2627,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2633
    functionName: pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - decode_get_numeric_effecter_value_resp
    - static_cast<int>
    - getEffecterOpState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2641,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2642,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2644,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: std::make_unique<GetEventReceiver>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2651,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: std::make_unique<GetPDR>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2654,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: std::make_unique<SetStateEffecter>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2659,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: std::make_unique<SetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2664,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: std::make_unique<GetStateSensorReadings>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2669,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: std::make_unique<GetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2674,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: std::make_unique<GetSensorReading>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2679,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    - Dst: std::make_unique<GetStateEffecterStates>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2683
    functionName: pldmtool::platform::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SetStateEffecter>
    - push_back
    - std::make_unique<GetSensorReading>
    - std::make_unique<GetStateEffecterStates>
    - std::make_unique<GetStateSensorReadings>
    - std::make_unique<GetPDR>
    - add_subcommand
    - std::make_unique<SetNumericEffecterValue>
    - std::make_unique<GetEventReceiver>
    - auto::require_subcommand
    - std::make_unique<GetNumericEffecterValue>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2689,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2690,1
    - Dst: dynamic_cast<GetPDR*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: auto::parseGetPDROptions
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2696
    functionName: pldmtool::platform::parseGetPDROption
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::parseGetPDROptions
    - dynamic_cast<GetPDR*>
    - get
    linkageType: ''
    returnType: void
    signature: void parseGetPDROption()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~GetEventReceiver() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const GetEventReceiver&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(GetEventReceiver&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetEventReceiver(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: pldmtool::platform::GetEventReceiver::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_event_receiver_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:115,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: pldmtool::platform::GetEventReceiver::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - decode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:373,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:379,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:382,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:387,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:390,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:393,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - stateId
    - ' value'
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 403
    functionName: pldmtool::platform::getStateSetPossibleStateNames
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::contains
    - at
    - contains
    - std::map::begin
    - std::map::insert
    - std::vector::push_back
    - std::map::end
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> getStateSetPossibleStateNames(\n    uint16_t
      stateId, const std::vector<uint8_t>& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: ~GetPDR() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPDR() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: '& operator=(const GetPDR&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: '& operator=(GetPDR&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option_group
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:422,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:425,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:437,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:439,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:444,1
    - Dst: auto::add_flag
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:450,1
    - Dst: auto::require_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 454
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::add_option
    - CLI::App*::add_option_group
    - auto::require_option
    - auto::add_flag
    - std::format
    linkageType: ''
    returnType: void
    signature: void GetPDR(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:459,1
    - Dst: pldmtool::platform::GetPDR::getPDRs
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: pldmtool::platform::GetPDR::parseGetPDROptions
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - count
    - pldmtool::platform::GetPDR::getPDRs
    linkageType: ''
    returnType: void
    signature: void parseGetPDROptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:474,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::platform::GetPDR::getPDRs
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::helper::CommandInterface::exec
    linkageType: ''
    returnType: void
    signature: void getPDRs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:498,1
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:500,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:503,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:516,1
    - Dst: std::map::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:527,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: pldmtool::platform::GetPDR::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldmtool::helper::CommandInterface::exec
    - std::transform
    - end
    - std::map::emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: pldmtool::platform::GetPDR::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:573,1
    - Dst: pldmtool::platform::GetPDR::getTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:589,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:590,1
    - Dst: insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: pldmtool::platform::GetPDR::printPDRMsg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:611,1
    - Dst: clear
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:617,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 629
    functionName: pldmtool::platform::GetPDR::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    - data
    - end
    - pldmtool::platform::GetPDR::getTerminusHandle
    - std::start_lifetime_as<pldm_pdr_hdr>
    - has_value
    - insert
    - decode_get_pdr_resp
    - pldmtool::platform::GetPDR::printPDRMsg
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1081,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1090
    functionName: pldmtool::platform::GetPDR::getBaseUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseUnitName(const uint8_t base_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1094,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rate_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: pldmtool::platform::GetPDR::getRateUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getRateUnitName(const uint8_t rate_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pldmtool::platform::GetPDR::isLogicalBitSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLogicalBitSet(const uint16_t entity_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logical_entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getEntityTypeForLogicalEntity(const uint16_t logical_entity_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::isLogicalBitSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1120,1
    - Dst: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1123,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1128,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1138,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - pldm::pdr::EntityType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1148
    functionName: pldmtool::platform::GetPDR::getEntityName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 14
    functionsReached:
    - static_cast<unsigned>
    - pldmtool::platform::GetPDR::isLogicalBitSet
    - at
    - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEntityName(pldm::pdr::EntityType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1161
    functionName: pldmtool::platform::GetPDR::getStateSetName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getStateSetName(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: pldmtool::platform::GetPDR::getPDRType
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getPDRType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1179,1
    - Dst: pldmtool::platform::GetPDR::getPDRType
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - ' output'
    argTypes:
    - pldm_pdr_hdr*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: pldmtool::platform::GetPDR::printCommonPDRHeader
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - unsigned
    - pldmtool::platform::GetPDR::getPDRType
    linkageType: ''
    returnType: void
    signature: void printCommonPDRHeader(const pldm_pdr_hdr* hdr, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1197,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1199,1
    - Dst: std::for_each
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - possibleStatesSize
    - states
    argTypes:
    - uint8_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1206
    functionName: pldmtool::platform::GetPDR::printPossibleStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - static_cast<uint8_t>
    - std::stringstream::str
    - std::stoi
    - std::vector::push_back
    - std::for_each
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> printPossibleStates(uint8_t possibleStatesSize,\n
      \                                            const bitfield8_t* states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1210,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1213,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1219,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1226,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1229,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1230,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1231,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1233,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1234,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1235,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1246
    functionName: pldmtool::platform::GetPDR::printStateSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: void
    signature: void printStateSensorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_fru_record_set>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1257,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1264,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1265,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1266,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1267,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1269
    functionName: pldmtool::platform::GetPDR::printPDRFruRecordSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    - std::start_lifetime_as<pldm_pdr_fru_record_set>
    linkageType: ''
    returnType: void
    signature: void printPDRFruRecordSet(uint8_t* data, ordered_json& output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_entity_association>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1285,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1294,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1297,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1304,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1310,1
    - Dst: pldm_entity::pldm_entity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1312,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1316,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1317,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1318,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1319,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1320,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1321,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1326
    functionName: pldmtool::platform::GetPDR::printPDREntityAssociation
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - emplace
    - std::map::contains
    - static_cast<unsigned>
    - std::start_lifetime_as<pldm_pdr_entity_association>
    - unsigned
    - pldm_entity::pldm_entity
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printPDREntityAssociation(uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1355,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1357,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1359,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1362,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1363,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1365,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1366,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1367,1
    - Dst: std::string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1369,1
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1371,1
    - Dst: std::u16string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1373,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cend
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1376,1
    - Dst: be16toh
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1377,1
    - Dst: to_bytes
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1389
    functionName: pldmtool::platform::GetPDR::printAuxNamePDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - static_cast<uint8_t>
    - std::views::iota
    - std::u16string::size
    - to_bytes
    - be16toh
    - std::u16string::begin
    - std::transform
    - std::u16string::cbegin
    - std::u16string::cend
    - reinterpret_cast<const char16_t*>
    - std::string::size
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printAuxNamePDR(uint8_t* data, ordered_json& output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1403,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1407,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1410,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1411,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1412,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1413,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1414,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1415,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1416,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1417,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1419,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1420,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1421,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1422,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1423,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1424,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1426,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1427,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1432,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1433,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1436,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1437,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1440,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1441,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1444,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1445,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1448,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1449,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1452,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1453,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1459,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1460,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1465,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1466,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1467,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1468,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1469,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1472,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1473,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1474,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1475,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1476,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1479,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1480,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1481,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1482,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1483,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1486,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1487,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1488,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1489,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1490,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1493,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1494,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1495,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1496,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1497,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1500,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1501,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1502,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1503,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1504,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1507,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1508,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1509,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1510,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 113
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1516
    functionName: pldmtool::platform::GetPDR::printNumericEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    linkageType: ''
    returnType: void
    signature: void printNumericEffecterPDR(uint8_t* data, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1520,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1524,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1532,1
    - Dst: reinterpret_cast<const state_effecter_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1540,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1543,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1544,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1545,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1547,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1548,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1549,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: pldmtool::platform::GetPDR::printStateEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const state_effecter_possible_states*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printStateEffecterPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1570,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1579,1
    - Dst: reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1589,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1600,1
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1609,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - data
    - terminusHandle
    argTypes:
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1623
    functionName: pldmtool::platform::GetPDR::checkTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
    linkageType: ''
    returnType: bool
    signature: "bool checkTerminusHandle(const uint8_t* data,\n                             std::optional<uint16_t>
      terminusHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1630,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1634,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1639,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1644,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1648
    functionName: pldmtool::platform::GetPDR::printTerminusLocatorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - unsigned
    - reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: void
    signature: void printTerminusLocatorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - tid
    argTypes:
    - uint8_t*
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: pldmtool::platform::GetPDR::getTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> getTerminusHandle(uint8_t* data,\n                                              std::optional<uint8_t>
      tid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1677,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1685,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1691,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1693,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1695,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1697,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 149
    argCount: 3
    argNames:
    - data
    - data_length
    - ' output'
    argTypes:
    - uint8_t*
    - uint16_t
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1834
    functionName: pldmtool::platform::GetPDR::printNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getRateUnitName
    - pldmtool::platform::GetPDR::getEntityName
    - decode_numeric_sensor_pdr_data
    - pldmtool::platform::GetPDR::getBaseUnitName
    linkageType: ''
    returnType: void
    signature: "void printNumericSensorPDR(const uint8_t* data, const uint16_t data_length,\n
      \                              ordered_json& output)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1853,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1859,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1860,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1861,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1865,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1869,1
    - Dst: signed
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1870,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1871,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1897
    functionName: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const char*>
    - signed
    - unsigned
    - pldmtool::platform::GetPDR::getBaseUnitName
    - std::format
    linkageType: ''
    returnType: void
    signature: void printCompactNumericSensorPDR(const uint8_t* data, ordered_json&
      output)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1918,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1922,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1934,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1940,1
    - Dst: pldmtool::platform::GetPDR::checkTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1942,1
    - Dst: pldmtool::platform::GetPDR::printCommonPDRHeader
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1950,1
    - Dst: pldmtool::platform::GetPDR::printTerminusLocatorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1955,1
    - Dst: pldmtool::platform::GetPDR::printStateSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1958,1
    - Dst: pldmtool::platform::GetPDR::printNumericEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1961,1
    - Dst: pldmtool::platform::GetPDR::printNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1964,1
    - Dst: pldmtool::platform::GetPDR::printAuxNamePDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1968,1
    - Dst: pldmtool::platform::GetPDR::printStateEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1971,1
    - Dst: pldmtool::platform::GetPDR::printPDREntityAssociation
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1974,1
    - Dst: pldmtool::platform::GetPDR::printPDRFruRecordSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1977,1
    - Dst: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1980,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - ' nextRecordHndl'
    - respCnt
    - data
    - terminusHandle
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 1992
    functionName: pldmtool::platform::GetPDR::printPDRMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - empty
    - pldmtool::platform::GetPDR::checkTerminusHandle
    - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    - pldmtool::platform::GetPDR::printPDRFruRecordSet
    - pldmtool::platform::GetPDR::printAuxNamePDR
    - pldmtool::helper::DisplayInJson
    - at
    - pldmtool::platform::GetPDR::printPDREntityAssociation
    - contains
    - pldmtool::platform::GetPDR::printStateEffecterPDR
    - has_value
    - pldmtool::platform::GetPDR::printCommonPDRHeader
    - pldmtool::platform::GetPDR::printTerminusLocatorPDR
    - pldmtool::platform::GetPDR::printStateSensorPDR
    - pldmtool::platform::GetPDR::printNumericEffecterPDR
    - pldmtool::platform::GetPDR::printNumericSensorPDR
    linkageType: ''
    returnType: void
    signature: "void printPDRMsg(uint32_t& nextRecordHndl, const uint16_t respCnt,\n
      \                    uint8_t* data, std::optional<uint16_t> terminusHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2015
    functionName: ~SetStateEffecter() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetStateEffecter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2018
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2019
    functionName: '& operator=(const SetStateEffecter&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2020
    functionName: '& operator=(SetStateEffecter&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2031,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2035,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2043
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetStateEffecter(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2064,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2067,1
    - Dst: parseEffecterData
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2072,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2081,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2084
    functionName: pldmtool::platform::SetStateEffecter::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::data
    - encode_set_state_effecter_states_req
    - auto::data
    - pldm_msg::pldm_msg
    - parseEffecterData
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2089,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2102
    functionName: pldmtool::platform::SetStateEffecter::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_state_effecter_states_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2113
    functionName: ~SetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2115
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2116
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2117
    functionName: '& operator=(const SetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: '& operator=(SetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2124,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2128,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2137
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2166
    functionName: pldmtool::platform::SetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2171,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2185
    functionName: pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2196
    functionName: ~GetStateSensorReadings() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateSensorReadings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2197
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2198
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2199
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2200
    functionName: '& operator=(const GetStateSensorReadings&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2201
    functionName: '& operator=(GetStateSensorReadings&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2207,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2211,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2218
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateSensorReadings(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: pldmtool::platform::GetStateSensorReadings::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_sensor_readings_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2240,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2242,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2256,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2259,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2266,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2269,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2272,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2275,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2279
    functionName: pldmtool::platform::GetStateSensorReadings::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - pldmtool::helper::DisplayInJson
    - at
    - std::array::data
    - contains
    - getStateSetPossibleStateNames
    - std::vector::at
    - std::to_string
    - ordered_json::emplace
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2290
    functionName: ~GetSensorReading() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetSensorReading() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2294
    functionName: '& operator=(const GetSensorReading&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2295
    functionName: '& operator=(GetSensorReading&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2300,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2308
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetSensorReading(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2320
    functionName: pldmtool::platform::GetSensorReading::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_sensor_reading_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2335,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2338,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2350,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2352,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2354,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2355,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2357,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2401,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2407
    functionName: pldmtool::platform::GetSensorReading::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - static_cast<int>
    - pldmtool::platform::GetSensorReading::getSensorState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2431,1
    - Dst: std::map<uint8_t, std::string>*::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - cont
    argTypes:
    - uint8_t
    - std::map<uint8_t, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2440
    functionName: pldmtool::platform::GetSensorReading::getSensorState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::map<uint8_t, std::string>*::at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string getSensorState(uint8_t state,\n                               const
      std::map<uint8_t, std::string>* cont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: ~GetStateEffecterStates() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateEffecterStates() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2448
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2449
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2450
    functionName: '& operator=(const GetStateEffecterStates&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2451
    functionName: '& operator=(GetStateEffecterStates&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2461
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateEffecterStates(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: encode_get_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: pldmtool::platform::GetStateEffecterStates::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_effecter_states_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2479,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2486,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2490,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2493,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2495,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2496,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2498,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2501,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2506
    functionName: pldmtool::platform::GetStateEffecterStates::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - pldmtool::helper::DisplayInJson
    - static_cast<int>
    - decode_get_state_effecter_states_resp
    - getEffecterOpState
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2515
    functionName: ~GetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2516
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2517
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2518
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2519
    functionName: '& operator=(const GetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2520
    functionName: '& operator=(GetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2532
    functionDepth: 1
    functionLinenumber: 2532
    functionLinenumberEnd: 2542
    functionName: pldmtool::platform::GetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2556,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2558,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2559,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2565,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2570,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2572,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2627,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2633
    functionName: pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - decode_get_numeric_effecter_value_resp
    - static_cast<int>
    - getEffecterOpState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2641,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2642,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2644,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: std::make_unique<GetEventReceiver>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2651,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: std::make_unique<GetPDR>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2654,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: std::make_unique<SetStateEffecter>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2659,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: std::make_unique<SetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2664,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: std::make_unique<GetStateSensorReadings>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2669,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: std::make_unique<GetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2674,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: std::make_unique<GetSensorReading>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2679,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    - Dst: std::make_unique<GetStateEffecterStates>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2683
    functionName: pldmtool::platform::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SetStateEffecter>
    - push_back
    - std::make_unique<GetSensorReading>
    - std::make_unique<GetStateEffecterStates>
    - std::make_unique<GetStateSensorReadings>
    - std::make_unique<GetPDR>
    - add_subcommand
    - std::make_unique<SetNumericEffecterValue>
    - std::make_unique<GetEventReceiver>
    - auto::require_subcommand
    - std::make_unique<GetNumericEffecterValue>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2689,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2690,1
    - Dst: dynamic_cast<GetPDR*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: auto::parseGetPDROptions
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2696
    functionName: pldmtool::platform::parseGetPDROption
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::parseGetPDROptions
    - dynamic_cast<GetPDR*>
    - get
    linkageType: ''
    returnType: void
    signature: void parseGetPDROption()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:69,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: pldmtool::platform::getEffecterOpState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - at
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEffecterOpState(uint8_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: ~GetEventReceiver() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetEventReceiver() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetEventReceiver(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const GetEventReceiver&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(const GetEventReceiver&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '& operator=(GetEventReceiver&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetEventReceiver
    signature: GetEventReceiver & operator=(GetEventReceiver&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: pldmtool::platform::GetEventReceiver::GetEventReceiver
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetEventReceiver(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:95,1
    - Dst: encode_pldm_header_only
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: pldmtool::platform::GetEventReceiver::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_pldm_header_only
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_event_receiver_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:109,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:115,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: pldmtool::platform::GetEventReceiver::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - pldmtool::helper::DisplayInJson
    - decode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:373,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:379,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:382,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:383,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:387,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:390,1
    - Dst: std::map::insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:391,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:393,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:395,1
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - stateId
    - ' value'
    argTypes:
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 403
    functionName: pldmtool::platform::getStateSetPossibleStateNames
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::map::contains
    - at
    - contains
    - std::map::begin
    - std::map::insert
    - std::vector::push_back
    - std::map::end
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> getStateSetPossibleStateNames(\n    uint16_t
      stateId, const std::vector<uint8_t>& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: ~GetPDR() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetPDR() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 409
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPDR(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 412
    functionName: '& operator=(const GetPDR&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(const GetPDR&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: '& operator=(GetPDR&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetPDR
    signature: GetPDR & operator=(GetPDR&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option_group
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:422,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:425,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:437,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:439,1
    - Dst: auto::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:444,1
    - Dst: auto::add_flag
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:450,1
    - Dst: auto::require_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 454
    functionName: pldmtool::platform::GetPDR::GetPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::add_option
    - CLI::App*::add_option_group
    - auto::require_option
    - auto::add_flag
    - std::format
    linkageType: ''
    returnType: void
    signature: void GetPDR(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:459,1
    - Dst: pldmtool::platform::GetPDR::getPDRs
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: pldmtool::platform::GetPDR::parseGetPDROptions
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - count
    - pldmtool::platform::GetPDR::getPDRs
    linkageType: ''
    returnType: void
    signature: void parseGetPDROptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:474,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::platform::GetPDR::getPDRs
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - pldmtool::helper::CommandInterface::exec
    linkageType: ''
    returnType: void
    signature: void getPDRs()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:498,1
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:500,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:502,1
    - Dst: begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:503,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:516,1
    - Dst: std::map::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:527,1
    - Dst: pldmtool::helper::CommandInterface::exec
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 549
    functionName: pldmtool::platform::GetPDR::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pldmtool::helper::CommandInterface::exec
    - std::transform
    - end
    - std::map::emplace
    - begin
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:555,1
    - Dst: encode_get_pdr_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: pldmtool::platform::GetPDR::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:573,1
    - Dst: pldmtool::platform::GetPDR::getTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:589,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:590,1
    - Dst: insert
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:603,1
    - Dst: pldmtool::platform::GetPDR::printPDRMsg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:610,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:611,1
    - Dst: clear
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:617,1
    - Dst: std::start_lifetime_as<pldm_pdr_hdr>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 629
    functionName: pldmtool::platform::GetPDR::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - clear
    - size
    - data
    - end
    - pldmtool::platform::GetPDR::getTerminusHandle
    - std::start_lifetime_as<pldm_pdr_hdr>
    - has_value
    - insert
    - decode_get_pdr_resp
    - pldmtool::platform::GetPDR::printPDRMsg
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1081,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1090
    functionName: pldmtool::platform::GetPDR::getBaseUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 6
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getBaseUnitName(const uint8_t base_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1094,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rate_unit
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: pldmtool::platform::GetPDR::getRateUnitName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getRateUnitName(const uint8_t rate_unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pldmtool::platform::GetPDR::isLogicalBitSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLogicalBitSet(const uint16_t entity_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logical_entity_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getEntityTypeForLogicalEntity(const uint16_t logical_entity_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::isLogicalBitSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1120,1
    - Dst: pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1123,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1128,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1133,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1138,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - pldm::pdr::EntityType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1148
    functionName: pldmtool::platform::GetPDR::getEntityName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 21
    functionsReached:
    - static_cast<unsigned>
    - pldmtool::platform::GetPDR::isLogicalBitSet
    - at
    - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
    - contains
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getEntityName(pldm::pdr::EntityType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1152,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1161
    functionName: pldmtool::platform::GetPDR::getStateSetName
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 6
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getStateSetName(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1165,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: pldmtool::platform::GetPDR::getPDRType
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string getPDRType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1179,1
    - Dst: pldmtool::platform::GetPDR::getPDRType
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - ' output'
    argTypes:
    - pldm_pdr_hdr*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: pldmtool::platform::GetPDR::printCommonPDRHeader
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - unsigned
    - pldmtool::platform::GetPDR::getPDRType
    linkageType: ''
    returnType: void
    signature: void printCommonPDRHeader(const pldm_pdr_hdr* hdr, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1197,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stoi
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1198,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1199,1
    - Dst: std::for_each
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - possibleStatesSize
    - states
    argTypes:
    - uint8_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1206
    functionName: pldmtool::platform::GetPDR::printPossibleStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 6
    functionsReached:
    - static_cast<uint8_t>
    - std::stringstream::str
    - std::stoi
    - std::vector::push_back
    - std::for_each
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> printPossibleStates(uint8_t possibleStatesSize,\n
      \                                            const bitfield8_t* states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1210,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1213,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1219,1
    - Dst: reinterpret_cast<const state_sensor_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1226,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1228,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1229,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1230,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1231,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1233,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1234,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1235,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1246
    functionName: pldmtool::platform::GetPDR::printStateSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    - reinterpret_cast<const state_sensor_possible_states*>
    linkageType: ''
    returnType: void
    signature: void printStateSensorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_fru_record_set>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1257,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1264,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1265,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1266,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1267,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1269
    functionName: pldmtool::platform::GetPDR::printPDRFruRecordSet
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    - std::start_lifetime_as<pldm_pdr_fru_record_set>
    linkageType: ''
    returnType: void
    signature: void printPDRFruRecordSet(uint8_t* data, ordered_json& output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_pdr_entity_association>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1285,1
    - Dst: std::map::contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1294,1
    - Dst: std::map::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1297,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1304,1
    - Dst: static_cast<unsigned>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1310,1
    - Dst: pldm_entity::pldm_entity
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1312,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1315,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1316,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1317,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1318,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1319,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1320,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1321,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1326
    functionName: pldmtool::platform::GetPDR::printPDREntityAssociation
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - emplace
    - std::map::contains
    - static_cast<unsigned>
    - std::start_lifetime_as<pldm_pdr_entity_association>
    - unsigned
    - pldm_entity::pldm_entity
    - std::map::at
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printPDREntityAssociation(uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1355,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1357,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1359,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1362,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1363,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1365,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1366,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1367,1
    - Dst: std::string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1369,1
    - Dst: reinterpret_cast<const char16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1371,1
    - Dst: std::u16string::size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1373,1
    - Dst: std::transform
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cbegin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::cend
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1375,1
    - Dst: std::u16string::begin
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1376,1
    - Dst: be16toh
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1377,1
    - Dst: to_bytes
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1389
    functionName: pldmtool::platform::GetPDR::printAuxNamePDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const char*>
    - static_cast<uint8_t>
    - std::views::iota
    - std::u16string::size
    - to_bytes
    - be16toh
    - std::u16string::begin
    - std::transform
    - std::u16string::cbegin
    - std::u16string::cend
    - reinterpret_cast<const char16_t*>
    - std::string::size
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printAuxNamePDR(uint8_t* data, ordered_json& output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1403,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1407,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1410,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1411,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1412,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1413,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1414,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1415,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1416,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1417,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1419,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1420,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1421,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1422,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1423,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1424,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1426,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1427,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1432,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1433,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1436,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1437,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1440,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1441,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1444,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1445,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1448,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1449,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1452,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1453,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1459,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1460,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1465,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1466,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1467,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1468,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1469,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1472,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1473,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1474,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1475,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1476,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1479,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1480,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1481,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1482,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1483,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1486,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1487,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1488,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1489,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1490,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1493,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1494,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1495,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1496,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1497,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1500,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1501,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1502,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1503,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1504,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1507,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1508,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1509,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1510,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1511,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 113
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1516
    functionName: pldmtool::platform::GetPDR::printNumericEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - unsigned
    linkageType: ''
    returnType: void
    signature: void printNumericEffecterPDR(uint8_t* data, ordered_json& output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1520,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1524,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1532,1
    - Dst: reinterpret_cast<const state_effecter_possible_states*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1540,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1542,1
    - Dst: pldmtool::platform::GetPDR::getStateSetName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1543,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1544,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1545,1
    - Dst: emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1547,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1548,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1549,1
    - Dst: pldmtool::platform::GetPDR::printPossibleStates
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1560
    functionName: pldmtool::platform::GetPDR::printStateEffecterPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const state_effecter_possible_states*>
    - emplace
    - pldmtool::platform::GetPDR::getStateSetName
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - pldmtool::platform::GetPDR::printPossibleStates
    - getStateSetPossibleStateNames
    - unsigned
    - std::to_string
    linkageType: ''
    returnType: void
    signature: void printStateEffecterPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1570,1
    - Dst: reinterpret_cast<const pldm_state_sensor_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1579,1
    - Dst: reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1589,1
    - Dst: reinterpret_cast<const pldm_state_effecter_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1600,1
    - Dst: reinterpret_cast<const pldm_pdr_fru_record_set*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1609,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - data
    - terminusHandle
    argTypes:
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1623
    functionName: pldmtool::platform::GetPDR::checkTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const pldm_pdr_fru_record_set*>
    - reinterpret_cast<const pldm_state_sensor_pdr*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    - reinterpret_cast<const pldm_state_effecter_pdr*>
    - reinterpret_cast<const pldm_numeric_effecter_value_pdr*>
    linkageType: ''
    returnType: bool
    signature: "bool checkTerminusHandle(const uint8_t* data,\n                             std::optional<uint16_t>
      terminusHandle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1630,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1634,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1639,1
    - Dst: reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1644,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1648
    functionName: pldmtool::platform::GetPDR::printTerminusLocatorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - unsigned
    - reinterpret_cast<const pldm_terminus_locator_type_mctp_eid*>
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: void
    signature: void printTerminusLocatorPDR(const uint8_t* data, ordered_json& output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_terminus_locator_pdr*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - tid
    argTypes:
    - uint8_t*
    - std::optional<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1664
    functionName: pldmtool::platform::GetPDR::getTerminusHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const pldm_terminus_locator_pdr*>
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> getTerminusHandle(uint8_t* data,\n                                              std::optional<uint8_t>
      tid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1677,1
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1685,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1691,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1693,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1695,1
    - Dst: pldmtool::platform::GetPDR::getRateUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1697,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 149
    argCount: 3
    argNames:
    - data
    - data_length
    - ' output'
    argTypes:
    - uint8_t*
    - uint16_t
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1672
    functionDepth: 2
    functionLinenumber: 1672
    functionLinenumberEnd: 1834
    functionName: pldmtool::platform::GetPDR::printNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getRateUnitName
    - pldmtool::platform::GetPDR::getEntityName
    - decode_numeric_sensor_pdr_data
    - pldmtool::platform::GetPDR::getBaseUnitName
    linkageType: ''
    returnType: void
    signature: "void printNumericSensorPDR(const uint8_t* data, const uint16_t data_length,\n
      \                              ordered_json& output)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::platform::GetPDR::getEntityName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1853,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1859,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1860,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1861,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1865,1
    - Dst: pldmtool::platform::GetPDR::getBaseUnitName
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1869,1
    - Dst: signed
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1870,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1871,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - data
    - ' output'
    argTypes:
    - uint8_t*
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1897
    functionName: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldmtool::platform::GetPDR::getEntityName
    - reinterpret_cast<const char*>
    - signed
    - unsigned
    - pldmtool::platform::GetPDR::getBaseUnitName
    - std::format
    linkageType: ''
    returnType: void
    signature: void printCompactNumericSensorPDR(const uint8_t* data, ordered_json&
      output)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1918,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1922,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1934,1
    - Dst: has_value
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1940,1
    - Dst: pldmtool::platform::GetPDR::checkTerminusHandle
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1942,1
    - Dst: pldmtool::platform::GetPDR::printCommonPDRHeader
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1950,1
    - Dst: pldmtool::platform::GetPDR::printTerminusLocatorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1955,1
    - Dst: pldmtool::platform::GetPDR::printStateSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1958,1
    - Dst: pldmtool::platform::GetPDR::printNumericEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1961,1
    - Dst: pldmtool::platform::GetPDR::printNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1964,1
    - Dst: pldmtool::platform::GetPDR::printAuxNamePDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1968,1
    - Dst: pldmtool::platform::GetPDR::printStateEffecterPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1971,1
    - Dst: pldmtool::platform::GetPDR::printPDREntityAssociation
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1974,1
    - Dst: pldmtool::platform::GetPDR::printPDRFruRecordSet
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1977,1
    - Dst: pldmtool::platform::GetPDR::printCompactNumericSensorPDR
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1980,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:1991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - ' nextRecordHndl'
    - respCnt
    - data
    - terminusHandle
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t*
    - std::optional<uint16_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 1992
    functionName: pldmtool::platform::GetPDR::printPDRMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - empty
    - pldmtool::platform::GetPDR::checkTerminusHandle
    - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
    - pldmtool::platform::GetPDR::printPDRFruRecordSet
    - pldmtool::platform::GetPDR::printAuxNamePDR
    - pldmtool::helper::DisplayInJson
    - at
    - pldmtool::platform::GetPDR::printPDREntityAssociation
    - contains
    - pldmtool::platform::GetPDR::printStateEffecterPDR
    - has_value
    - pldmtool::platform::GetPDR::printCommonPDRHeader
    - pldmtool::platform::GetPDR::printTerminusLocatorPDR
    - pldmtool::platform::GetPDR::printStateSensorPDR
    - pldmtool::platform::GetPDR::printNumericEffecterPDR
    - pldmtool::platform::GetPDR::printNumericSensorPDR
    linkageType: ''
    returnType: void
    signature: "void printPDRMsg(uint32_t& nextRecordHndl, const uint16_t respCnt,\n
      \                    uint8_t* data, std::optional<uint16_t> terminusHandle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2015
    functionName: ~SetStateEffecter() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetStateEffecter() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2017
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2018
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStateEffecter(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2019
    functionName: '& operator=(const SetStateEffecter&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(const SetStateEffecter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2020
    functionName: '& operator=(SetStateEffecter&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetStateEffecter
    signature: SetStateEffecter & operator=(SetStateEffecter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2031,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2035,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2043
    functionName: pldmtool::platform::SetStateEffecter::SetStateEffecter
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetStateEffecter(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2053,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2064,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2067,1
    - Dst: parseEffecterData
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2072,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2081,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2084
    functionName: pldmtool::platform::SetStateEffecter::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::data
    - encode_set_state_effecter_states_req
    - auto::data
    - pldm_msg::pldm_msg
    - parseEffecterData
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2089,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2102
    functionName: pldmtool::platform::SetStateEffecter::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_state_effecter_states_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2113
    functionName: ~SetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2114
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2115
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2116
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetNumericEffecterValue(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2117
    functionName: '& operator=(const SetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(const SetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: '& operator=(SetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetNumericEffecterValue
    signature: SetNumericEffecterValue & operator=(SetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2124,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2128,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2137
    functionName: pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2147,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2166
    functionName: pldmtool::platform::SetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2171,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2185
    functionName: pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2196
    functionName: ~GetStateSensorReadings() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateSensorReadings() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2197
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2198
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2199
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateSensorReadings(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2200
    functionDepth: 0
    functionLinenumber: 2200
    functionLinenumberEnd: 2200
    functionName: '& operator=(const GetStateSensorReadings&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(const GetStateSensorReadings&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2201
    functionName: '& operator=(GetStateSensorReadings&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateSensorReadings
    signature: GetStateSensorReadings & operator=(GetStateSensorReadings&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2207,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2211,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2218
    functionName: pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateSensorReadings(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2224,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: pldmtool::platform::GetStateSensorReadings::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_sensor_readings_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2240,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2242,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2256,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2258,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2259,1
    - Dst: getStateSetPossibleStateNames
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2266,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2268,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2269,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2271,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2272,1
    - Dst: ordered_json::emplace
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2274,1
    - Dst: std::vector::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2275,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2279
    functionName: pldmtool::platform::GetStateSensorReadings::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - pldmtool::helper::DisplayInJson
    - at
    - std::array::data
    - contains
    - getStateSetPossibleStateNames
    - std::vector::at
    - std::to_string
    - ordered_json::emplace
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2290
    functionName: ~GetSensorReading() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetSensorReading() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2291
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2292
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2293
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetSensorReading(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2294
    functionName: '& operator=(const GetSensorReading&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(const GetSensorReading&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2295
    functionName: '& operator=(GetSensorReading&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetSensorReading
    signature: GetSensorReading & operator=(GetSensorReading&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2300,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2308
    functionName: pldmtool::platform::GetSensorReading::GetSensorReading
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetSensorReading(const char* type, const char* name,\n                              CLI::App*
      app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2314,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2320
    functionName: pldmtool::platform::GetSensorReading::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_sensor_reading_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2335,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2338,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2350,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2352,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2354,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2355,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2357,1
    - Dst: pldmtool::platform::GetSensorReading::getSensorState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2358,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2365,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2371,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2377,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2383,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2389,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2395,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2401,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2407
    functionName: pldmtool::platform::GetSensorReading::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_get_sensor_reading_resp
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - static_cast<int>
    - pldmtool::platform::GetSensorReading::getSensorState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2431,1
    - Dst: std::map<uint8_t, std::string>*::at
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - cont
    argTypes:
    - uint8_t
    - std::map<uint8_t, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2440
    functionName: pldmtool::platform::GetSensorReading::getSensorState
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 4
    functionsReached:
    - std::map<uint8_t, std::string>*::at
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string getSensorState(uint8_t state,\n                               const
      std::map<uint8_t, std::string>* cont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: ~GetStateEffecterStates() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetStateEffecterStates() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2448
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2449
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetStateEffecterStates(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2450
    functionName: '& operator=(const GetStateEffecterStates&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(const GetStateEffecterStates&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2451
    functionName: '& operator=(GetStateEffecterStates&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetStateEffecterStates
    signature: GetStateEffecterStates & operator=(GetStateEffecterStates&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2461
    functionName: pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetStateEffecterStates(const char* type, const char* name,\n
      \                                   CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2467,1
    - Dst: encode_get_state_effecter_states_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2474
    functionName: pldmtool::platform::GetStateEffecterStates::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_state_effecter_states_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2479,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2486,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2490,1
    - Dst: std::views::iota
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2493,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2495,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2496,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2498,1
    - Dst: std::format
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2501,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2506
    functionName: pldmtool::platform::GetStateEffecterStates::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::views::iota
    - pldmtool::helper::DisplayInJson
    - static_cast<int>
    - decode_get_state_effecter_states_resp
    - getEffecterOpState
    - std::format
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2515
    functionName: ~GetNumericEffecterValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetNumericEffecterValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2516
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2517
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2518
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetNumericEffecterValue(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2519
    functionName: '& operator=(const GetNumericEffecterValue&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(const GetNumericEffecterValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2520
    functionName: '& operator=(GetNumericEffecterValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetNumericEffecterValue
    signature: GetNumericEffecterValue & operator=(GetNumericEffecterValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2530
    functionName: pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetNumericEffecterValue(const char* type, const char* name,\n
      \                                    CLI::App* app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2536,1
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2532
    functionDepth: 1
    functionLinenumber: 2532
    functionLinenumberEnd: 2542
    functionName: pldmtool::platform::GetNumericEffecterValue::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2556,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2558,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2559,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2565,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2570,1
    - Dst: getEffecterOpState
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2572,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2579,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2581,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2587,1
    - Dst: reinterpret_cast<int8_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2589,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2595,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2597,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2603,1
    - Dst: reinterpret_cast<int16_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2605,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2611,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2613,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2619,1
    - Dst: reinterpret_cast<int32_t*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: std::array::data
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2621,1
    - Dst: static_cast<int>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2627,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2633
    functionName: pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - pldmtool::helper::DisplayInJson
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<uint16_t*>
    - reinterpret_cast<int16_t*>
    - decode_get_numeric_effecter_value_resp
    - static_cast<int>
    - getEffecterOpState
    - reinterpret_cast<int32_t*>
    - reinterpret_cast<int8_t*>
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2641,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2642,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2644,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: std::make_unique<GetEventReceiver>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2647,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2651,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: std::make_unique<GetPDR>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2652,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2654,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: std::make_unique<SetStateEffecter>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2656,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2659,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: std::make_unique<SetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2661,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2664,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: std::make_unique<GetStateSensorReadings>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2666,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2669,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: std::make_unique<GetNumericEffecterValue>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2671,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2674,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: std::make_unique<GetSensorReading>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2676,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2679,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    - Dst: std::make_unique<GetStateEffecterStates>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2683
    functionName: pldmtool::platform::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<SetStateEffecter>
    - push_back
    - std::make_unique<GetSensorReading>
    - std::make_unique<GetStateEffecterStates>
    - std::make_unique<GetStateSensorReadings>
    - std::make_unique<GetPDR>
    - add_subcommand
    - std::make_unique<SetNumericEffecterValue>
    - std::make_unique<GetEventReceiver>
    - auto::require_subcommand
    - std::make_unique<GetNumericEffecterValue>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2689,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2690,1
    - Dst: dynamic_cast<GetPDR*>
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: get
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2692,1
    - Dst: auto::parseGetPDROptions
      Src: /src/pldm/pldmtool/pldm_platform_cmd.cpp:2693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2696
    functionName: pldmtool::platform::parseGetPDROption
    functionSourceFile: /src/pldm/pldmtool/pldm_platform_cmd.cpp
    functionUses: 0
    functionsReached:
    - auto::parseGetPDROptions
    - dynamic_cast<GetPDR*>
    - get
    linkageType: ''
    returnType: void
    signature: void parseGetPDROption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~RawOp() override
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawOp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const RawOp&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(RawOp&&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldmtool.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RawOp(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pldmtool::raw::RawOp::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pldmtool::raw::RawOp::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void parseResponseMsg(pldm_msg* /* responsePtr */,\n                          size_t
      /* payloadLength */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:59,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    - Dst: std::make_unique<RawOp>
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pldmtool::raw::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - add_subcommand
    - push_back
    - std::make_unique<RawOp>
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~RawOp() override
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawOp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const RawOp&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(RawOp&&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldmtool.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RawOp(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pldmtool::raw::RawOp::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pldmtool::raw::RawOp::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void parseResponseMsg(pldm_msg* /* responsePtr */,\n                          size_t
      /* payloadLength */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:59,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    - Dst: std::make_unique<RawOp>
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pldmtool::raw::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - add_subcommand
    - push_back
    - std::make_unique<RawOp>
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~RawOp() override
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawOp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const RawOp&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(RawOp&&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldmtool.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RawOp(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pldmtool::raw::RawOp::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pldmtool::raw::RawOp::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void parseResponseMsg(pldm_msg* /* responsePtr */,\n                          size_t
      /* payloadLength */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:59,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    - Dst: std::make_unique<RawOp>
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pldmtool::raw::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - add_subcommand
    - push_back
    - std::make_unique<RawOp>
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~RawOp() override
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawOp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawOp(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(const RawOp&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(const RawOp&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: '& operator=(RawOp&&)'
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawOp
    signature: RawOp & operator=(RawOp&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldmtool.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: pldmtool::raw::RawOp::RawOp
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void RawOp(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pldmtool::raw::RawOp::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pldmtool::raw::RawOp::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void parseResponseMsg(pldm_msg* /* responsePtr */,\n                          size_t
      /* payloadLength */) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:59,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    - Dst: std::make_unique<RawOp>
      Src: /src/pldm/pldmtool/pldmtool.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pldmtool::raw::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - add_subcommand
    - push_back
    - std::make_unique<RawOp>
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App::require_subcommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:69,1
    - Dst: pldmtool::raw::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:71,1
    - Dst: pldmtool::base::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:72,1
    - Dst: pldmtool::bios::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:73,1
    - Dst: pldmtool::platform::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:74,1
    - Dst: pldmtool::fru::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:75,1
    - Dst: pldmtool::fw_update::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:76,1
    - Dst: pldmtool::oem_ibm::registerCommand
      Src: /src/pldm/pldmtool/pldmtool.cpp:79,1
    - Dst: CLI11_PARSE
      Src: /src/pldm/pldmtool/pldmtool.cpp:82,1
    - Dst: pldmtool::platform::parseGetPDROption
      Src: /src/pldm/pldmtool/pldmtool.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/pldm/pldmtool/pldmtool.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::registerCommand
    - CLI::App::require_subcommand
    - pldmtool::platform::registerCommand
    - CLI11_PARSE
    - pldmtool::platform::parseGetPDROption
    - pldmtool::base::registerCommand
    - pldmtool::oem_ibm::registerCommand
    - pldmtool::fw_update::registerCommand
    - pldmtool::raw::registerCommand
    - pldmtool::fru::registerCommand
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~GetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const GetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(GetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: encode_get_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: pldmtool::bios::GetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_date_time_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:64,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:78,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: pldmtool::bios::GetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - decode_get_date_time_resp
    - pldm_bcd_bcd2dec16
    - pldmtool::bios::GetDateTime::setWidth
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pldmtool::bios::GetDateTime::setWidth
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm_bcd_bcd2dec8
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string setWidth(uint8_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~SetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const SetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(SetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: uintToDate
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:123,1
    - Dst: encode_set_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: pldmtool::bios::SetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - std::vector::data
    - uintToDate
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:142,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: pldmtool::bios::SetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_date_time_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~GetBIOSTableHandler() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTableHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(const GetBIOSTableHandler&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(GetBIOSTableHandler&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pldmtool::bios::GetBIOSTableHandler::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: encode_get_bios_table_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:202,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:211,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:222,1
    - Dst: decode_get_bios_table_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:224,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:235,1
    - Dst: std::make_optional<Table>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: pldmtool::bios::GetBIOSTableHandler::getBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<char*>
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - decode_get_bios_table_resp
    - std::vector::size
    - std::make_optional<Table>
    - encode_get_bios_table_req
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> getBIOSTable(pldm_bios_table_types tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:245,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:253,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:256,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - c_str
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findAttrEntryByName(\n        const std::string&
      name, const Table& attrTable,\n        const Table& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:272,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> findAttrHandleByName(const std::string& name,\n
      \                                                const Table& attrTable,\n                                                 const
      Table& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:285,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:289,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string decodeStringFromStringEntry(\n        const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:298,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:303,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - ' stringTable'
    argTypes:
    - uint16_t
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string displayStringHandle(uint16_t handle,\n                                    const
      std::optional<Table>& stringTable,\n                                    bool
      displayHandle = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:329,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:337,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:344,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - attrHandle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    linkageType: ''
    returnType: std::string
    signature: "std::string displayEnumValueByIndex(uint16_t attrHandle, uint8_t index,\n
      \                                       const std::optional<Table>& attrTable,\n
      \                                       const std::optional<Table>& stringTable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:356,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:358,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:359,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:364,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:366,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:379,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:382,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:393,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:394,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:399,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:408,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:417,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:422,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:423,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:428,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - tableEntry
    - ' attrTable'
    - ' stringTable'
    - verbose
    - ' output'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - std::optional<Table>
    - std::optional<Table>
    - bool
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 442
    functionName: pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    - reinterpret_cast<const char*>
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - static_cast<pldm_bios_attribute_type>
    - at
    - std::vector::data
    - contains
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - std::vector::size
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void displayAttributeValueEntry(\n        const pldm_bios_attr_val_table_entry*
      tableEntry,\n        const std::optional<Table>& attrTable,\n        const std::optional<Table>&
      stringTable, bool verbose,\n        ordered_json& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: ~GetBIOSTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const GetBIOSTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: '& operator=(GetBIOSTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:460,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const char* type, const char* name, CLI::App* app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:472,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeStringTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:473,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:478,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:479,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:481,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:486,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:487,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:488,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::bios::GetBIOSTable::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    - pldmtool::bios::GetBIOSTable::decodeAttributeTable
    - pldmtool::bios::GetBIOSTable::decodeStringTable
    - getBIOSTable
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:508,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:512,1
    - Dst: decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:514,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: pldmtool::bios::GetBIOSTable::decodeStringTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm_bios_table_string_entry_decode_handle
    - std::to_string
    - decodeStringFromStringEntry
    linkageType: ''
    returnType: void
    signature: void decodeStringTable(const std::optional<Table>& stringTable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:528,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:534,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:536,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:537,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:538,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:542,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:543,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:545,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:560,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:565,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:570,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:573,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:578,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:581,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:582,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:585,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:588,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:590,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:600,1
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:612,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:615,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:618,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:623,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:626,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:632,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:637,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: std::move
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 648
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldmtool::helper::DisplayInJson
    - static_cast<pldm_bios_attribute_type>
    - std::vector::data
    - std::move
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - size
    - std::stringstream::str
    - pldm_bios_table_attr_entry_integer_decode
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::setfill
    - at
    - pldm_bios_table_attr_entry_string_decode_string_type
    - pldm_bios_table_attr_entry_decode_attribute_type
    - ordered_json::emplace_back
    - data
    - displayStringHandle
    - contains
    - std::setw
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeTable(const std::optional<Table>& attrTable,\n
      \                             const std::optional<Table>& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:659,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:663,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:665,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' attrValTable'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - ordered_json::emplace_back
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - displayAttributeValueEntry
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeValueTable(const std::optional<Table>& attrValTable,\n
      \                                  const std::optional<Table>& attrTable,\n
      \                                  const std::optional<Table>& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: ~GetBIOSAttributeCurrentValueByHandle() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSAttributeCurrentValueByHandle() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const char* type,
      const char* name, CLI::App* app)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:694,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:695,1
    - Dst: findAttrHandleByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:703,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:715,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:724,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:735,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:737,1
    - Dst: reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:748,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:752,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 755
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - pldmtool::helper::DisplayInJson
    - reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - decode_get_bios_attribute_current_value_by_handle_resp
    - displayAttributeValueEntry
    - findAttrHandleByName
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: ~SetBIOSAttributeCurrentValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetBIOSAttributeCurrentValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(const SetBIOSAttributeCurrentValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: "SetBIOSAttributeCurrentValue & operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: '& operator=(SetBIOSAttributeCurrentValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: SetBIOSAttributeCurrentValue & operator=(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:777,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetBIOSAttributeCurrentValue(const char* type, const char* name,\n
      \                                         CLI::App* app)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:786,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:787,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:788,1
    - Dst: findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:797,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:817,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:820,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:824,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:825,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:826,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: auto::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:828,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:837,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:853,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:855,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:857,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:871,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:872,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:874,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:876,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:877,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: std::stoll
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:891,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:893,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:894,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:895,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:896,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:909,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:912,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:913,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:915,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:923,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:932,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:934,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:945,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 946
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - pldmtool::helper::DisplayInJson
    - std::vector::data
    - auto::size
    - std::vector::size
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_attr_value_entry_encode_enum_length
    - pldm_bios_table_attr_value_entry_encode_integer
    - size
    - auto::data
    - std::stoll
    - pldm_bios_table_attr_value_entry_encode_string
    - encode_set_bios_attribute_current_value_req
    - findAttrEntryByName
    - c_str
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - decode_set_bios_attribute_current_value_resp
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:955,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:956,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:957,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:958,1
    - Dst: std::make_unique<GetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:959,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:962,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:963,1
    - Dst: std::make_unique<SetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:964,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:966,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:967,1
    - Dst: std::make_unique<GetBIOSTable>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:968,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:971,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: std::make_unique<GetBIOSAttributeCurrentValueByHandle>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:977,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    - Dst: std::make_unique<SetBIOSAttributeCurrentValue>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 981
    functionName: pldmtool::bios::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<GetDateTime>
    - push_back
    - std::make_unique<SetDateTime>
    - add_subcommand
    - std::make_unique<GetBIOSAttributeCurrentValueByHandle>
    - std::make_unique<GetBIOSTable>
    - std::make_unique<SetBIOSAttributeCurrentValue>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~GetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const GetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(GetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: encode_get_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: pldmtool::bios::GetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_date_time_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:64,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:78,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: pldmtool::bios::GetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - decode_get_date_time_resp
    - pldm_bcd_bcd2dec16
    - pldmtool::bios::GetDateTime::setWidth
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pldmtool::bios::GetDateTime::setWidth
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm_bcd_bcd2dec8
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string setWidth(uint8_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~SetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const SetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(SetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: uintToDate
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:123,1
    - Dst: encode_set_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: pldmtool::bios::SetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - std::vector::data
    - uintToDate
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:142,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: pldmtool::bios::SetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_date_time_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~GetBIOSTableHandler() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTableHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(const GetBIOSTableHandler&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(GetBIOSTableHandler&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pldmtool::bios::GetBIOSTableHandler::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: encode_get_bios_table_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:202,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:211,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:222,1
    - Dst: decode_get_bios_table_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:224,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:235,1
    - Dst: std::make_optional<Table>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: pldmtool::bios::GetBIOSTableHandler::getBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<char*>
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - decode_get_bios_table_resp
    - std::vector::size
    - std::make_optional<Table>
    - encode_get_bios_table_req
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> getBIOSTable(pldm_bios_table_types tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:245,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:253,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:256,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - c_str
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findAttrEntryByName(\n        const std::string&
      name, const Table& attrTable,\n        const Table& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:272,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> findAttrHandleByName(const std::string& name,\n
      \                                                const Table& attrTable,\n                                                 const
      Table& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:285,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:289,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string decodeStringFromStringEntry(\n        const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:298,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:303,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - ' stringTable'
    argTypes:
    - uint16_t
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string displayStringHandle(uint16_t handle,\n                                    const
      std::optional<Table>& stringTable,\n                                    bool
      displayHandle = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:329,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:337,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:344,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - attrHandle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    linkageType: ''
    returnType: std::string
    signature: "std::string displayEnumValueByIndex(uint16_t attrHandle, uint8_t index,\n
      \                                       const std::optional<Table>& attrTable,\n
      \                                       const std::optional<Table>& stringTable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:356,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:358,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:359,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:364,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:366,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:379,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:382,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:393,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:394,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:399,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:408,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:417,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:422,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:423,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:428,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - tableEntry
    - ' attrTable'
    - ' stringTable'
    - verbose
    - ' output'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - std::optional<Table>
    - std::optional<Table>
    - bool
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 442
    functionName: pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    - reinterpret_cast<const char*>
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - static_cast<pldm_bios_attribute_type>
    - at
    - std::vector::data
    - contains
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - std::vector::size
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void displayAttributeValueEntry(\n        const pldm_bios_attr_val_table_entry*
      tableEntry,\n        const std::optional<Table>& attrTable,\n        const std::optional<Table>&
      stringTable, bool verbose,\n        ordered_json& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: ~GetBIOSTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const GetBIOSTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: '& operator=(GetBIOSTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:460,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const char* type, const char* name, CLI::App* app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:472,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeStringTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:473,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:478,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:479,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:481,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:486,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:487,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:488,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::bios::GetBIOSTable::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    - pldmtool::bios::GetBIOSTable::decodeAttributeTable
    - pldmtool::bios::GetBIOSTable::decodeStringTable
    - getBIOSTable
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:508,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:512,1
    - Dst: decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:514,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: pldmtool::bios::GetBIOSTable::decodeStringTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm_bios_table_string_entry_decode_handle
    - std::to_string
    - decodeStringFromStringEntry
    linkageType: ''
    returnType: void
    signature: void decodeStringTable(const std::optional<Table>& stringTable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:528,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:534,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:536,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:537,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:538,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:542,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:543,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:545,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:560,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:565,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:570,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:573,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:578,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:581,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:582,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:585,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:588,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:590,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:600,1
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:612,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:615,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:618,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:623,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:626,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:632,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:637,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: std::move
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 648
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldmtool::helper::DisplayInJson
    - static_cast<pldm_bios_attribute_type>
    - std::vector::data
    - std::move
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - size
    - std::stringstream::str
    - pldm_bios_table_attr_entry_integer_decode
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::setfill
    - at
    - pldm_bios_table_attr_entry_string_decode_string_type
    - pldm_bios_table_attr_entry_decode_attribute_type
    - ordered_json::emplace_back
    - data
    - displayStringHandle
    - contains
    - std::setw
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeTable(const std::optional<Table>& attrTable,\n
      \                             const std::optional<Table>& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:659,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:663,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:665,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' attrValTable'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - ordered_json::emplace_back
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - displayAttributeValueEntry
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeValueTable(const std::optional<Table>& attrValTable,\n
      \                                  const std::optional<Table>& attrTable,\n
      \                                  const std::optional<Table>& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: ~GetBIOSAttributeCurrentValueByHandle() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSAttributeCurrentValueByHandle() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const char* type,
      const char* name, CLI::App* app)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:694,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:695,1
    - Dst: findAttrHandleByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:703,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:715,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:724,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:735,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:737,1
    - Dst: reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:748,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:752,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 755
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - pldmtool::helper::DisplayInJson
    - reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - decode_get_bios_attribute_current_value_by_handle_resp
    - displayAttributeValueEntry
    - findAttrHandleByName
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: ~SetBIOSAttributeCurrentValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetBIOSAttributeCurrentValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(const SetBIOSAttributeCurrentValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: "SetBIOSAttributeCurrentValue & operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: '& operator=(SetBIOSAttributeCurrentValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: SetBIOSAttributeCurrentValue & operator=(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:777,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetBIOSAttributeCurrentValue(const char* type, const char* name,\n
      \                                         CLI::App* app)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:786,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:787,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:788,1
    - Dst: findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:797,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:817,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:820,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:824,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:825,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:826,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: auto::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:828,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:837,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:853,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:855,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:857,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:871,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:872,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:874,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:876,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:877,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: std::stoll
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:891,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:893,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:894,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:895,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:896,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:909,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:912,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:913,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:915,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:923,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:932,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:934,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:945,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 946
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - pldmtool::helper::DisplayInJson
    - std::vector::data
    - auto::size
    - std::vector::size
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_attr_value_entry_encode_enum_length
    - pldm_bios_table_attr_value_entry_encode_integer
    - size
    - auto::data
    - std::stoll
    - pldm_bios_table_attr_value_entry_encode_string
    - encode_set_bios_attribute_current_value_req
    - findAttrEntryByName
    - c_str
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - decode_set_bios_attribute_current_value_resp
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:955,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:956,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:957,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:958,1
    - Dst: std::make_unique<GetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:959,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:962,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:963,1
    - Dst: std::make_unique<SetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:964,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:966,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:967,1
    - Dst: std::make_unique<GetBIOSTable>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:968,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:971,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: std::make_unique<GetBIOSAttributeCurrentValueByHandle>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:977,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    - Dst: std::make_unique<SetBIOSAttributeCurrentValue>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 981
    functionName: pldmtool::bios::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<GetDateTime>
    - push_back
    - std::make_unique<SetDateTime>
    - add_subcommand
    - std::make_unique<GetBIOSAttributeCurrentValueByHandle>
    - std::make_unique<GetBIOSTable>
    - std::make_unique<SetBIOSAttributeCurrentValue>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~GetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const GetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(GetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: encode_get_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: pldmtool::bios::GetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_date_time_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:64,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:78,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: pldmtool::bios::GetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - decode_get_date_time_resp
    - pldm_bcd_bcd2dec16
    - pldmtool::bios::GetDateTime::setWidth
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pldmtool::bios::GetDateTime::setWidth
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm_bcd_bcd2dec8
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string setWidth(uint8_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~SetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const SetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(SetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: uintToDate
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:123,1
    - Dst: encode_set_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: pldmtool::bios::SetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - std::vector::data
    - uintToDate
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:142,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: pldmtool::bios::SetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_date_time_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~GetBIOSTableHandler() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTableHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(const GetBIOSTableHandler&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(GetBIOSTableHandler&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pldmtool::bios::GetBIOSTableHandler::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: encode_get_bios_table_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:202,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:211,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:222,1
    - Dst: decode_get_bios_table_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:224,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:235,1
    - Dst: std::make_optional<Table>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: pldmtool::bios::GetBIOSTableHandler::getBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<char*>
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - decode_get_bios_table_resp
    - std::vector::size
    - std::make_optional<Table>
    - encode_get_bios_table_req
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> getBIOSTable(pldm_bios_table_types tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:245,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:253,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:256,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - c_str
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findAttrEntryByName(\n        const std::string&
      name, const Table& attrTable,\n        const Table& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:272,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> findAttrHandleByName(const std::string& name,\n
      \                                                const Table& attrTable,\n                                                 const
      Table& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:285,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:289,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string decodeStringFromStringEntry(\n        const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:298,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:303,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - ' stringTable'
    argTypes:
    - uint16_t
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string displayStringHandle(uint16_t handle,\n                                    const
      std::optional<Table>& stringTable,\n                                    bool
      displayHandle = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:329,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:337,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:344,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - attrHandle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 2
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    linkageType: ''
    returnType: std::string
    signature: "std::string displayEnumValueByIndex(uint16_t attrHandle, uint8_t index,\n
      \                                       const std::optional<Table>& attrTable,\n
      \                                       const std::optional<Table>& stringTable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:356,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:358,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:359,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:364,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:366,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:379,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:382,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:393,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:394,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:399,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:408,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:417,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:422,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:423,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:428,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - tableEntry
    - ' attrTable'
    - ' stringTable'
    - verbose
    - ' output'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - std::optional<Table>
    - std::optional<Table>
    - bool
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 442
    functionName: pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    - reinterpret_cast<const char*>
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - static_cast<pldm_bios_attribute_type>
    - at
    - std::vector::data
    - contains
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - std::vector::size
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void displayAttributeValueEntry(\n        const pldm_bios_attr_val_table_entry*
      tableEntry,\n        const std::optional<Table>& attrTable,\n        const std::optional<Table>&
      stringTable, bool verbose,\n        ordered_json& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: ~GetBIOSTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const GetBIOSTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: '& operator=(GetBIOSTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:460,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const char* type, const char* name, CLI::App* app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:472,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeStringTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:473,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:478,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:479,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:481,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:486,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:487,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:488,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::bios::GetBIOSTable::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    - pldmtool::bios::GetBIOSTable::decodeAttributeTable
    - pldmtool::bios::GetBIOSTable::decodeStringTable
    - getBIOSTable
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:508,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:512,1
    - Dst: decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:514,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: pldmtool::bios::GetBIOSTable::decodeStringTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm_bios_table_string_entry_decode_handle
    - std::to_string
    - decodeStringFromStringEntry
    linkageType: ''
    returnType: void
    signature: void decodeStringTable(const std::optional<Table>& stringTable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:528,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:534,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:536,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:537,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:538,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:542,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:543,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:545,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:560,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:565,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:570,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:573,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:578,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:581,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:582,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:585,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:588,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:590,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:600,1
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:612,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:615,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:618,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:623,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:626,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:632,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:637,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: std::move
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 648
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldmtool::helper::DisplayInJson
    - static_cast<pldm_bios_attribute_type>
    - std::vector::data
    - std::move
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - size
    - std::stringstream::str
    - pldm_bios_table_attr_entry_integer_decode
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::setfill
    - at
    - pldm_bios_table_attr_entry_string_decode_string_type
    - pldm_bios_table_attr_entry_decode_attribute_type
    - ordered_json::emplace_back
    - data
    - displayStringHandle
    - contains
    - std::setw
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeTable(const std::optional<Table>& attrTable,\n
      \                             const std::optional<Table>& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:659,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:663,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:665,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' attrValTable'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - ordered_json::emplace_back
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - displayAttributeValueEntry
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeValueTable(const std::optional<Table>& attrValTable,\n
      \                                  const std::optional<Table>& attrTable,\n
      \                                  const std::optional<Table>& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: ~GetBIOSAttributeCurrentValueByHandle() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSAttributeCurrentValueByHandle() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const char* type,
      const char* name, CLI::App* app)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:694,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:695,1
    - Dst: findAttrHandleByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:703,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:715,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:724,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:735,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:737,1
    - Dst: reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:748,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:752,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 755
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - pldmtool::helper::DisplayInJson
    - reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - decode_get_bios_attribute_current_value_by_handle_resp
    - displayAttributeValueEntry
    - findAttrHandleByName
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: ~SetBIOSAttributeCurrentValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetBIOSAttributeCurrentValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(const SetBIOSAttributeCurrentValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: "SetBIOSAttributeCurrentValue & operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: '& operator=(SetBIOSAttributeCurrentValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: SetBIOSAttributeCurrentValue & operator=(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:777,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetBIOSAttributeCurrentValue(const char* type, const char* name,\n
      \                                         CLI::App* app)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:786,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:787,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:788,1
    - Dst: findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:797,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:817,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:820,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:824,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:825,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:826,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: auto::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:828,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:837,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:853,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:855,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:857,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:871,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:872,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:874,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:876,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:877,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: std::stoll
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:891,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:893,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:894,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:895,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:896,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:909,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:912,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:913,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:915,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:923,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:932,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:934,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:945,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 946
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - pldmtool::helper::DisplayInJson
    - std::vector::data
    - auto::size
    - std::vector::size
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_attr_value_entry_encode_enum_length
    - pldm_bios_table_attr_value_entry_encode_integer
    - size
    - auto::data
    - std::stoll
    - pldm_bios_table_attr_value_entry_encode_string
    - encode_set_bios_attribute_current_value_req
    - findAttrEntryByName
    - c_str
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - decode_set_bios_attribute_current_value_resp
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:955,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:956,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:957,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:958,1
    - Dst: std::make_unique<GetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:959,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:962,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:963,1
    - Dst: std::make_unique<SetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:964,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:966,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:967,1
    - Dst: std::make_unique<GetBIOSTable>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:968,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:971,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: std::make_unique<GetBIOSAttributeCurrentValueByHandle>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:977,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    - Dst: std::make_unique<SetBIOSAttributeCurrentValue>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 981
    functionName: pldmtool::bios::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<GetDateTime>
    - push_back
    - std::make_unique<SetDateTime>
    - add_subcommand
    - std::make_unique<GetBIOSAttributeCurrentValueByHandle>
    - std::make_unique<GetBIOSTable>
    - std::make_unique<SetBIOSAttributeCurrentValue>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: ~GetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: pldmtool::bios::GetDateTime::GetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetDateTime(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(const GetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(const GetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(GetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetDateTime
    signature: GetDateTime & operator=(GetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:51,1
    - Dst: encode_get_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: pldmtool::bios::GetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - pldm_msg::pldm_msg
    - encode_get_date_time_req
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:64,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:75,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:76,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: pldmtool::bios::GetDateTime::setWidth
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:77,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:78,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: pldmtool::bios::GetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - decode_get_date_time_resp
    - pldm_bcd_bcd2dec16
    - pldmtool::bios::GetDateTime::setWidth
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:86,1
    - Dst: static_cast<uint32_t>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pldmtool::bios::GetDateTime::setWidth
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 4
    functionsReached:
    - std::stringstream::str
    - std::setfill
    - std::setw
    - pldm_bcd_bcd2dec8
    - static_cast<uint32_t>
    linkageType: ''
    returnType: std::string
    signature: std::string setWidth(uint8_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: ~SetDateTime() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetDateTime() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetDateTime(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: '& operator=(const SetDateTime&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(const SetDateTime&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(SetDateTime&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetDateTime
    signature: SetDateTime & operator=(SetDateTime&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pldmtool::bios::SetDateTime::SetDateTime
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void SetDateTime(const char* type, const char* name, CLI::App* app)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:115,1
    - Dst: uintToDate
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:123,1
    - Dst: encode_set_date_time_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: pldmtool::bios::SetDateTime::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - std::vector::data
    - uintToDate
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_date_time_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:142,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: pldmtool::bios::SetDateTime::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::helper::DisplayInJson
    - decode_set_date_time_resp
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~GetBIOSTableHandler() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTableHandler() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTableHandler(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(const GetBIOSTableHandler&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(const GetBIOSTableHandler&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: '& operator=(GetBIOSTableHandler&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTableHandler
    signature: GetBIOSTableHandler & operator=(GetBIOSTableHandler&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pldmtool::bios::GetBIOSTableHandler::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:200,1
    - Dst: encode_get_bios_table_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:202,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:211,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:221,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:222,1
    - Dst: decode_get_bios_table_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:224,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:235,1
    - Dst: std::make_optional<Table>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - pldm_bios_table_types
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: pldmtool::bios::GetBIOSTableHandler::getBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<char*>
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - decode_get_bios_table_resp
    - std::vector::size
    - std::make_optional<Table>
    - encode_get_bios_table_req
    linkageType: ''
    returnType: std::optional<Table>
    signature: std::optional<Table> getBIOSTable(pldm_bios_table_types tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:245,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:246,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:253,1
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:255,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:256,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - c_str
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: pldm_bios_attr_table_entry
    signature: "pldm_bios_attr_table_entry * findAttrEntryByName(\n        const std::string&
      name, const Table& attrTable,\n        const Table& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:272,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' name'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::string
    - Table
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: std::optional<uint16_t>
    signature: "std::optional<uint16_t> findAttrHandleByName(const std::string& name,\n
      \                                                const Table& attrTable,\n                                                 const
      Table& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:285,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:288,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:289,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stringEntry
    argTypes:
    - pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - std::vector::size
    - pldm_bios_table_string_entry_decode_string_length
    - std::string
    linkageType: ''
    returnType: std::string
    signature: "std::string decodeStringFromStringEntry(\n        const pldm_bios_string_table_entry*
      stringEntry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:298,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:303,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:304,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - ' stringTable'
    argTypes:
    - uint16_t
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
    - pldm_bios_table_string_find_by_handle
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: "std::string displayStringHandle(uint16_t handle,\n                                    const
      std::optional<Table>& stringTable,\n                                    bool
      displayHandle = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:329,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:330,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:337,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:344,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:345,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - attrHandle
    - index
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - uint16_t
    - uint8_t
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 3
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - size
    - data
    - std::vector::data
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::size
    - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
    linkageType: ''
    returnType: std::string
    signature: "std::string displayEnumValueByIndex(uint16_t attrHandle, uint8_t index,\n
      \                                       const std::optional<Table>& attrTable,\n
      \                                       const std::optional<Table>& stringTable)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:356,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:358,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:359,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:364,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:366,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:379,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:382,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:383,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:388,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:393,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:394,1
    - Dst: pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:399,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:408,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:417,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:422,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:423,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:428,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - tableEntry
    - ' attrTable'
    - ' stringTable'
    - verbose
    - ' output'
    argTypes:
    - pldm_bios_attr_val_table_entry*
    - std::optional<Table>
    - std::optional<Table>
    - bool
    - ordered_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 442
    functionName: pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
    - reinterpret_cast<const char*>
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    - static_cast<pldm_bios_attribute_type>
    - at
    - std::vector::data
    - contains
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_string_decode_string
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    - std::vector::size
    - std::to_string
    - std::string
    linkageType: ''
    returnType: void
    signature: "void displayAttributeValueEntry(\n        const pldm_bios_attr_val_table_entry*
      tableEntry,\n        const std::optional<Table>& attrTable,\n        const std::optional<Table>&
      stringTable, bool verbose,\n        ordered_json& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: ~GetBIOSTable() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const GetBIOSTable&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(const GetBIOSTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 453
    functionName: '& operator=(GetBIOSTable&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSTable
    signature: GetBIOSTable & operator=(GetBIOSTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:460,1
    - Dst: CLI::CheckedTransformer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: pldmtool::bios::GetBIOSTable::GetBIOSTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::CheckedTransformer
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetBIOSTable(const char* type, const char* name, CLI::App* app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:472,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeStringTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:473,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:478,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:479,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:481,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:486,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:487,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:488,1
    - Dst: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: pldmtool::bios::GetBIOSTable::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    - pldmtool::bios::GetBIOSTable::decodeAttributeTable
    - pldmtool::bios::GetBIOSTable::decodeStringTable
    - getBIOSTable
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_STRING_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:508,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:509,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:512,1
    - Dst: decodeStringFromStringEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:513,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:514,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: pldmtool::bios::GetBIOSTable::decodeStringTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 4
    functionsReached:
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - BIOSTableIter<PLDM_BIOS_STRING_TABLE>
    - pldm_bios_table_string_entry_decode_handle
    - std::to_string
    - decodeStringFromStringEntry
    linkageType: ''
    returnType: void
    signature: void decodeStringTable(const std::optional<Table>& stringTable)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:528,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:529,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:534,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:536,1
    - Dst: static_cast<pldm_bios_attribute_type>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:537,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:538,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:542,1
    - Dst: contains
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:543,1
    - Dst: at
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:545,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:560,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:565,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:566,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:570,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:573,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:574,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:578,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:581,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:582,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:585,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:588,1
    - Dst: displayStringHandle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:590,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:600,1
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:612,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:615,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:618,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:623,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:626,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:627,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:631,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:632,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:633,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:637,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: std::move
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:645,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 648
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 4
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_string_decode_def_string
    - pldmtool::helper::DisplayInJson
    - static_cast<pldm_bios_attribute_type>
    - std::vector::data
    - std::move
    - std::vector::size
    - pldm_bios_table_attr_entry_decode_attribute_handle
    - size
    - std::stringstream::str
    - pldm_bios_table_attr_entry_integer_decode
    - BIOSTableIter<PLDM_BIOS_ATTR_TABLE>
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::setfill
    - at
    - pldm_bios_table_attr_entry_string_decode_string_type
    - pldm_bios_table_attr_entry_decode_attribute_type
    - ordered_json::emplace_back
    - data
    - displayStringHandle
    - contains
    - std::setw
    - pldm_bios_table_attr_entry_string_decode_max_length
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeTable(const std::optional<Table>& attrTable,\n
      \                             const std::optional<Table>& stringTable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:659,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:660,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:663,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:665,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' attrValTable'
    - ' attrTable'
    - ' stringTable'
    argTypes:
    - std::optional<Table>
    - std::optional<Table>
    - std::optional<Table>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 4
    functionsReached:
    - ordered_json::emplace_back
    - size
    - pldmtool::helper::DisplayInJson
    - data
    - displayAttributeValueEntry
    - BIOSTableIter<PLDM_BIOS_ATTR_VAL_TABLE>
    linkageType: ''
    returnType: void
    signature: "void decodeAttributeValueTable(const std::optional<Table>& attrValTable,\n
      \                                  const std::optional<Table>& attrTable,\n
      \                                  const std::optional<Table>& stringTable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 674
    functionName: ~GetBIOSAttributeCurrentValueByHandle() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetBIOSAttributeCurrentValueByHandle() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetBIOSAttributeCurrentValueByHandle
    signature: "GetBIOSAttributeCurrentValueByHandle & operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void GetBIOSAttributeCurrentValueByHandle(\n        const char* type,
      const char* name, CLI::App* app)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:694,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:695,1
    - Dst: findAttrHandleByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:703,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:713,1
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:715,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:724,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:734,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:735,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:737,1
    - Dst: reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:748,1
    - Dst: displayAttributeValueEntry
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:752,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 755
    functionName: pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - pldmtool::helper::DisplayInJson
    - reinterpret_cast<const struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - decode_get_bios_attribute_current_value_by_handle_resp
    - displayAttributeValueEntry
    - findAttrHandleByName
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 764
    functionName: ~SetBIOSAttributeCurrentValue() override
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SetBIOSAttributeCurrentValue() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 765
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 766
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(const SetBIOSAttributeCurrentValue&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: "SetBIOSAttributeCurrentValue & operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: '& operator=(SetBIOSAttributeCurrentValue&&)'
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SetBIOSAttributeCurrentValue
    signature: SetBIOSAttributeCurrentValue & operator=(SetBIOSAttributeCurrentValue&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:777,1
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: "void SetBIOSAttributeCurrentValue(const char* type, const char* name,\n
      \                                         CLI::App* app)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:786,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:787,1
    - Dst: getBIOSTable
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:788,1
    - Dst: findAttrEntryByName
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:797,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:817,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:820,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:824,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:825,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:826,1
    - Dst: auto::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: auto::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:827,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:828,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:837,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:853,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:855,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:856,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:857,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:871,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:872,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:874,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:876,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:877,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: c_str
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:878,1
    - Dst: std::stoll
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:891,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:893,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:894,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:895,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:896,1
    - Dst: std::vector::resize
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:909,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:912,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:913,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:914,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:915,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:923,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:931,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:932,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:934,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:945,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 946
    functionName: pldmtool::bios::SetBIOSAttributeCurrentValue::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_enum
    - pldmtool::helper::DisplayInJson
    - std::vector::data
    - auto::size
    - std::vector::size
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_attr_value_entry_encode_enum_length
    - pldm_bios_table_attr_value_entry_encode_integer
    - size
    - auto::data
    - std::stoll
    - pldm_bios_table_attr_value_entry_encode_string
    - encode_set_bios_attribute_current_value_req
    - findAttrEntryByName
    - c_str
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_msg::pldm_msg
    - getBIOSTable
    - pldmSendRecv
    - decode_set_bios_attribute_current_value_resp
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::resize
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:955,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:956,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:957,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:958,1
    - Dst: std::make_unique<GetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:959,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:962,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:963,1
    - Dst: std::make_unique<SetDateTime>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:964,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:966,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:967,1
    - Dst: std::make_unique<GetBIOSTable>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:968,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:971,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: std::make_unique<GetBIOSAttributeCurrentValueByHandle>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:973,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:977,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    - Dst: std::make_unique<SetBIOSAttributeCurrentValue>
      Src: /src/pldm/pldmtool/pldm_bios_cmd.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 981
    functionName: pldmtool::bios::registerCommand
    functionSourceFile: /src/pldm/pldmtool/pldm_bios_cmd.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<GetDateTime>
    - push_back
    - std::make_unique<SetDateTime>
    - add_subcommand
    - std::make_unique<GetBIOSAttributeCurrentValueByHandle>
    - std::make_unique<GetBIOSTable>
    - std::make_unique<SetBIOSAttributeCurrentValue>
    - auto::require_subcommand
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:63,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:64,1
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:75,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - completionCode
    - ' data'
    - pldmType
    argTypes:
    - uint8_t
    - ordered_json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: pldmtool::helper::fillCompletionCode
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillCompletionCode(uint8_t completionCode, ordered_json& data,\n
      \                       uint8_t pldmType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:90,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::error
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::value
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:95,1
    - Dst: createRequestMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:96,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:99,1
    - Dst: pldmtool::helper::CommandInterface::pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:106,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:110,1
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: parseResponseMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: pldmtool::helper::CommandInterface::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 12
    functionsReached:
    - pldmtool::helper::CommandInterface::pldmSendRecv
    - std::vector::data
    - pldm::InstanceIdError::InstanceIdError
    - next
    - parseResponseMsg
    - free
    - reinterpret_cast<struct pldm_msg*>
    - auto::value
    - auto::error
    - createRequestMsg
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CommandInterface::exec()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:132,1
    - Dst: PldmTransport::sendRecvMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:150,1
    - Dst: resize
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:159,1
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' requestMsg'
    - ' responseMsg'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 174
    functionName: pldmtool::helper::CommandInterface::pldmSendRecv
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - PldmTransport::sendRecvMsg
    - resize
    - free
    - unsigned
    - printBuffer
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CommandInterface::pldmSendRecv(std::vector<uint8_t>& requestMsg,\n
      \                                  std::vector<uint8_t>& responseMsg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:63,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:64,1
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:75,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - completionCode
    - ' data'
    - pldmType
    argTypes:
    - uint8_t
    - ordered_json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: pldmtool::helper::fillCompletionCode
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillCompletionCode(uint8_t completionCode, ordered_json& data,\n
      \                       uint8_t pldmType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:90,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::error
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::value
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:95,1
    - Dst: createRequestMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:96,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:99,1
    - Dst: pldmtool::helper::CommandInterface::pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:106,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:110,1
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: parseResponseMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: pldmtool::helper::CommandInterface::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 12
    functionsReached:
    - pldmtool::helper::CommandInterface::pldmSendRecv
    - std::vector::data
    - pldm::InstanceIdError::InstanceIdError
    - next
    - parseResponseMsg
    - free
    - reinterpret_cast<struct pldm_msg*>
    - auto::value
    - auto::error
    - createRequestMsg
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CommandInterface::exec()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:132,1
    - Dst: PldmTransport::sendRecvMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:150,1
    - Dst: resize
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:159,1
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' requestMsg'
    - ' responseMsg'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 174
    functionName: pldmtool::helper::CommandInterface::pldmSendRecv
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 2
    functionsReached:
    - size
    - data
    - PldmTransport::sendRecvMsg
    - resize
    - free
    - unsigned
    - printBuffer
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CommandInterface::pldmSendRecv(std::vector<uint8_t>& requestMsg,\n
      \                                  std::vector<uint8_t>& responseMsg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:63,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:64,1
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:75,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - completionCode
    - ' data'
    - pldmType
    argTypes:
    - uint8_t
    - ordered_json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: pldmtool::helper::fillCompletionCode
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillCompletionCode(uint8_t completionCode, ordered_json& data,\n
      \                       uint8_t pldmType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:90,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::error
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::value
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:95,1
    - Dst: createRequestMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:96,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:99,1
    - Dst: pldmtool::helper::CommandInterface::pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:106,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:110,1
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: parseResponseMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: pldmtool::helper::CommandInterface::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 12
    functionsReached:
    - pldmtool::helper::CommandInterface::pldmSendRecv
    - std::vector::data
    - pldm::InstanceIdError::InstanceIdError
    - next
    - parseResponseMsg
    - free
    - reinterpret_cast<struct pldm_msg*>
    - auto::value
    - auto::error
    - createRequestMsg
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CommandInterface::exec()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:132,1
    - Dst: PldmTransport::sendRecvMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:150,1
    - Dst: resize
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:159,1
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' requestMsg'
    - ' responseMsg'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 174
    functionName: pldmtool::helper::CommandInterface::pldmSendRecv
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 3
    functionsReached:
    - size
    - data
    - PldmTransport::sendRecvMsg
    - resize
    - free
    - unsigned
    - printBuffer
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CommandInterface::pldmSendRecv(std::vector<uint8_t>& requestMsg,\n
      \                                  std::vector<uint8_t>& responseMsg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:63,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:64,1
    - Dst: find
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:75,1
    - Dst: end
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - completionCode
    - ' data'
    - pldmType
    argTypes:
    - uint8_t
    - ordered_json
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: pldmtool::helper::fillCompletionCode
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: void
    signature: "void fillCompletionCode(uint8_t completionCode, ordered_json& data,\n
      \                       uint8_t pldmType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:90,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::error
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:93,1
    - Dst: auto::value
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:95,1
    - Dst: createRequestMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:96,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:99,1
    - Dst: pldmtool::helper::CommandInterface::pldmSendRecv
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:106,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:110,1
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:115,1
    - Dst: parseResponseMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:116,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: pldmtool::helper::CommandInterface::exec
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 12
    functionsReached:
    - pldmtool::helper::CommandInterface::pldmSendRecv
    - std::vector::data
    - pldm::InstanceIdError::InstanceIdError
    - next
    - parseResponseMsg
    - free
    - reinterpret_cast<struct pldm_msg*>
    - auto::value
    - auto::error
    - createRequestMsg
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void CommandInterface::exec()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:132,1
    - Dst: PldmTransport::sendRecvMsg
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:146,1
    - Dst: unsigned
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:150,1
    - Dst: resize
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:156,1
    - Dst: memcpy
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: data
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: size
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:157,1
    - Dst: free
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:159,1
    - Dst: printBuffer
      Src: /src/pldm/pldmtool/pldm_cmd_helper.cpp:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ' requestMsg'
    - ' responseMsg'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 174
    functionName: pldmtool::helper::CommandInterface::pldmSendRecv
    functionSourceFile: /src/pldm/pldmtool/pldm_cmd_helper.cpp
    functionUses: 4
    functionsReached:
    - size
    - data
    - PldmTransport::sendRecvMsg
    - resize
    - free
    - unsigned
    - printBuffer
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CommandInterface::pldmSendRecv(std::vector<uint8_t>& requestMsg,\n
      \                                  std::vector<uint8_t>& responseMsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GetAlertStatus() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetAlertStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const GetAlertStatus&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(GetAlertStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: encode_get_alert_status_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_alert_status_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:69,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:88,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - std::setfill
    - decode_get_alert_status_resp
    - std::setw
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GetFileTable() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFileTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(const GetFileTable&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& operator=(GetFileTable&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pldmtool::oem_ibm::GetFileTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: pldmtool::oem_ibm::GetFileTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: encode_get_file_table_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:121,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:130,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:143,1
    - Dst: decode_get_file_table_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:156,1
    - Dst: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 159
    functionName: pldmtool::oem_ibm::GetFileTable::exec
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - decode_get_file_table_resp
    - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - encode_get_file_table_req
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_file_attr_table_entry>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:176,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:177,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:184,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:185,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:188,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:189,1
    - Dst: reinterpret_cast<bitfield32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:193,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:194,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:196,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - ordered_json::emplace_back
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - std::start_lifetime_as<pldm_file_attr_table_entry>
    - std::to_string
    - le32toh
    - reinterpret_cast<bitfield32_t*>
    - std::string
    linkageType: ''
    returnType: void
    signature: void printFileAttrTable(uint8_t* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:204,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:205,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:207,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: std::make_unique<GetAlertStatus>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:213,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    - Dst: std::make_unique<GetFileTable>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: pldmtool::oem_ibm::registerCommand
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - add_subcommand
    - std::make_unique<GetFileTable>
    - auto::require_subcommand
    - std::make_unique<GetAlertStatus>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GetAlertStatus() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetAlertStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const GetAlertStatus&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(GetAlertStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: encode_get_alert_status_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_alert_status_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:69,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:88,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - std::setfill
    - decode_get_alert_status_resp
    - std::setw
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GetFileTable() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFileTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(const GetFileTable&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& operator=(GetFileTable&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pldmtool::oem_ibm::GetFileTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: pldmtool::oem_ibm::GetFileTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: encode_get_file_table_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:121,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:130,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:143,1
    - Dst: decode_get_file_table_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:156,1
    - Dst: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 159
    functionName: pldmtool::oem_ibm::GetFileTable::exec
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - decode_get_file_table_resp
    - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - encode_get_file_table_req
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_file_attr_table_entry>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:176,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:177,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:184,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:185,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:188,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:189,1
    - Dst: reinterpret_cast<bitfield32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:193,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:194,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:196,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - ordered_json::emplace_back
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - std::start_lifetime_as<pldm_file_attr_table_entry>
    - std::to_string
    - le32toh
    - reinterpret_cast<bitfield32_t*>
    - std::string
    linkageType: ''
    returnType: void
    signature: void printFileAttrTable(uint8_t* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:204,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:205,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:207,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: std::make_unique<GetAlertStatus>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:213,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    - Dst: std::make_unique<GetFileTable>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: pldmtool::oem_ibm::registerCommand
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - add_subcommand
    - std::make_unique<GetFileTable>
    - auto::require_subcommand
    - std::make_unique<GetAlertStatus>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GetAlertStatus() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetAlertStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const GetAlertStatus&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(GetAlertStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: encode_get_alert_status_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_alert_status_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:69,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:88,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - std::setfill
    - decode_get_alert_status_resp
    - std::setw
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GetFileTable() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFileTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(const GetFileTable&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& operator=(GetFileTable&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pldmtool::oem_ibm::GetFileTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: pldmtool::oem_ibm::GetFileTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: encode_get_file_table_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:121,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:130,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:143,1
    - Dst: decode_get_file_table_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:156,1
    - Dst: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 159
    functionName: pldmtool::oem_ibm::GetFileTable::exec
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - decode_get_file_table_resp
    - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - encode_get_file_table_req
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_file_attr_table_entry>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:176,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:177,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:184,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:185,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:188,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:189,1
    - Dst: reinterpret_cast<bitfield32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:193,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:194,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:196,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - ordered_json::emplace_back
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - std::start_lifetime_as<pldm_file_attr_table_entry>
    - std::to_string
    - le32toh
    - reinterpret_cast<bitfield32_t*>
    - std::string
    linkageType: ''
    returnType: void
    signature: void printFileAttrTable(uint8_t* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:204,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:205,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:207,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: std::make_unique<GetAlertStatus>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:213,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    - Dst: std::make_unique<GetFileTable>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: pldmtool::oem_ibm::registerCommand
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - add_subcommand
    - std::make_unique<GetFileTable>
    - auto::require_subcommand
    - std::make_unique<GetAlertStatus>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~GetAlertStatus() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetAlertStatus() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(const GetAlertStatus&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(const GetAlertStatus&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(GetAlertStatus&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetAlertStatus
    signature: GetAlertStatus & operator=(GetAlertStatus&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI::App*::add_option
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - name
    - app
    argTypes:
    - char*
    - char*
    - CLI::App*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - CLI::App*::add_option
    linkageType: ''
    returnType: void
    signature: void GetAlertStatus(const char* type, const char* name, CLI::App* app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:57,1
    - Dst: encode_get_alert_status_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - std::vector::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_alert_status_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:69,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:83,1
    - Dst: std::setfill
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::setw
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:85,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:87,1
    - Dst: std::stringstream::str
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:88,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - responsePtr
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - pldmtool::helper::DisplayInJson
    - std::setfill
    - decode_get_alert_status_resp
    - std::setw
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GetFileTable() override
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GetFileTable() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: pldmtool::oem_ibm::GetFileTable::GetFileTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetFileTable(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(const GetFileTable&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(const GetFileTable&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& operator=(GetFileTable&&)'
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GetFileTable
    signature: GetFileTable & operator=(GetFileTable&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pldmtool::oem_ibm::GetFileTable::createRequestMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::pair<int, std::vector<uint8_t>>
    signature: std::pair<int, std::vector<uint8_t>> createRequestMsg() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: pldmtool::oem_ibm::GetFileTable::parseResponseMsg
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseResponseMsg(pldm_msg*, size_t) override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:119,1
    - Dst: encode_get_file_table_req
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:121,1
    - Dst: pldmSendRecv
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:130,1
    - Dst: std::vector::data
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:142,1
    - Dst: std::vector::size
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:143,1
    - Dst: decode_get_file_table_resp
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:145,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:156,1
    - Dst: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 159
    functionName: pldmtool::oem_ibm::GetFileTable::exec
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - decode_get_file_table_resp
    - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    - pldmSendRecv
    - pldm_msg::pldm_msg
    - encode_get_file_table_req
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void exec() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_file_attr_table_entry>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:176,1
    - Dst: std::to_string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:177,1
    - Dst: std::string
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:184,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:185,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:188,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:189,1
    - Dst: reinterpret_cast<bitfield32_t*>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:193,1
    - Dst: le32toh
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:194,1
    - Dst: ordered_json::emplace_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:196,1
    - Dst: pldmtool::helper::DisplayInJson
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: pldmtool::oem_ibm::GetFileTable::printFileAttrTable
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - ordered_json::emplace_back
    - reinterpret_cast<const char*>
    - pldmtool::helper::DisplayInJson
    - std::start_lifetime_as<pldm_file_attr_table_entry>
    - std::to_string
    - le32toh
    - reinterpret_cast<bitfield32_t*>
    - std::string
    linkageType: ''
    returnType: void
    signature: void printFileAttrTable(uint8_t* data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:204,1
    - Dst: auto::require_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:205,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:207,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: std::make_unique<GetAlertStatus>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:209,1
    - Dst: auto::add_subcommand
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:213,1
    - Dst: push_back
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    - Dst: std::make_unique<GetFileTable>
      Src: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' app'
    argTypes:
    - CLI::App
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: pldmtool::oem_ibm::registerCommand
    functionSourceFile: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
    functionUses: 1
    functionsReached:
    - push_back
    - add_subcommand
    - std::make_unique<GetFileTable>
    - auto::require_subcommand
    - std::make_unique<GetAlertStatus>
    - auto::add_subcommand
    linkageType: ''
    returnType: void
    signature: void registerCommand(CLI::App& app)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/update.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: pldm::fw_update::Update::Update
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Update(sdbusplus::bus_t& bus, const std::string& path,\n           UpdateManager*
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~Update() noexcept override
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Update() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/update.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: pldm::fw_update::Update::Update
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Update(sdbusplus::bus_t& bus, const std::string& path,\n           UpdateManager*
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~Update() noexcept override
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Update() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/update.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: pldm::fw_update::Update::Update
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Update(sdbusplus::bus_t& bus, const std::string& path,\n           UpdateManager*
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~Update() noexcept override
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Update() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/update.hpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' path'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: pldm::fw_update::Update::Update
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Update(sdbusplus::bus_t& bus, const std::string& path,\n           UpdateManager*
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~Update() noexcept override
    functionSourceFile: /src/pldm/fw-update/update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Update() noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:19,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:22,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::InventoryManager::discoverFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<pldm::eid>
    - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    linkageType: ''
    returnType: void
    signature: void InventoryManager::discoverFDs(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:37,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:38,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:39,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:40,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:41,1
    - Dst: deleteFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::InventoryManager::removeFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - std::get<pldm::eid>
    - deleteFirmwareEntry
    linkageType: ''
    returnType: void
    signature: void InventoryManager::removeFDs(const MctpInfos& mctpInfos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:48,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:53,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:57,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:61,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:62,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:65,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:69,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:71,1
    - Dst: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:73,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    - encode_query_device_identifiers_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDeviceIdentifiersRequest(mctp_eid_t
      eid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:90,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:101,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:106,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:114,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:126,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:131,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:150,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:156,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:163,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:168,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:169,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:173,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:174,1
    - Dst: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
      Src: /src/pldm/fw-update/inventory_manager.cpp:180,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 185
    functionName: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - error
    - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDeviceIdentifiers(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:190,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:195,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: encode_query_downstream_devices_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:197,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:200,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:201,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:204,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:210,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamDevices
      Src: /src/pldm/fw-update/inventory_manager.cpp:212,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDownstreamDevices
    - error
    - encode_query_downstream_devices_req
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDownstreamDevicesRequest(mctp_eid_t
      eid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:227,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:234,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/inventory_manager.cpp:252,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:256,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:271,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:276,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 296
    functionName: pldm::fw_update::InventoryManager::queryDownstreamDevices
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - info
    - error
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - decode_query_downstream_devices_resp
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamDevices(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:302,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:307,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:312,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:314,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:319,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:320,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:323,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:327,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:329,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:331,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 339
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_query_downstream_identifiers_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendQueryDownstreamIdentifiersRequest(\n    mctp_eid_t
      eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag transferOperationFlag)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:346,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:349,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:356,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:360,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:368,1
    - Dst: unsigned
      Src: /src/pldm/fw-update/inventory_manager.cpp:370,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:376,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:384,1
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: DownstreamDeviceInfo*::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:445,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:454,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:455,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:458,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:463,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:464,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 475
    functionName: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - decode_query_downstream_identifiers_resp
    - at
    - error
    - contains
    - const_cast<void*>
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - unsigned
    - std::move
    - erase
    - Descriptors::emplace
    - DownstreamDeviceInfo*::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamIdentifiers(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 442
    functionName: pldm::fw_update::foreach_pldm_downstream_device
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 433
    functionName: pldm::fw_update::foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:483,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:488,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:491,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:492,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:497,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:498,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:505,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:507,1
    - Dst: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:509,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 517
    functionName: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - error
    - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_get_downstream_firmware_parameters_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendGetDownstreamFirmwareParametersRequest(\n
      \   mctp_eid_t eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag
      transferOperationFlag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:524,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:527,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:535,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:540,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:548,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:563,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 577
    functionName: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - error
    - decode_get_downstream_firmware_parameters_resp
    - erase
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getDownstreamFirmwareParameters(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(params, entry,
      rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obtainDeviceNameFromConfigurations
      Src: /src/pldm/fw-update/inventory_manager.cpp:583,1
    - Dst: obtainDeviceNameFromDescriptors
      Src: /src/pldm/fw-update/inventory_manager.cpp:587,1
    - Dst: std::format
      Src: /src/pldm/fw-update/inventory_manager.cpp:592,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eid
    - ' descriptors'
    argTypes:
    - pldm::eid
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 596
    functionName: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - obtainDeviceNameFromDescriptors
    - std::format
    - insert_or_assign
    - obtainDeviceNameFromConfigurations
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::obtainFirmwareDeviceName(pldm::eid eid,\n                                                const
      Descriptors& descriptors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:600,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:605,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:609,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:613,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:614,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:620,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:622,1
    - Dst: pldm::fw_update::InventoryManager::getFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:624,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 632
    functionName: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - encode_get_firmware_parameters_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - Request::data
    - free
    - std::move
    - pldm::fw_update::InventoryManager::getFirmwareParameters
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendGetFirmwareParametersRequest(mctp_eid_t
      eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:639,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:642,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:651,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:656,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:665,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:679,1
    - Dst: auto::empty
      Src: /src/pldm/fw-update/inventory_manager.cpp:681,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:683,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:684,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:686,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:687,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:689,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:691,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/fw-update/inventory_manager.cpp:699,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:704,1
    - Dst: ComponentInfo::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:712,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:713,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:718,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/inventory_manager.cpp:719,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:721,1
    - Dst: SoftwareIdentifier
      Src: /src/pldm/fw-update/inventory_manager.cpp:722,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:728,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 740
    functionName: pldm::fw_update::InventoryManager::getFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - decode_get_firmware_parameters_resp
    - find
    - error
    - contains
    - at
    - SoftwareIdentifier
    - auto::empty
    - ComponentInfo::emplace
    - createFirmwareEntry
    - std::make_pair
    - erase
    - std::move
    - end
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    - std::to_string
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getFirmwareParameters(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:747,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/fw-update/inventory_manager.cpp:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' configurations'
    - eid
    argTypes:
    - Configurations
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: pldm::fw_update::obtainDeviceNameFromConfigurations
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<pldm::eid>
    - std::get<std::optional<std::string>>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromConfigurations(\n
      \   const Configurations& configurations, pldm::eid eid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/fw-update/inventory_manager.cpp:768,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/fw-update/inventory_manager.cpp:769,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/fw-update/inventory_manager.cpp:773,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/inventory_manager.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' descriptors'
    argTypes:
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: pldm::fw_update::obtainDeviceNameFromDescriptors
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<VendorDefinedDescriptorTitle>
    - auto::data
    - auto::size
    - reinterpret_cast<char*>
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromDescriptors(\n    const
      Descriptors& descriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:19,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:22,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::InventoryManager::discoverFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<pldm::eid>
    - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    linkageType: ''
    returnType: void
    signature: void InventoryManager::discoverFDs(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:37,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:38,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:39,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:40,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:41,1
    - Dst: deleteFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::InventoryManager::removeFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - std::get<pldm::eid>
    - deleteFirmwareEntry
    linkageType: ''
    returnType: void
    signature: void InventoryManager::removeFDs(const MctpInfos& mctpInfos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:48,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:53,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:57,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:61,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:62,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:65,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:69,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:71,1
    - Dst: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:73,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    - encode_query_device_identifiers_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDeviceIdentifiersRequest(mctp_eid_t
      eid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:90,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:101,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:106,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:114,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:126,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:131,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:150,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:156,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:163,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:168,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:169,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:173,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:174,1
    - Dst: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
      Src: /src/pldm/fw-update/inventory_manager.cpp:180,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 185
    functionName: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - error
    - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDeviceIdentifiers(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:190,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:195,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: encode_query_downstream_devices_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:197,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:200,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:201,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:204,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:210,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamDevices
      Src: /src/pldm/fw-update/inventory_manager.cpp:212,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDownstreamDevices
    - error
    - encode_query_downstream_devices_req
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDownstreamDevicesRequest(mctp_eid_t
      eid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:227,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:234,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/inventory_manager.cpp:252,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:256,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:271,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:276,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 296
    functionName: pldm::fw_update::InventoryManager::queryDownstreamDevices
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - info
    - error
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - decode_query_downstream_devices_resp
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamDevices(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:302,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:307,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:312,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:314,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:319,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:320,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:323,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:327,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:329,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:331,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 339
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_query_downstream_identifiers_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendQueryDownstreamIdentifiersRequest(\n    mctp_eid_t
      eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag transferOperationFlag)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:346,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:349,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:356,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:360,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:368,1
    - Dst: unsigned
      Src: /src/pldm/fw-update/inventory_manager.cpp:370,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:376,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:384,1
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: DownstreamDeviceInfo*::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:445,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:454,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:455,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:458,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:463,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:464,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 475
    functionName: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - decode_query_downstream_identifiers_resp
    - at
    - error
    - contains
    - const_cast<void*>
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - unsigned
    - std::move
    - erase
    - Descriptors::emplace
    - DownstreamDeviceInfo*::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamIdentifiers(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 442
    functionName: pldm::fw_update::foreach_pldm_downstream_device
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 433
    functionName: pldm::fw_update::foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:483,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:488,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:491,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:492,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:497,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:498,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:505,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:507,1
    - Dst: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:509,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 517
    functionName: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - error
    - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_get_downstream_firmware_parameters_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendGetDownstreamFirmwareParametersRequest(\n
      \   mctp_eid_t eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag
      transferOperationFlag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:524,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:527,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:535,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:540,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:548,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:563,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 577
    functionName: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - error
    - decode_get_downstream_firmware_parameters_resp
    - erase
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getDownstreamFirmwareParameters(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(params, entry,
      rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obtainDeviceNameFromConfigurations
      Src: /src/pldm/fw-update/inventory_manager.cpp:583,1
    - Dst: obtainDeviceNameFromDescriptors
      Src: /src/pldm/fw-update/inventory_manager.cpp:587,1
    - Dst: std::format
      Src: /src/pldm/fw-update/inventory_manager.cpp:592,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eid
    - ' descriptors'
    argTypes:
    - pldm::eid
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 596
    functionName: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - obtainDeviceNameFromDescriptors
    - std::format
    - insert_or_assign
    - obtainDeviceNameFromConfigurations
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::obtainFirmwareDeviceName(pldm::eid eid,\n                                                const
      Descriptors& descriptors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:600,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:605,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:609,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:613,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:614,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:620,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:622,1
    - Dst: pldm::fw_update::InventoryManager::getFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:624,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 632
    functionName: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - encode_get_firmware_parameters_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - Request::data
    - free
    - std::move
    - pldm::fw_update::InventoryManager::getFirmwareParameters
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendGetFirmwareParametersRequest(mctp_eid_t
      eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:639,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:642,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:651,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:656,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:665,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:679,1
    - Dst: auto::empty
      Src: /src/pldm/fw-update/inventory_manager.cpp:681,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:683,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:684,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:686,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:687,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:689,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:691,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/fw-update/inventory_manager.cpp:699,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:704,1
    - Dst: ComponentInfo::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:712,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:713,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:718,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/inventory_manager.cpp:719,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:721,1
    - Dst: SoftwareIdentifier
      Src: /src/pldm/fw-update/inventory_manager.cpp:722,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:728,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 740
    functionName: pldm::fw_update::InventoryManager::getFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - decode_get_firmware_parameters_resp
    - find
    - error
    - contains
    - at
    - SoftwareIdentifier
    - auto::empty
    - ComponentInfo::emplace
    - createFirmwareEntry
    - std::make_pair
    - erase
    - std::move
    - end
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    - std::to_string
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getFirmwareParameters(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:747,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/fw-update/inventory_manager.cpp:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' configurations'
    - eid
    argTypes:
    - Configurations
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: pldm::fw_update::obtainDeviceNameFromConfigurations
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<pldm::eid>
    - std::get<std::optional<std::string>>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromConfigurations(\n
      \   const Configurations& configurations, pldm::eid eid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/fw-update/inventory_manager.cpp:768,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/fw-update/inventory_manager.cpp:769,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/fw-update/inventory_manager.cpp:773,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/inventory_manager.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' descriptors'
    argTypes:
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: pldm::fw_update::obtainDeviceNameFromDescriptors
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<VendorDefinedDescriptorTitle>
    - auto::data
    - auto::size
    - reinterpret_cast<char*>
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromDescriptors(\n    const
      Descriptors& descriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:19,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:22,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::InventoryManager::discoverFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<pldm::eid>
    - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    linkageType: ''
    returnType: void
    signature: void InventoryManager::discoverFDs(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:37,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:38,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:39,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:40,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:41,1
    - Dst: deleteFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::InventoryManager::removeFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - std::get<pldm::eid>
    - deleteFirmwareEntry
    linkageType: ''
    returnType: void
    signature: void InventoryManager::removeFDs(const MctpInfos& mctpInfos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:48,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:53,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:57,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:61,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:62,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:65,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:69,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:71,1
    - Dst: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:73,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    - encode_query_device_identifiers_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDeviceIdentifiersRequest(mctp_eid_t
      eid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:90,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:101,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:106,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:114,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:126,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:131,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:150,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:156,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:163,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:168,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:169,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:173,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:174,1
    - Dst: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
      Src: /src/pldm/fw-update/inventory_manager.cpp:180,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 185
    functionName: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - error
    - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDeviceIdentifiers(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:190,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:195,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: encode_query_downstream_devices_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:197,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:200,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:201,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:204,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:210,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamDevices
      Src: /src/pldm/fw-update/inventory_manager.cpp:212,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDownstreamDevices
    - error
    - encode_query_downstream_devices_req
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDownstreamDevicesRequest(mctp_eid_t
      eid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:227,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:234,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/inventory_manager.cpp:252,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:256,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:271,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:276,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 296
    functionName: pldm::fw_update::InventoryManager::queryDownstreamDevices
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - info
    - error
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - decode_query_downstream_devices_resp
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamDevices(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:302,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:307,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:312,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:314,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:319,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:320,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:323,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:327,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:329,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:331,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 339
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 5
    functionsReached:
    - static_cast<uint8_t>
    - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_query_downstream_identifiers_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendQueryDownstreamIdentifiersRequest(\n    mctp_eid_t
      eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag transferOperationFlag)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:346,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:349,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:356,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:360,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:368,1
    - Dst: unsigned
      Src: /src/pldm/fw-update/inventory_manager.cpp:370,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:376,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:384,1
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: DownstreamDeviceInfo*::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:445,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:454,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:455,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:458,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:463,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:464,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 475
    functionName: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - decode_query_downstream_identifiers_resp
    - at
    - error
    - contains
    - const_cast<void*>
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - unsigned
    - std::move
    - erase
    - Descriptors::emplace
    - DownstreamDeviceInfo*::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamIdentifiers(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 442
    functionName: pldm::fw_update::foreach_pldm_downstream_device
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 433
    functionName: pldm::fw_update::foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:483,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:488,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:491,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:492,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:497,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:498,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:505,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:507,1
    - Dst: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:509,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 517
    functionName: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 5
    functionsReached:
    - static_cast<uint8_t>
    - error
    - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_get_downstream_firmware_parameters_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendGetDownstreamFirmwareParametersRequest(\n
      \   mctp_eid_t eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag
      transferOperationFlag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:524,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:527,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:535,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:540,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:548,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:563,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 577
    functionName: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - error
    - decode_get_downstream_firmware_parameters_resp
    - erase
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getDownstreamFirmwareParameters(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(params, entry,
      rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obtainDeviceNameFromConfigurations
      Src: /src/pldm/fw-update/inventory_manager.cpp:583,1
    - Dst: obtainDeviceNameFromDescriptors
      Src: /src/pldm/fw-update/inventory_manager.cpp:587,1
    - Dst: std::format
      Src: /src/pldm/fw-update/inventory_manager.cpp:592,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eid
    - ' descriptors'
    argTypes:
    - pldm::eid
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 596
    functionName: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - obtainDeviceNameFromDescriptors
    - std::format
    - insert_or_assign
    - obtainDeviceNameFromConfigurations
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::obtainFirmwareDeviceName(pldm::eid eid,\n                                                const
      Descriptors& descriptors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:600,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:605,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:609,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:613,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:614,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:620,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:622,1
    - Dst: pldm::fw_update::InventoryManager::getFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:624,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 632
    functionName: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - encode_get_firmware_parameters_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - Request::data
    - free
    - std::move
    - pldm::fw_update::InventoryManager::getFirmwareParameters
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendGetFirmwareParametersRequest(mctp_eid_t
      eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:639,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:642,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:651,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:656,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:665,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:679,1
    - Dst: auto::empty
      Src: /src/pldm/fw-update/inventory_manager.cpp:681,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:683,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:684,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:686,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:687,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:689,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:691,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/fw-update/inventory_manager.cpp:699,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:704,1
    - Dst: ComponentInfo::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:712,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:713,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:718,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/inventory_manager.cpp:719,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:721,1
    - Dst: SoftwareIdentifier
      Src: /src/pldm/fw-update/inventory_manager.cpp:722,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:728,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 740
    functionName: pldm::fw_update::InventoryManager::getFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 3
    functionsReached:
    - decode_get_firmware_parameters_resp
    - find
    - error
    - contains
    - at
    - SoftwareIdentifier
    - auto::empty
    - ComponentInfo::emplace
    - createFirmwareEntry
    - std::make_pair
    - erase
    - std::move
    - end
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    - std::to_string
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getFirmwareParameters(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:747,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/fw-update/inventory_manager.cpp:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' configurations'
    - eid
    argTypes:
    - Configurations
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: pldm::fw_update::obtainDeviceNameFromConfigurations
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<pldm::eid>
    - std::get<std::optional<std::string>>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromConfigurations(\n
      \   const Configurations& configurations, pldm::eid eid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/fw-update/inventory_manager.cpp:768,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/fw-update/inventory_manager.cpp:769,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/fw-update/inventory_manager.cpp:773,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/inventory_manager.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' descriptors'
    argTypes:
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: pldm::fw_update::obtainDeviceNameFromDescriptors
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<VendorDefinedDescriptorTitle>
    - auto::data
    - auto::size
    - reinterpret_cast<char*>
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromDescriptors(\n    const
      Descriptors& descriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:19,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:22,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::InventoryManager::discoverFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - error
    - std::get<pldm::eid>
    - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    linkageType: ''
    returnType: void
    signature: void InventoryManager::discoverFDs(const MctpInfos& mctpInfos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:37,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:38,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:39,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:40,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:41,1
    - Dst: deleteFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::InventoryManager::removeFDs
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    - std::get<pldm::eid>
    - deleteFirmwareEntry
    linkageType: ''
    returnType: void
    signature: void InventoryManager::removeFDs(const MctpInfos& mctpInfos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:48,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:51,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:53,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:56,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:57,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:61,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:62,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:65,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:69,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:71,1
    - Dst: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:73,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    - encode_query_device_identifiers_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDeviceIdentifiersRequest(mctp_eid_t
      eid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:90,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:101,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:106,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:114,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:126,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:131,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:142,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:150,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:156,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:163,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:168,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:169,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:173,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/inventory_manager.cpp:174,1
    - Dst: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
      Src: /src/pldm/fw-update/inventory_manager.cpp:180,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:181,1
    - Dst: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 185
    functionName: pldm::fw_update::InventoryManager::queryDeviceIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - std::make_tuple
    - pldm_descriptor_tlv
    - decode_descriptor_type_length_value
    - decode_query_device_identifiers_resp
    - error
    - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDeviceIdentifiers(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:190,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:193,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:195,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:196,1
    - Dst: encode_query_downstream_devices_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:197,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:200,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:201,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:204,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:208,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:210,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamDevices
      Src: /src/pldm/fw-update/inventory_manager.cpp:212,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::InventoryManager::queryDownstreamDevices
    - error
    - encode_query_downstream_devices_req
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendQueryDownstreamDevicesRequest(mctp_eid_t
      eid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:227,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:234,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/inventory_manager.cpp:252,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:256,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:271,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:276,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 296
    functionName: pldm::fw_update::InventoryManager::queryDownstreamDevices
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - info
    - error
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - decode_query_downstream_devices_resp
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamDevices(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:302,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:305,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:307,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:310,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:312,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:314,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:319,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:320,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:323,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:327,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:329,1
    - Dst: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/inventory_manager.cpp:331,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 339
    functionName: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_query_downstream_identifiers_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendQueryDownstreamIdentifiersRequest(\n    mctp_eid_t
      eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag transferOperationFlag)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:346,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:349,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:356,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:360,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:368,1
    - Dst: unsigned
      Src: /src/pldm/fw-update/inventory_manager.cpp:370,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:376,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:384,1
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: DownstreamDeviceInfo*::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:445,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:454,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:455,1
    - Dst: pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:458,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:463,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:464,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 475
    functionName: pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - std::make_tuple
    - decode_query_downstream_identifiers_resp
    - at
    - error
    - contains
    - const_cast<void*>
    - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
    - unsigned
    - std::move
    - erase
    - Descriptors::emplace
    - DownstreamDeviceInfo*::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::queryDownstreamIdentifiers(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:436,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 442
    functionName: pldm::fw_update::foreach_pldm_downstream_device
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: uint8_t::uint8_t
      Src: /src/pldm/fw-update/inventory_manager.cpp:395,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:401,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/inventory_manager.cpp:409,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:416,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:423,1
    - Dst: emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:428,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/inventory_manager.cpp:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 433
    functionName: pldm::fw_update::foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - emplace
    - error
    - const_cast<void*>
    - std::move
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:483,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:486,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:488,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:489,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/inventory_manager.cpp:491,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:492,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:497,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:498,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/inventory_manager.cpp:501,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:505,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:507,1
    - Dst: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:509,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - eid
    - dataTransferHandle
    - transferOperationFlag
    argTypes:
    - mctp_eid_t
    - uint32_t
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 517
    functionName: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 7
    functionsReached:
    - static_cast<uint8_t>
    - error
    - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    - pldm::InstanceIdError::InstanceIdError
    - next
    - std::runtime_error
    - Request::data
    - free
    - registerRequest
    - std::move
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    - encode_get_downstream_firmware_parameters_req
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::sendGetDownstreamFirmwareParametersRequest(\n
      \   mctp_eid_t eid, uint32_t dataTransferHandle,\n    enum transfer_op_flag
      transferOperationFlag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:524,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:527,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:535,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:540,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:548,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:563,1
    - Dst: pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 577
    functionName: pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - error
    - decode_get_downstream_firmware_parameters_resp
    - erase
    - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getDownstreamFirmwareParameters(\n    mctp_eid_t
      eid, const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(params, entry,
      rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obtainDeviceNameFromConfigurations
      Src: /src/pldm/fw-update/inventory_manager.cpp:583,1
    - Dst: obtainDeviceNameFromDescriptors
      Src: /src/pldm/fw-update/inventory_manager.cpp:587,1
    - Dst: std::format
      Src: /src/pldm/fw-update/inventory_manager.cpp:592,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - eid
    - ' descriptors'
    argTypes:
    - pldm::eid
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 596
    functionName: pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - obtainDeviceNameFromDescriptors
    - std::format
    - insert_or_assign
    - obtainDeviceNameFromConfigurations
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::obtainFirmwareDeviceName(pldm::eid eid,\n                                                const
      Descriptors& descriptors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/pldm/fw-update/inventory_manager.cpp:600,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/inventory_manager.cpp:603,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/inventory_manager.cpp:605,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/inventory_manager.cpp:608,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/pldm/fw-update/inventory_manager.cpp:609,1
    - Dst: free
      Src: /src/pldm/fw-update/inventory_manager.cpp:613,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:614,1
    - Dst: registerRequest
      Src: /src/pldm/fw-update/inventory_manager.cpp:620,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:622,1
    - Dst: pldm::fw_update::InventoryManager::getFirmwareParameters
      Src: /src/pldm/fw-update/inventory_manager.cpp:624,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - eid
    argTypes:
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 632
    functionName: pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - encode_get_firmware_parameters_req
    - error
    - pldm::InstanceIdError::InstanceIdError
    - next
    - registerRequest
    - Request::data
    - free
    - std::move
    - pldm::fw_update::InventoryManager::getFirmwareParameters
    - pldm_msg::pldm_msg
    - auto::value
    - auto::error
    linkageType: ''
    returnType: void
    signature: void InventoryManager::sendGetFirmwareParametersRequest(mctp_eid_t
      eid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:639,1
    - Dst: erase
      Src: /src/pldm/fw-update/inventory_manager.cpp:642,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/pldm/fw-update/inventory_manager.cpp:651,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:656,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:665,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:679,1
    - Dst: auto::empty
      Src: /src/pldm/fw-update/inventory_manager.cpp:681,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:683,1
    - Dst: find
      Src: /src/pldm/fw-update/inventory_manager.cpp:684,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:686,1
    - Dst: end
      Src: /src/pldm/fw-update/inventory_manager.cpp:687,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:689,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:691,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/pldm/fw-update/inventory_manager.cpp:699,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:704,1
    - Dst: ComponentInfo::emplace
      Src: /src/pldm/fw-update/inventory_manager.cpp:712,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/inventory_manager.cpp:713,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: contains
      Src: /src/pldm/fw-update/inventory_manager.cpp:716,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:718,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/inventory_manager.cpp:719,1
    - Dst: createFirmwareEntry
      Src: /src/pldm/fw-update/inventory_manager.cpp:721,1
    - Dst: SoftwareIdentifier
      Src: /src/pldm/fw-update/inventory_manager.cpp:722,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: at
      Src: /src/pldm/fw-update/inventory_manager.cpp:723,1
    - Dst: error
      Src: /src/pldm/fw-update/inventory_manager.cpp:728,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    - Dst: std::move
      Src: /src/pldm/fw-update/inventory_manager.cpp:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 740
    functionName: pldm::fw_update::InventoryManager::getFirmwareParameters
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 4
    functionsReached:
    - decode_get_firmware_parameters_resp
    - find
    - error
    - contains
    - at
    - SoftwareIdentifier
    - auto::empty
    - ComponentInfo::emplace
    - createFirmwareEntry
    - std::make_pair
    - erase
    - std::move
    - end
    - pldm::utils::toString
    - decode_get_firmware_parameters_resp_comp_entry
    - std::to_string
    - insert_or_assign
    linkageType: ''
    returnType: void
    signature: "void InventoryManager::getFirmwareParameters(\n    mctp_eid_t eid,
      const pldm_msg* response, size_t respMsgLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/inventory_manager.cpp:747,1
    - Dst: std::get<std::optional<std::string>>
      Src: /src/pldm/fw-update/inventory_manager.cpp:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' configurations'
    - eid
    argTypes:
    - Configurations
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: pldm::fw_update::obtainDeviceNameFromConfigurations
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<pldm::eid>
    - std::get<std::optional<std::string>>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromConfigurations(\n
      \   const Configurations& configurations, pldm::eid eid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::get<VendorDefinedDescriptorInfo>
      Src: /src/pldm/fw-update/inventory_manager.cpp:768,1
    - Dst: std::get<VendorDefinedDescriptorTitle>
      Src: /src/pldm/fw-update/inventory_manager.cpp:769,1
    - Dst: std::get<VendorDefinedDescriptorData>
      Src: /src/pldm/fw-update/inventory_manager.cpp:773,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::data
      Src: /src/pldm/fw-update/inventory_manager.cpp:775,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/inventory_manager.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' descriptors'
    argTypes:
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: pldm::fw_update::obtainDeviceNameFromDescriptors
    functionSourceFile: /src/pldm/fw-update/inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<VendorDefinedDescriptorTitle>
    - auto::data
    - auto::size
    - reinterpret_cast<char*>
    - std::get<VendorDefinedDescriptorInfo>
    - std::get<VendorDefinedDescriptorData>
    linkageType: ''
    returnType: std::optional<SoftwareName>
    signature: "std::optional<SoftwareName> obtainDeviceNameFromDescriptors(\n    const
      Descriptors& descriptors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: activation::activation
      Src: /src/pldm/fw-update/update.cpp:19,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update.cpp:22,1
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/update.cpp:26,1
    - Dst: info
      Src: /src/pldm/fw-update/update.cpp:30,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: std::string
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: read
      Src: /src/pldm/fw-update/update.cpp:35,1
    - Dst: write
      Src: /src/pldm/fw-update/update.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/update.cpp:42,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: processStreamDefer
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::Update::startUpdate
    functionSourceFile: /src/pldm/fw-update/update.cpp
    functionUses: 0
    functionsReached:
    - sdbusplus::object_path
    - write
    - processStreamDefer
    - str
    - std::runtime_error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - info
    - read
    - activation::activation
    - resetActivationState
    - std::string
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path Update::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes applyTime [[maybe_unused]])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: activation::activation
      Src: /src/pldm/fw-update/update.cpp:19,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update.cpp:22,1
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/update.cpp:26,1
    - Dst: info
      Src: /src/pldm/fw-update/update.cpp:30,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: std::string
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: read
      Src: /src/pldm/fw-update/update.cpp:35,1
    - Dst: write
      Src: /src/pldm/fw-update/update.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/update.cpp:42,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: processStreamDefer
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::Update::startUpdate
    functionSourceFile: /src/pldm/fw-update/update.cpp
    functionUses: 0
    functionsReached:
    - sdbusplus::object_path
    - write
    - processStreamDefer
    - str
    - std::runtime_error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - info
    - read
    - activation::activation
    - resetActivationState
    - std::string
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path Update::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes applyTime [[maybe_unused]])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: activation::activation
      Src: /src/pldm/fw-update/update.cpp:19,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update.cpp:22,1
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/update.cpp:26,1
    - Dst: info
      Src: /src/pldm/fw-update/update.cpp:30,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: std::string
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: read
      Src: /src/pldm/fw-update/update.cpp:35,1
    - Dst: write
      Src: /src/pldm/fw-update/update.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/update.cpp:42,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: processStreamDefer
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::Update::startUpdate
    functionSourceFile: /src/pldm/fw-update/update.cpp
    functionUses: 0
    functionsReached:
    - sdbusplus::object_path
    - write
    - processStreamDefer
    - str
    - std::runtime_error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - info
    - read
    - activation::activation
    - resetActivationState
    - std::string
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path Update::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes applyTime [[maybe_unused]])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: activation::activation
      Src: /src/pldm/fw-update/update.cpp:19,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update.cpp:22,1
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/update.cpp:26,1
    - Dst: info
      Src: /src/pldm/fw-update/update.cpp:30,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: std::string
      Src: /src/pldm/fw-update/update.cpp:33,1
    - Dst: read
      Src: /src/pldm/fw-update/update.cpp:35,1
    - Dst: write
      Src: /src/pldm/fw-update/update.cpp:37,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/update.cpp:42,1
    - Dst: sdbusplus::object_path
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: processStreamDefer
      Src: /src/pldm/fw-update/update.cpp:45,1
    - Dst: str
      Src: /src/pldm/fw-update/update.cpp:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::Update::startUpdate
    functionSourceFile: /src/pldm/fw-update/update.cpp
    functionUses: 0
    functionsReached:
    - sdbusplus::object_path
    - write
    - processStreamDefer
    - str
    - std::runtime_error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - info
    - read
    - activation::activation
    - resetActivationState
    - std::string
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path Update::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes applyTime [[maybe_unused]])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const InventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(InventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~InventoryManager()
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - dbusHandler
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' downstreamDescriptorMap'
    - ' componentInfoMap'
    - ' configurations'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - DownstreamDescriptorMap
    - ComponentInfoMap
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InventoryManager(\n        const pldm::utils::DBusHandler* dbusHandler,\n
      \       pldm::requester::Handler<pldm::requester::Request>& handler,\n        InstanceIdDb&
      instanceIdDb, DescriptorMap& descriptorMap,\n        DownstreamDescriptorMap&
      downstreamDescriptorMap,\n        ComponentInfoMap& componentInfoMap,\n        const
      Configurations& configurations,\n        AggregateUpdateManager& updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const InventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(InventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~InventoryManager()
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - dbusHandler
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' downstreamDescriptorMap'
    - ' componentInfoMap'
    - ' configurations'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - DownstreamDescriptorMap
    - ComponentInfoMap
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InventoryManager(\n        const pldm::utils::DBusHandler* dbusHandler,\n
      \       pldm::requester::Handler<pldm::requester::Request>& handler,\n        InstanceIdDb&
      instanceIdDb, DescriptorMap& descriptorMap,\n        DownstreamDescriptorMap&
      downstreamDescriptorMap,\n        ComponentInfoMap& componentInfoMap,\n        const
      Configurations& configurations,\n        AggregateUpdateManager& updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const InventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(InventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~InventoryManager()
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - dbusHandler
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' downstreamDescriptorMap'
    - ' componentInfoMap'
    - ' configurations'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - DownstreamDescriptorMap
    - ComponentInfoMap
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InventoryManager(\n        const pldm::utils::DBusHandler* dbusHandler,\n
      \       pldm::requester::Handler<pldm::requester::Request>& handler,\n        InstanceIdDb&
      instanceIdDb, DescriptorMap& descriptorMap,\n        DownstreamDescriptorMap&
      downstreamDescriptorMap,\n        ComponentInfoMap& componentInfoMap,\n        const
      Configurations& configurations,\n        AggregateUpdateManager& updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InventoryManager(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(const InventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(const InventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(InventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: InventoryManager
    signature: InventoryManager & operator=(InventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~InventoryManager()
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - dbusHandler
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' downstreamDescriptorMap'
    - ' componentInfoMap'
    - ' configurations'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - DownstreamDescriptorMap
    - ComponentInfoMap
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: pldm::fw_update::InventoryManager::InventoryManager
    functionSourceFile: /src/pldm/fw-update/inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InventoryManager(\n        const pldm::utils::DBusHandler* dbusHandler,\n
      \       pldm::requester::Handler<pldm::requester::Request>& handler,\n        InstanceIdDb&
      instanceIdDb, DescriptorMap& descriptorMap,\n        DownstreamDescriptorMap&
      downstreamDescriptorMap,\n        ComponentInfoMap& componentInfoMap,\n        const
      Configurations& configurations,\n        AggregateUpdateManager& updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~UpdateManagerBase()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const UpdateManagerBase&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateManagerBase&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateManagerBase(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& operator=(const UpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(UpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~UpdateManager()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/fw-update/update_manager.hpp:95,1
    - Dst: pldm::fw_update::UpdateManager::processPackage
      Src: /src/pldm/fw-update/update_manager.hpp:97,1
    - Dst: std::filesystem::path
      Src: /src/pldm/fw-update/update_manager.hpp:98,1
    - Dst: std::make_unique<Update>
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_unique<Update>
    - pldm::fw_update::UpdateManager::processPackage
    - std::filesystem::path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void UpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~UpdateManagerBase()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const UpdateManagerBase&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateManagerBase&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateManagerBase(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& operator=(const UpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(UpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~UpdateManager()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/fw-update/update_manager.hpp:95,1
    - Dst: pldm::fw_update::UpdateManager::processPackage
      Src: /src/pldm/fw-update/update_manager.hpp:97,1
    - Dst: std::filesystem::path
      Src: /src/pldm/fw-update/update_manager.hpp:98,1
    - Dst: std::make_unique<Update>
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_unique<Update>
    - pldm::fw_update::UpdateManager::processPackage
    - std::filesystem::path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void UpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~UpdateManagerBase()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const UpdateManagerBase&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateManagerBase&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateManagerBase(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& operator=(const UpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(UpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~UpdateManager()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/fw-update/update_manager.hpp:95,1
    - Dst: pldm::fw_update::UpdateManager::processPackage
      Src: /src/pldm/fw-update/update_manager.hpp:97,1
    - Dst: std::filesystem::path
      Src: /src/pldm/fw-update/update_manager.hpp:98,1
    - Dst: std::make_unique<Update>
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_unique<Update>
    - pldm::fw_update::UpdateManager::processPackage
    - std::filesystem::path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void UpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~UpdateManagerBase()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManagerBase(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const UpdateManagerBase&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(const UpdateManagerBase&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateManagerBase&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManagerBase
    signature: UpdateManagerBase & operator=(UpdateManagerBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::UpdateManagerBase::UpdateManagerBase
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UpdateManagerBase(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateManager(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: '& operator=(const UpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(const UpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: '& operator=(UpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateManager
    signature: UpdateManager & operator=(UpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: ~UpdateManager()
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/pldm/fw-update/update_manager.hpp:95,1
    - Dst: pldm::fw_update::UpdateManager::processPackage
      Src: /src/pldm/fw-update/update_manager.hpp:97,1
    - Dst: std::filesystem::path
      Src: /src/pldm/fw-update/update_manager.hpp:98,1
    - Dst: std::make_unique<Update>
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.hpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: pldm::fw_update::UpdateManager::UpdateManager
    functionSourceFile: /src/pldm/fw-update/update_manager.hpp
    functionUses: 0
    functionsReached:
    - get
    - std::make_unique<Update>
    - pldm::fw_update::UpdateManager::processPackage
    - std::filesystem::path
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void UpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/fw-update/update_manager.cpp:28,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/fw-update/update_manager.cpp:29,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::UpdateManager::getSwId
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string UpdateManager::getSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:50,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:53,1
    - Dst: pldm::fw_update::UpdateManager::resetActivationState
      Src: /src/pldm/fw-update/update_manager.cpp:58,1
    - Dst: open
      Src: /src/pldm/fw-update/update_manager.cpp:62,1
    - Dst: good
      Src: /src/pldm/fw-update/update_manager.cpp:64,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:66,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:69,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:70,1
    - Dst: tellg
      Src: /src/pldm/fw-update/update_manager.cpp:74,1
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:76,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:83,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:88,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:90,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' packageFilePath'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: pldm::fw_update::UpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - activation
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::resetActivationState
    - error
    - pldm::fw_update::UpdateManager::getSwId
    - std::filesystem::remove
    - good
    - tellg
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int UpdateManager::processPackage(const std::filesystem::path& packageFilePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:99,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:105,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update_manager.cpp:107,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/update_manager.cpp:110,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: pldm::fw_update::UpdateManager::processStreamDefer
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::getSwId
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: std::string
    signature: "std::string UpdateManager::processStreamDefer(std::istream& package,\n
      \                                             uintmax_t packageSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:120,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:123,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:128,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:130,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:131,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:135,1
    - Dst: read
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: std::vector::data
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/update_manager.cpp:139,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:142,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:143,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:144,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:146,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:147,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:151,1
    - Dst: parse
      Src: /src/pldm/fw-update/update_manager.cpp:154,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:158,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:159,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:160,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:162,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:163,1
    - Dst: pldm::fw_update::UpdateManager::associatePkgToDevices
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/update_manager.cpp:170,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:172,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:174,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:175,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:177,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
      Src: /src/pldm/fw-update/update_manager.cpp:178,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:182,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/update_manager.cpp:183,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:190,1
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:191,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/update_manager.cpp:193,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:198,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:199,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/update_manager.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:202,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 207
    functionName: pldm::fw_update::UpdateManager::processStream
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 2
    functionsReached:
    - pldm::fw_update::UpdateManager::associatePkgToDevices
    - emplace
    - std::vector::data
    - find
    - std::make_unique<DeviceUpdater>
    - auto::size
    - reset
    - cb_now
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
    - activation
    - error
    - pldm::utils::DBusHandler::getBus
    - std::make_unique<ActivationProgress>
    - std::make_unique<Activation>
    - parse
    - reinterpret_cast<char*>
    - getComponentImageInfos
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
    - getFwDeviceIDRecords
    - read
    - parsePkgHeader
    - seekg
    linkageType: ''
    returnType: void
    signature: void UpdateManager::processStream(std::istream& package, uintmax_t
      packageSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:215,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/update_manager.cpp:218,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:222,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:223,1
    - Dst: DeviceUpdaterInfos::emplace_back
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/update_manager.cpp:227,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptorMap'
    - ' totalNumComponentUpdates'
    argTypes:
    - FirmwareDeviceIDRecords
    - DescriptorMap
    - TotalComponentUpdates
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::fw_update::UpdateManager::associatePkgToDevices
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::get<Descriptors>
    - DeviceUpdaterInfos::emplace_back
    - std::make_pair
    - std::get<ApplicableComponents>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: DeviceUpdaterInfos
    signature: "DeviceUpdaterInfos UpdateManager::associatePkgToDevices(\n    const
      FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const DescriptorMap& descriptorMap,\n
      \   TotalComponentUpdates& totalNumComponentUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:237,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:244,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:245,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:251,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/update_manager.cpp:253,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:255,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eid
    - status
    argTypes:
    - mctp_eid_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: pldm::fw_update::UpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - emplace
    - size
    - std::chrono::duration<double, std::milli>
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateDeviceCompletion(mctp_eid_t eid, bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/fw-update/update_manager.cpp:265,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:267,1
    - Dst: auto::second::requestFwData
      Src: /src/pldm/fw-update/update_manager.cpp:270,1
    - Dst: auto::second::transferComplete
      Src: /src/pldm/fw-update/update_manager.cpp:274,1
    - Dst: auto::second::verifyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:278,1
    - Dst: auto::second::applyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:282,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:287,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:290,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:296,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/pldm/fw-update/update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/pldm/fw-update/update_manager.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: pldm::fw_update::UpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - find
    - contains
    - assert
    - auto::second::requestFwData
    - auto::second::transferComplete
    - auto::second::verifyComplete
    - auto::second::applyComplete
    - pldm_msg::pldm_msg
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response UpdateManager::handleRequest(mctp_eid_t eid, uint8_t command,\n
      \                                     const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:307,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/update_manager.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: pldm::fw_update::UpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void UpdateManager::activatePackage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:316,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:317,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:318,1
    - Dst: is_open
      Src: /src/pldm/fw-update/update_manager.cpp:320,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:322,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:324,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:325,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:326,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: pldm::fw_update::UpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 1
    functionsReached:
    - clear
    - std::filesystem::remove
    - reset
    - is_open
    - close
    linkageType: ''
    returnType: void
    signature: void UpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::min_element
      Src: /src/pldm/fw-update/update_manager.cpp:334,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:339,1
    - Dst: auto::second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:344,1
    - Dst: progress
      Src: /src/pldm/fw-update/update_manager.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: pldm::fw_update::UpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::min_element
    - progress
    - second::getProgress
    - auto::second::getProgress
    - end
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateActivationProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/fw-update/update_manager.cpp:28,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/fw-update/update_manager.cpp:29,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::UpdateManager::getSwId
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 2
    functionsReached:
    - cb_now
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string UpdateManager::getSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:50,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:53,1
    - Dst: pldm::fw_update::UpdateManager::resetActivationState
      Src: /src/pldm/fw-update/update_manager.cpp:58,1
    - Dst: open
      Src: /src/pldm/fw-update/update_manager.cpp:62,1
    - Dst: good
      Src: /src/pldm/fw-update/update_manager.cpp:64,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:66,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:69,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:70,1
    - Dst: tellg
      Src: /src/pldm/fw-update/update_manager.cpp:74,1
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:76,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:83,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:88,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:90,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' packageFilePath'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: pldm::fw_update::UpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - activation
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::resetActivationState
    - error
    - pldm::fw_update::UpdateManager::getSwId
    - std::filesystem::remove
    - good
    - tellg
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int UpdateManager::processPackage(const std::filesystem::path& packageFilePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:99,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:105,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update_manager.cpp:107,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/update_manager.cpp:110,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: pldm::fw_update::UpdateManager::processStreamDefer
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::getSwId
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: std::string
    signature: "std::string UpdateManager::processStreamDefer(std::istream& package,\n
      \                                             uintmax_t packageSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:120,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:123,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:128,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:130,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:131,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:135,1
    - Dst: read
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: std::vector::data
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/update_manager.cpp:139,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:142,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:143,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:144,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:146,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:147,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:151,1
    - Dst: parse
      Src: /src/pldm/fw-update/update_manager.cpp:154,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:158,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:159,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:160,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:162,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:163,1
    - Dst: pldm::fw_update::UpdateManager::associatePkgToDevices
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/update_manager.cpp:170,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:172,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:174,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:175,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:177,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
      Src: /src/pldm/fw-update/update_manager.cpp:178,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:182,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/update_manager.cpp:183,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:190,1
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:191,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/update_manager.cpp:193,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:198,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:199,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/update_manager.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:202,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 207
    functionName: pldm::fw_update::UpdateManager::processStream
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - pldm::fw_update::UpdateManager::associatePkgToDevices
    - emplace
    - std::vector::data
    - find
    - std::make_unique<DeviceUpdater>
    - auto::size
    - reset
    - cb_now
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
    - activation
    - error
    - pldm::utils::DBusHandler::getBus
    - std::make_unique<ActivationProgress>
    - std::make_unique<Activation>
    - parse
    - reinterpret_cast<char*>
    - getComponentImageInfos
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
    - getFwDeviceIDRecords
    - read
    - parsePkgHeader
    - seekg
    linkageType: ''
    returnType: void
    signature: void UpdateManager::processStream(std::istream& package, uintmax_t
      packageSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:215,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/update_manager.cpp:218,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:222,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:223,1
    - Dst: DeviceUpdaterInfos::emplace_back
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/update_manager.cpp:227,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptorMap'
    - ' totalNumComponentUpdates'
    argTypes:
    - FirmwareDeviceIDRecords
    - DescriptorMap
    - TotalComponentUpdates
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::fw_update::UpdateManager::associatePkgToDevices
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::get<Descriptors>
    - DeviceUpdaterInfos::emplace_back
    - std::make_pair
    - std::get<ApplicableComponents>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: DeviceUpdaterInfos
    signature: "DeviceUpdaterInfos UpdateManager::associatePkgToDevices(\n    const
      FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const DescriptorMap& descriptorMap,\n
      \   TotalComponentUpdates& totalNumComponentUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:237,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:244,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:245,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:251,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/update_manager.cpp:253,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:255,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eid
    - status
    argTypes:
    - mctp_eid_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: pldm::fw_update::UpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - emplace
    - size
    - std::chrono::duration<double, std::milli>
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateDeviceCompletion(mctp_eid_t eid, bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/fw-update/update_manager.cpp:265,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:267,1
    - Dst: auto::second::requestFwData
      Src: /src/pldm/fw-update/update_manager.cpp:270,1
    - Dst: auto::second::transferComplete
      Src: /src/pldm/fw-update/update_manager.cpp:274,1
    - Dst: auto::second::verifyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:278,1
    - Dst: auto::second::applyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:282,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:287,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:290,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:296,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/pldm/fw-update/update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/pldm/fw-update/update_manager.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: pldm::fw_update::UpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - find
    - contains
    - assert
    - auto::second::requestFwData
    - auto::second::transferComplete
    - auto::second::verifyComplete
    - auto::second::applyComplete
    - pldm_msg::pldm_msg
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response UpdateManager::handleRequest(mctp_eid_t eid, uint8_t command,\n
      \                                     const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:307,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/update_manager.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: pldm::fw_update::UpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void UpdateManager::activatePackage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:316,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:317,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:318,1
    - Dst: is_open
      Src: /src/pldm/fw-update/update_manager.cpp:320,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:322,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:324,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:325,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:326,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: pldm::fw_update::UpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 2
    functionsReached:
    - clear
    - std::filesystem::remove
    - reset
    - is_open
    - close
    linkageType: ''
    returnType: void
    signature: void UpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::min_element
      Src: /src/pldm/fw-update/update_manager.cpp:334,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:339,1
    - Dst: auto::second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:344,1
    - Dst: progress
      Src: /src/pldm/fw-update/update_manager.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: pldm::fw_update::UpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::min_element
    - progress
    - second::getProgress
    - auto::second::getProgress
    - end
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateActivationProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/fw-update/update_manager.cpp:28,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/fw-update/update_manager.cpp:29,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::UpdateManager::getSwId
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - cb_now
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string UpdateManager::getSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:50,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:53,1
    - Dst: pldm::fw_update::UpdateManager::resetActivationState
      Src: /src/pldm/fw-update/update_manager.cpp:58,1
    - Dst: open
      Src: /src/pldm/fw-update/update_manager.cpp:62,1
    - Dst: good
      Src: /src/pldm/fw-update/update_manager.cpp:64,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:66,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:69,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:70,1
    - Dst: tellg
      Src: /src/pldm/fw-update/update_manager.cpp:74,1
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:76,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:83,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:88,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:90,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' packageFilePath'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: pldm::fw_update::UpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - activation
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::resetActivationState
    - error
    - pldm::fw_update::UpdateManager::getSwId
    - std::filesystem::remove
    - good
    - tellg
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int UpdateManager::processPackage(const std::filesystem::path& packageFilePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:99,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:105,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update_manager.cpp:107,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/update_manager.cpp:110,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: pldm::fw_update::UpdateManager::processStreamDefer
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::getSwId
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: std::string
    signature: "std::string UpdateManager::processStreamDefer(std::istream& package,\n
      \                                             uintmax_t packageSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:120,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:123,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:128,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:130,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:131,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:135,1
    - Dst: read
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: std::vector::data
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/update_manager.cpp:139,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:142,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:143,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:144,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:146,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:147,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:151,1
    - Dst: parse
      Src: /src/pldm/fw-update/update_manager.cpp:154,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:158,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:159,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:160,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:162,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:163,1
    - Dst: pldm::fw_update::UpdateManager::associatePkgToDevices
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/update_manager.cpp:170,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:172,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:174,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:175,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:177,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
      Src: /src/pldm/fw-update/update_manager.cpp:178,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:182,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/update_manager.cpp:183,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:190,1
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:191,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/update_manager.cpp:193,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:198,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:199,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/update_manager.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:202,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 207
    functionName: pldm::fw_update::UpdateManager::processStream
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 6
    functionsReached:
    - pldm::fw_update::UpdateManager::associatePkgToDevices
    - emplace
    - std::vector::data
    - find
    - std::make_unique<DeviceUpdater>
    - auto::size
    - reset
    - cb_now
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
    - activation
    - error
    - pldm::utils::DBusHandler::getBus
    - std::make_unique<ActivationProgress>
    - std::make_unique<Activation>
    - parse
    - reinterpret_cast<char*>
    - getComponentImageInfos
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
    - getFwDeviceIDRecords
    - read
    - parsePkgHeader
    - seekg
    linkageType: ''
    returnType: void
    signature: void UpdateManager::processStream(std::istream& package, uintmax_t
      packageSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:215,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/update_manager.cpp:218,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:222,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:223,1
    - Dst: DeviceUpdaterInfos::emplace_back
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/update_manager.cpp:227,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptorMap'
    - ' totalNumComponentUpdates'
    argTypes:
    - FirmwareDeviceIDRecords
    - DescriptorMap
    - TotalComponentUpdates
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::fw_update::UpdateManager::associatePkgToDevices
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::get<Descriptors>
    - DeviceUpdaterInfos::emplace_back
    - std::make_pair
    - std::get<ApplicableComponents>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: DeviceUpdaterInfos
    signature: "DeviceUpdaterInfos UpdateManager::associatePkgToDevices(\n    const
      FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const DescriptorMap& descriptorMap,\n
      \   TotalComponentUpdates& totalNumComponentUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:237,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:244,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:245,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:251,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/update_manager.cpp:253,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:255,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eid
    - status
    argTypes:
    - mctp_eid_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: pldm::fw_update::UpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - emplace
    - size
    - std::chrono::duration<double, std::milli>
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateDeviceCompletion(mctp_eid_t eid, bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/fw-update/update_manager.cpp:265,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:267,1
    - Dst: auto::second::requestFwData
      Src: /src/pldm/fw-update/update_manager.cpp:270,1
    - Dst: auto::second::transferComplete
      Src: /src/pldm/fw-update/update_manager.cpp:274,1
    - Dst: auto::second::verifyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:278,1
    - Dst: auto::second::applyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:282,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:287,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:290,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:296,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/pldm/fw-update/update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/pldm/fw-update/update_manager.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: pldm::fw_update::UpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - find
    - contains
    - assert
    - auto::second::requestFwData
    - auto::second::transferComplete
    - auto::second::verifyComplete
    - auto::second::applyComplete
    - pldm_msg::pldm_msg
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response UpdateManager::handleRequest(mctp_eid_t eid, uint8_t command,\n
      \                                     const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:307,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/update_manager.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: pldm::fw_update::UpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void UpdateManager::activatePackage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:316,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:317,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:318,1
    - Dst: is_open
      Src: /src/pldm/fw-update/update_manager.cpp:320,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:322,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:324,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:325,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:326,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: pldm::fw_update::UpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 3
    functionsReached:
    - clear
    - std::filesystem::remove
    - reset
    - is_open
    - close
    linkageType: ''
    returnType: void
    signature: void UpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::min_element
      Src: /src/pldm/fw-update/update_manager.cpp:334,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:339,1
    - Dst: auto::second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:344,1
    - Dst: progress
      Src: /src/pldm/fw-update/update_manager.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: pldm::fw_update::UpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::min_element
    - progress
    - second::getProgress
    - auto::second::getProgress
    - end
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateActivationProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/pldm/fw-update/update_manager.cpp:28,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/pldm/fw-update/update_manager.cpp:29,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::UpdateManager::getSwId
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 6
    functionsReached:
    - cb_now
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::to_string
    linkageType: ''
    returnType: std::string
    signature: std::string UpdateManager::getSwId()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:50,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:53,1
    - Dst: pldm::fw_update::UpdateManager::resetActivationState
      Src: /src/pldm/fw-update/update_manager.cpp:58,1
    - Dst: open
      Src: /src/pldm/fw-update/update_manager.cpp:62,1
    - Dst: good
      Src: /src/pldm/fw-update/update_manager.cpp:64,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:66,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:69,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:70,1
    - Dst: tellg
      Src: /src/pldm/fw-update/update_manager.cpp:74,1
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:76,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:83,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:88,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:90,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - ' packageFilePath'
    argTypes:
    - std::filesystem::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: pldm::fw_update::UpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - activation
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::resetActivationState
    - error
    - pldm::fw_update::UpdateManager::getSwId
    - std::filesystem::remove
    - good
    - tellg
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int UpdateManager::processPackage(const std::filesystem::path& packageFilePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::UpdateManager::getSwId
      Src: /src/pldm/fw-update/update_manager.cpp:99,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:105,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/update_manager.cpp:107,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/update_manager.cpp:110,1
    - Dst: pldm::fw_update::UpdateManager::processStream
      Src: /src/pldm/fw-update/update_manager.cpp:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: pldm::fw_update::UpdateManager::processStreamDefer
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - size
    - pldm::fw_update::UpdateManager::processStream
    - pldm::fw_update::UpdateManager::getSwId
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - std::make_unique<sdeventplus::source::Defer>
    linkageType: ''
    returnType: std::string
    signature: "std::string UpdateManager::processStreamDefer(std::istream& package,\n
      \                                             uintmax_t packageSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:120,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:123,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:127,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:128,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:130,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:131,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:135,1
    - Dst: read
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: std::vector::data
      Src: /src/pldm/fw-update/update_manager.cpp:137,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/update_manager.cpp:139,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:142,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:143,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:144,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:146,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:147,1
    - Dst: seekg
      Src: /src/pldm/fw-update/update_manager.cpp:151,1
    - Dst: parse
      Src: /src/pldm/fw-update/update_manager.cpp:154,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:158,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:159,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:160,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:162,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
      Src: /src/pldm/fw-update/update_manager.cpp:163,1
    - Dst: pldm::fw_update::UpdateManager::associatePkgToDevices
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:168,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/update_manager.cpp:170,1
    - Dst: error
      Src: /src/pldm/fw-update/update_manager.cpp:172,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:174,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:175,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:177,1
    - Dst: "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
      Src: /src/pldm/fw-update/update_manager.cpp:178,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/update_manager.cpp:182,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/update_manager.cpp:183,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:190,1
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:191,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/update_manager.cpp:193,1
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/update_manager.cpp:198,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:199,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/update_manager.cpp:201,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/update_manager.cpp:202,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - ' package'
    - packageSize
    argTypes:
    - std::istream
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 207
    functionName: pldm::fw_update::UpdateManager::processStream
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 8
    functionsReached:
    - pldm::fw_update::UpdateManager::associatePkgToDevices
    - emplace
    - std::vector::data
    - find
    - std::make_unique<DeviceUpdater>
    - auto::size
    - reset
    - cb_now
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            Incompatible"
    - activation
    - error
    - pldm::utils::DBusHandler::getBus
    - std::make_unique<ActivationProgress>
    - std::make_unique<Activation>
    - parse
    - reinterpret_cast<char*>
    - getComponentImageInfos
    - "sdbusplus::error::xyz::openbmc_project::software::update::\n            InvalidImage"
    - getFwDeviceIDRecords
    - read
    - parsePkgHeader
    - seekg
    linkageType: ''
    returnType: void
    signature: void UpdateManager::processStream(std::istream& package, uintmax_t
      packageSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:215,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/update_manager.cpp:218,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:221,1
    - Dst: begin
      Src: /src/pldm/fw-update/update_manager.cpp:222,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:223,1
    - Dst: DeviceUpdaterInfos::emplace_back
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/update_manager.cpp:225,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/update_manager.cpp:227,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptorMap'
    - ' totalNumComponentUpdates'
    argTypes:
    - FirmwareDeviceIDRecords
    - DescriptorMap
    - TotalComponentUpdates
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: pldm::fw_update::UpdateManager::associatePkgToDevices
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - size
    - std::get<Descriptors>
    - DeviceUpdaterInfos::emplace_back
    - std::make_pair
    - std::get<ApplicableComponents>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: DeviceUpdaterInfos
    signature: "DeviceUpdaterInfos UpdateManager::associatePkgToDevices(\n    const
      FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const DescriptorMap& descriptorMap,\n
      \   TotalComponentUpdates& totalNumComponentUpdates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/pldm/fw-update/update_manager.cpp:237,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: size
      Src: /src/pldm/fw-update/update_manager.cpp:238,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:244,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:245,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:251,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/update_manager.cpp:253,1
    - Dst: info
      Src: /src/pldm/fw-update/update_manager.cpp:255,1
    - Dst: activation
      Src: /src/pldm/fw-update/update_manager.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eid
    - status
    argTypes:
    - mctp_eid_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: pldm::fw_update::UpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - emplace
    - size
    - std::chrono::duration<double, std::milli>
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateDeviceCompletion(mctp_eid_t eid, bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/pldm/fw-update/update_manager.cpp:265,1
    - Dst: find
      Src: /src/pldm/fw-update/update_manager.cpp:267,1
    - Dst: auto::second::requestFwData
      Src: /src/pldm/fw-update/update_manager.cpp:270,1
    - Dst: auto::second::transferComplete
      Src: /src/pldm/fw-update/update_manager.cpp:274,1
    - Dst: auto::second::verifyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:278,1
    - Dst: auto::second::applyComplete
      Src: /src/pldm/fw-update/update_manager.cpp:282,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:286,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:287,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:290,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/update_manager.cpp:295,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/update_manager.cpp:296,1
    - Dst: assert
      Src: /src/pldm/fw-update/update_manager.cpp:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/pldm/fw-update/update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/pldm/fw-update/update_manager.cpp
    constantsTouched: []
    func_position:
      end: 303
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 303
    functionName: pldm::fw_update::UpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - find
    - contains
    - assert
    - auto::second::requestFwData
    - auto::second::transferComplete
    - auto::second::verifyComplete
    - auto::second::applyComplete
    - pldm_msg::pldm_msg
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response UpdateManager::handleRequest(mctp_eid_t eid, uint8_t command,\n
      \                                     const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/update_manager.cpp:307,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/update_manager.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: pldm::fw_update::UpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void UpdateManager::activatePackage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:316,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:317,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:318,1
    - Dst: is_open
      Src: /src/pldm/fw-update/update_manager.cpp:320,1
    - Dst: close
      Src: /src/pldm/fw-update/update_manager.cpp:322,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:324,1
    - Dst: clear
      Src: /src/pldm/fw-update/update_manager.cpp:325,1
    - Dst: reset
      Src: /src/pldm/fw-update/update_manager.cpp:326,1
    - Dst: std::filesystem::remove
      Src: /src/pldm/fw-update/update_manager.cpp:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: pldm::fw_update::UpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 4
    functionsReached:
    - clear
    - std::filesystem::remove
    - reset
    - is_open
    - close
    linkageType: ''
    returnType: void
    signature: void UpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ranges::min_element
      Src: /src/pldm/fw-update/update_manager.cpp:334,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:336,1
    - Dst: end
      Src: /src/pldm/fw-update/update_manager.cpp:339,1
    - Dst: auto::second::getProgress
      Src: /src/pldm/fw-update/update_manager.cpp:344,1
    - Dst: progress
      Src: /src/pldm/fw-update/update_manager.cpp:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: pldm::fw_update::UpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::ranges::min_element
    - progress
    - second::getProgress
    - auto::second::getProgress
    - end
    linkageType: ''
    returnType: void
    signature: void UpdateManager::updateActivationProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory(const FirmwareInventory&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory(FirmwareInventory&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const FirmwareInventory&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventory
    signature: FirmwareInventory & operator=(const FirmwareInventory&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(FirmwareInventory&&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventory
    signature: FirmwareInventory & operator=(FirmwareInventory&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory(const FirmwareInventory&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventory(FirmwareInventory&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const FirmwareInventory&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventory
    signature: FirmwareInventory & operator=(const FirmwareInventory&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(FirmwareInventory&&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventory
    signature: FirmwareInventory & operator=(FirmwareInventory&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Watch&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(Watch&&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Watch&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(Watch&&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Watch&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(Watch&&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const Watch&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(const Watch&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Watch(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(Watch&&)'
    functionSourceFile: /src/pldm/fw-update/watch.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Watch
    signature: Watch & operator=(Watch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/fw-update/firmware_inventory.cpp:11,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:12,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:13,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:15,1
    - Dst: pldm::fw_update::FirmwareInventory::association::associations
      Src: /src/pldm/fw-update/firmware_inventory.cpp:18,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:19,1
    - Dst: pldm::fw_update::FirmwareInventory::version::version
      Src: /src/pldm/fw-update/firmware_inventory.cpp:20,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:20,1
    - Dst: pldm::fw_update::FirmwareInventory::version::purpose
      Src: /src/pldm/fw-update/firmware_inventory.cpp:21,1
    - Dst: pldm::fw_update::FirmwareInventory::activation::activation
      Src: /src/pldm/fw-update/firmware_inventory.cpp:22,1
    - Dst: pldm::fw_update::FirmwareInventory::version::emit_added
      Src: /src/pldm/fw-update/firmware_inventory.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - softwareIdentifier
    - ' softwarePath'
    - ' generatedId'
    - ' softwareVersion'
    - ' associatedEndpoint'
    - purpose
    argTypes:
    - SoftwareIdentifier
    - std::string
    - std::string
    - std::string
    - std::string
    - SoftwareVersionPurpose
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::FirmwareInventory::version::emit_added
    - pldm::fw_update::FirmwareInventory::association::associations
    - c_str
    - pldm::fw_update::FirmwareInventory::version::purpose
    - pldm::fw_update::FirmwareInventory::activation::activation
    - pldm::fw_update::FirmwareInventory::softwarePath::c_str
    - std::format
    - pldm::fw_update::FirmwareInventory::version::version
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventory::FirmwareInventory(\n    SoftwareIdentifier
      softwareIdentifier, const std::string& softwarePath,\n    const std::string&
      generatedId, const std::string& softwareVersion,\n    const std::string& associatedEndpoint,
      SoftwareVersionPurpose purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/fw-update/firmware_inventory.cpp:11,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:12,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:13,1
    - Dst: pldm::fw_update::FirmwareInventory::softwarePath::c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:15,1
    - Dst: pldm::fw_update::FirmwareInventory::association::associations
      Src: /src/pldm/fw-update/firmware_inventory.cpp:18,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:19,1
    - Dst: pldm::fw_update::FirmwareInventory::version::version
      Src: /src/pldm/fw-update/firmware_inventory.cpp:20,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory.cpp:20,1
    - Dst: pldm::fw_update::FirmwareInventory::version::purpose
      Src: /src/pldm/fw-update/firmware_inventory.cpp:21,1
    - Dst: pldm::fw_update::FirmwareInventory::activation::activation
      Src: /src/pldm/fw-update/firmware_inventory.cpp:22,1
    - Dst: pldm::fw_update::FirmwareInventory::version::emit_added
      Src: /src/pldm/fw-update/firmware_inventory.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - softwareIdentifier
    - ' softwarePath'
    - ' generatedId'
    - ' softwareVersion'
    - ' associatedEndpoint'
    - purpose
    argTypes:
    - SoftwareIdentifier
    - std::string
    - std::string
    - std::string
    - std::string
    - SoftwareVersionPurpose
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::FirmwareInventory::FirmwareInventory
    functionSourceFile: /src/pldm/fw-update/firmware_inventory.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::FirmwareInventory::version::emit_added
    - pldm::fw_update::FirmwareInventory::association::associations
    - c_str
    - pldm::fw_update::FirmwareInventory::version::purpose
    - pldm::fw_update::FirmwareInventory::activation::activation
    - pldm::fw_update::FirmwareInventory::softwarePath::c_str
    - std::format
    - pldm::fw_update::FirmwareInventory::version::version
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventory::FirmwareInventory(\n    SoftwareIdentifier
      softwareIdentifier, const std::string& softwarePath,\n    const std::string&
      generatedId, const std::string& softwareVersion,\n    const std::string& associatedEndpoint,
      SoftwareVersionPurpose purpose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager(const AggregateUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager(AggregateUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: '& operator=(const AggregateUpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateUpdateManager
    signature: AggregateUpdateManager & operator=(const AggregateUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: '& operator=(AggregateUpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateUpdateManager
    signature: AggregateUpdateManager & operator=(AggregateUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager(const AggregateUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AggregateUpdateManager(AggregateUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: '& operator=(const AggregateUpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateUpdateManager
    signature: AggregateUpdateManager & operator=(const AggregateUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: '& operator=(AggregateUpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AggregateUpdateManager
    signature: AggregateUpdateManager & operator=(AggregateUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' descriptorMap'
    - ' componentInfoMap'
    argTypes:
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - DescriptorMap
    - ComponentInfoMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager(\n        Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const DescriptorMap& descriptorMap,\n
      \       const ComponentInfoMap& componentInfoMap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::AggregateUpdateManager::handleRequest
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:17,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:19,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:19,1
    - Dst: pldm::fw_update::UpdateManager::handleRequest
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::AggregateUpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 1
    functionsReached:
    - Response::data
    - pldm::fw_update::AggregateUpdateManager::handleRequest
    - pldm::fw_update::UpdateManager::handleRequest
    - std::start_lifetime_as<pldm_msg>
    linkageType: ''
    returnType: Response
    signature: "Response AggregateUpdateManager::handleRequest(\n    mctp_eid_t eid,
      uint8_t command, const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Descriptors>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:36,1
    - Dst: std::make_unique<ComponentInfo>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:38,1
    - Dst: std::make_unique<ItemUpdateManager>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' softwareIdentifier'
    - ' descriptors'
    - ' componentInfo'
    - ' updateObjPath'
    - ' generatedId'
    argTypes:
    - SoftwareIdentifier
    - Descriptors
    - ComponentInfo
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::AggregateUpdateManager::createUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ItemUpdateManager>
    - std::make_unique<ComponentInfo>
    - std::make_unique<Descriptors>
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::createUpdateManager(\n    const SoftwareIdentifier&
      softwareIdentifier,\n    const Descriptors& descriptors, const ComponentInfo&
      componentInfo,\n    const std::string& updateObjPath, const std::string& generatedId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:49,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:50,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' softwareIdentifier'
    argTypes:
    - SoftwareIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pldm::fw_update::AggregateUpdateManager::eraseUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::eraseUpdateManager(\n    const SoftwareIdentifier&
      softwareIdentifier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:57,1
    - Dst: end
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:57,1
    - Dst: predicate
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:59,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:61,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:62,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' predicate'
    argTypes:
    - std::function<bool(const SoftwareIdentifier&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: pldm::fw_update::AggregateUpdateManager::eraseUpdateManagerIf
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - predicate
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::eraseUpdateManagerIf(\n    std::function<bool(const
      SoftwareIdentifier&)>&& predicate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::AggregateUpdateManager::handleRequest
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:17,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:19,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:19,1
    - Dst: pldm::fw_update::UpdateManager::handleRequest
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::AggregateUpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 2
    functionsReached:
    - Response::data
    - pldm::fw_update::AggregateUpdateManager::handleRequest
    - pldm::fw_update::UpdateManager::handleRequest
    - std::start_lifetime_as<pldm_msg>
    linkageType: ''
    returnType: Response
    signature: "Response AggregateUpdateManager::handleRequest(\n    mctp_eid_t eid,
      uint8_t command, const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Descriptors>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:36,1
    - Dst: std::make_unique<ComponentInfo>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:38,1
    - Dst: std::make_unique<ItemUpdateManager>
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ' softwareIdentifier'
    - ' descriptors'
    - ' componentInfo'
    - ' updateObjPath'
    - ' generatedId'
    argTypes:
    - SoftwareIdentifier
    - Descriptors
    - ComponentInfo
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: pldm::fw_update::AggregateUpdateManager::createUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ItemUpdateManager>
    - std::make_unique<ComponentInfo>
    - std::make_unique<Descriptors>
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::createUpdateManager(\n    const SoftwareIdentifier&
      softwareIdentifier,\n    const Descriptors& descriptors, const ComponentInfo&
      componentInfo,\n    const std::string& updateObjPath, const std::string& generatedId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:49,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:50,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' softwareIdentifier'
    argTypes:
    - SoftwareIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pldm::fw_update::AggregateUpdateManager::eraseUpdateManager
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::eraseUpdateManager(\n    const SoftwareIdentifier&
      softwareIdentifier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:57,1
    - Dst: end
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:57,1
    - Dst: predicate
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:59,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:61,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:62,1
    - Dst: erase
      Src: /src/pldm/fw-update/aggregate_update_manager.cpp:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' predicate'
    argTypes:
    - std::function<bool(const SoftwareIdentifier&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: pldm::fw_update::AggregateUpdateManager::eraseUpdateManagerIf
    functionSourceFile: /src/pldm/fw-update/aggregate_update_manager.cpp
    functionUses: 0
    functionsReached:
    - end
    - predicate
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: "void AggregateUpdateManager::eraseUpdateManagerIf(\n    std::function<bool(const
      SoftwareIdentifier&)>&& predicate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager(const FirmwareInventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager(FirmwareInventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: '& operator=(const FirmwareInventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventoryManager
    signature: FirmwareInventoryManager & operator=(const FirmwareInventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(FirmwareInventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventoryManager
    signature: FirmwareInventoryManager & operator=(FirmwareInventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~FirmwareInventoryManager()
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FirmwareInventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - dbusHandler
    - ' config'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventoryManager(\n        const pldm::utils::DBusHandler*
      dbusHandler,\n        const Configurations& config, AggregateUpdateManager&
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager(const FirmwareInventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager(FirmwareInventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: '& operator=(const FirmwareInventoryManager&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventoryManager
    signature: FirmwareInventoryManager & operator=(const FirmwareInventoryManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(FirmwareInventoryManager&&)'
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareInventoryManager
    signature: FirmwareInventoryManager & operator=(FirmwareInventoryManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~FirmwareInventoryManager()
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FirmwareInventoryManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - dbusHandler
    - ' config'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventoryManager(\n        const pldm::utils::DBusHandler*
      dbusHandler,\n        const Configurations& config, AggregateUpdateManager&
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - totalSize
    - eid
    argTypes:
    - uint32_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::UpdateProgress(uint32_t totalSize, mctp_eid_t
      eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::UpdateProgress::getTotalSize
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UpdateProgress::getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pldm::fw_update::UpdateProgress::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UpdateProgress::getProgress() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - newState
    argTypes:
    - state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: pldm::fw_update::UpdateProgress::updateState
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - warning
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::updateState(state newState)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:63,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:69,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:82,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - amountUpdated
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: pldm::fw_update::UpdateProgress::reportFwUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::floor
    - error
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::reportFwUpdate(uint32_t amountUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:104,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:110,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/device_updater.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 7
    argNames:
    - eid
    - ' package'
    - ' fwDeviceIDRecord'
    - ' compImageInfos'
    - ' compInfo'
    - maxTransferSize
    - updateManager
    argTypes:
    - mctp_eid_t
    - std::istream
    - FirmwareDeviceIDRecord
    - ComponentImageInfos
    - ComponentInfo
    - uint32_t
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::get<6>
    - std::get<ApplicableComponents>
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::DeviceUpdater(\n    mctp_eid_t eid, std::istream&
      package,\n    const FirmwareDeviceIDRecord& fwDeviceIDRecord,\n    const ComponentImageInfos&
      compImageInfos, const ComponentInfo& compInfo,\n    uint32_t maxTransferSize,
      UpdateManagerBase* updateManager)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:117,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:122,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:125,1
    - Dst: std::get<FirmwareDevicePackageData>
      Src: /src/pldm/fw-update/device_updater.cpp:128,1
    - Dst: std::get<ComponentImageSetVersion>
      Src: /src/pldm/fw-update/device_updater.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: encode_request_update_req
      Src: /src/pldm/fw-update/device_updater.cpp:143,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:144,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:145,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:152,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:153,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:158,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:159,1
    - Dst: pldm::fw_update::DeviceUpdater::requestUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:161,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 170
    functionName: pldm::fw_update::DeviceUpdater::startFwUpdateFlow
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - instanceIdDb::free
    - std::get<FirmwareDevicePackageData>
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - instanceIdDb::next
    - static_cast<uint8_t>
    - pldm::fw_update::DeviceUpdater::requestUpdate
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - data
    - auto::value
    - std::get<ComponentImageSetVersion>
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::startFwUpdateFlow()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:178,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:180,1
    - Dst: decode_request_update_resp
      Src: /src/pldm/fw-update/device_updater.cpp:188,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:192,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:195,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:200,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:203,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:208,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: pldm::fw_update::DeviceUpdater::requestUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - decode_request_update_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::requestUpdate(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:216,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:218,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:223,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:226,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:228,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:236,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:246,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:250,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:254,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:255,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:257,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:263,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:268,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:272,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/fw-update/device_updater.cpp:282,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:290,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:291,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:296,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:298,1
    - Dst: pldm::fw_update::DeviceUpdater::passCompTable
      Src: /src/pldm/fw-update/device_updater.cpp:300,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 309
    functionName: pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - pldm::InstanceIdError::InstanceIdError
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
    - std::make_pair
    - reset
    - encode_pass_component_table_req
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - error
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - pldm::fw_update::DeviceUpdater::passCompTable
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendPassCompTableRequest(size_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:317,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:320,1
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/fw-update/device_updater.cpp:329,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:334,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:337,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:343,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:346,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:352,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:353,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:356,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:358,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:364,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 369
    functionName: pldm::fw_update::DeviceUpdater::passCompTable
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::bind
    - error
    - decode_pass_component_table_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::passCompTable(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:373,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:374,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:379,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:381,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:384,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:388,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:392,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:393,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:395,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:401,1
    - Dst: std::get<3>
      Src: /src/pldm/fw-update/device_updater.cpp:408,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:410,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: encode_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:420,1
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:422,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/device_updater.cpp:424,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:431,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:432,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:437,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:438,1
    - Dst: pldm::fw_update::DeviceUpdater::updateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:440,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 449
    functionName: pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - pldm::InstanceIdError::InstanceIdError
    - std::make_pair
    - reset
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - pldm::fw_update::DeviceUpdater::updateComponent
    - std::get<3>
    - encode_update_component_req
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
    - auto::error
    - handler::registerRequest
    - std::get<7>
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendUpdateComponentRequest(size_t offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:457,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:460,1
    - Dst: decode_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:470,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:476,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:479,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:484,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:487,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:492,1
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:493,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:495,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:496,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:501,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:507,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:509,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:515,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:521,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:528,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:530,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:535,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:540,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:542,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:548,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 553
    functionName: pldm::fw_update::DeviceUpdater::updateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - empty
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - std::bind
    - error
    - info
    - decode_update_component_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::updateComponent(mctp_eid_t eid, const pldm_msg*
      response,\n                                    size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/fw-update/device_updater.cpp:557,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:559,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    - updateDeviceCompletion
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::createRequestFwDataTimer()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: decode_request_firmware_data_req
      Src: /src/pldm/fw-update/device_updater.cpp:572,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:576,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:579,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:584,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:592,1
    - Dst: std::get<5>
      Src: /src/pldm/fw-update/device_updater.cpp:594,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:595,1
    - Dst: debug
      Src: /src/pldm/fw-update/device_updater.cpp:596,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:600,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:605,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:614,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:619,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:632,1
    - Dst: reportFwUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:636,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:639,1
    - Dst: Response::resize
      Src: /src/pldm/fw-update/device_updater.cpp:643,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: seekg
      Src: /src/pldm/fw-update/device_updater.cpp:645,1
    - Dst: read
      Src: /src/pldm/fw-update/device_updater.cpp:646,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/device_updater.cpp:647,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:648,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:650,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:655,1
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:665,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:667,1
    - Dst: start
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:677,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 683
    functionName: pldm::fw_update::DeviceUpdater::requestFwData
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - warning
    - start
    - updateActivationProgress
    - size
    - std::get<6>
    - error
    - std::chrono::seconds
    - reportFwUpdate
    - decode_request_firmware_data_req
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - Response::resize
    - encode_request_firmware_data_resp
    - reinterpret_cast<char*>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - std::get<5>
    - debug
    - read
    - seekg
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::requestFwData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: stop
      Src: /src/pldm/fw-update/device_updater.cpp:694,1
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:695,1
    - Dst: decode_transfer_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:700,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:703,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:706,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:711,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:719,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:721,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:725,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:731,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:735,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:737,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:740,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 751
    functionName: pldm::fw_update::DeviceUpdater::transferComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - std::get<ApplicableComponents>
    - error
    - info
    - stop
    - decode_transfer_complete_req
    - reset
    - pldm_msg::pldm_msg
    - encode_transfer_complete_resp
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::transferComplete(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: decode_verify_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:761,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:764,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:767,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:772,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:780,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:782,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:783,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:785,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:788,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:793,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:799,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:803,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:805,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:808,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 819
    functionName: pldm::fw_update::DeviceUpdater::verifyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - size
    - updateState
    - error
    - info
    - decode_verify_complete_req
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - encode_verify_complete_resp
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::verifyComplete(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: decode_apply_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:830,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:834,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:837,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:842,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:850,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:852,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:857,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:860,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:862,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:865,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:868,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:871,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:875,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:877,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:887,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:889,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:896,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:901,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:904,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:907,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 918
    functionName: pldm::fw_update::DeviceUpdater::applyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - clear
    - size
    - std::bind
    - error
    - info
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - encode_apply_complete_resp
    - decode_apply_complete_req
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - updateState
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::applyComplete(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:922,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:923,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:928,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/fw-update/device_updater.cpp:933,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:938,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:939,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:944,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:945,1
    - Dst: pldm::fw_update::DeviceUpdater::activateFirmware
      Src: /src/pldm/fw-update/device_updater.cpp:947,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 955
    functionName: pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::DeviceUpdater::activateFirmware
    - error
    - pldm::InstanceIdError::InstanceIdError
    - encode_activate_firmware_req
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendActivateFirmwareRequest()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:963,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:966,1
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/fw-update/device_updater.cpp:973,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:978,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:981,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:987,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:990,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1000,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1002
    functionName: pldm::fw_update::DeviceUpdater::activateFirmware
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - decode_activate_firmware_resp
    - updateActivationProgress
    - error
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::activateFirmware(mctp_eid_t eid, const pldm_msg*
      response,\n                                     size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:1006,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:1007,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:1012,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:1016,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:1020,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1021,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:1027,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:1029,1
    - Dst: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:1031,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1039
    functionName: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - error
    - encode_cancel_update_component_req
    - pldm::InstanceIdError::InstanceIdError
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendCancelUpdateComponentRequest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1047,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:1054,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1058,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1066,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:1074,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:1076,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:1085,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1086,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1088,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1093,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1100,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1106
    functionName: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - clear
    - size
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - decode_cancel_update_component_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::cancelUpdateComponent(\n    mctp_eid_t eid, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:1110,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1124,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: pldm::fw_update::DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1131,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1139
    functionName: pldm::fw_update::DeviceUpdater::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 1
    functionsReached:
    - empty
    - static_cast<uint64_t>
    - pldm::fw_update::DeviceUpdater::getProgress
    - static_cast<uint8_t>
    - error
    - getTotalSize
    - std::floor
    - static_cast<double>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DeviceUpdater::getProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - totalSize
    - eid
    argTypes:
    - uint32_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::UpdateProgress(uint32_t totalSize, mctp_eid_t
      eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::UpdateProgress::getTotalSize
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UpdateProgress::getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pldm::fw_update::UpdateProgress::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UpdateProgress::getProgress() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - newState
    argTypes:
    - state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: pldm::fw_update::UpdateProgress::updateState
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - warning
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::updateState(state newState)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:63,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:69,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:82,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - amountUpdated
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: pldm::fw_update::UpdateProgress::reportFwUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::floor
    - error
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::reportFwUpdate(uint32_t amountUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:104,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:110,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/device_updater.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 7
    argNames:
    - eid
    - ' package'
    - ' fwDeviceIDRecord'
    - ' compImageInfos'
    - ' compInfo'
    - maxTransferSize
    - updateManager
    argTypes:
    - mctp_eid_t
    - std::istream
    - FirmwareDeviceIDRecord
    - ComponentImageInfos
    - ComponentInfo
    - uint32_t
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::get<6>
    - std::get<ApplicableComponents>
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::DeviceUpdater(\n    mctp_eid_t eid, std::istream&
      package,\n    const FirmwareDeviceIDRecord& fwDeviceIDRecord,\n    const ComponentImageInfos&
      compImageInfos, const ComponentInfo& compInfo,\n    uint32_t maxTransferSize,
      UpdateManagerBase* updateManager)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:117,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:122,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:125,1
    - Dst: std::get<FirmwareDevicePackageData>
      Src: /src/pldm/fw-update/device_updater.cpp:128,1
    - Dst: std::get<ComponentImageSetVersion>
      Src: /src/pldm/fw-update/device_updater.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: encode_request_update_req
      Src: /src/pldm/fw-update/device_updater.cpp:143,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:144,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:145,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:152,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:153,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:158,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:159,1
    - Dst: pldm::fw_update::DeviceUpdater::requestUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:161,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 170
    functionName: pldm::fw_update::DeviceUpdater::startFwUpdateFlow
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - instanceIdDb::free
    - std::get<FirmwareDevicePackageData>
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - instanceIdDb::next
    - static_cast<uint8_t>
    - pldm::fw_update::DeviceUpdater::requestUpdate
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - data
    - auto::value
    - std::get<ComponentImageSetVersion>
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::startFwUpdateFlow()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:178,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:180,1
    - Dst: decode_request_update_resp
      Src: /src/pldm/fw-update/device_updater.cpp:188,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:192,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:195,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:200,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:203,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:208,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: pldm::fw_update::DeviceUpdater::requestUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - decode_request_update_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::requestUpdate(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:216,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:218,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:223,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:226,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:228,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:236,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:246,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:250,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:254,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:255,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:257,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:263,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:268,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:272,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/fw-update/device_updater.cpp:282,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:290,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:291,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:296,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:298,1
    - Dst: pldm::fw_update::DeviceUpdater::passCompTable
      Src: /src/pldm/fw-update/device_updater.cpp:300,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 309
    functionName: pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - pldm::InstanceIdError::InstanceIdError
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
    - std::make_pair
    - reset
    - encode_pass_component_table_req
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - error
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - pldm::fw_update::DeviceUpdater::passCompTable
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendPassCompTableRequest(size_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:317,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:320,1
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/fw-update/device_updater.cpp:329,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:334,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:337,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:343,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:346,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:352,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:353,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:356,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:358,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:364,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 369
    functionName: pldm::fw_update::DeviceUpdater::passCompTable
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::bind
    - error
    - decode_pass_component_table_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::passCompTable(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:373,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:374,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:379,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:381,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:384,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:388,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:392,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:393,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:395,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:401,1
    - Dst: std::get<3>
      Src: /src/pldm/fw-update/device_updater.cpp:408,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:410,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: encode_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:420,1
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:422,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/device_updater.cpp:424,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:431,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:432,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:437,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:438,1
    - Dst: pldm::fw_update::DeviceUpdater::updateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:440,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 449
    functionName: pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - pldm::InstanceIdError::InstanceIdError
    - std::make_pair
    - reset
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - pldm::fw_update::DeviceUpdater::updateComponent
    - std::get<3>
    - encode_update_component_req
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
    - auto::error
    - handler::registerRequest
    - std::get<7>
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendUpdateComponentRequest(size_t offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:457,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:460,1
    - Dst: decode_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:470,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:476,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:479,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:484,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:487,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:492,1
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:493,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:495,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:496,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:501,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:507,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:509,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:515,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:521,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:528,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:530,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:535,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:540,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:542,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:548,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 553
    functionName: pldm::fw_update::DeviceUpdater::updateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - empty
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - std::bind
    - error
    - info
    - decode_update_component_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::updateComponent(mctp_eid_t eid, const pldm_msg*
      response,\n                                    size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/fw-update/device_updater.cpp:557,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:559,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    - updateDeviceCompletion
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::createRequestFwDataTimer()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: decode_request_firmware_data_req
      Src: /src/pldm/fw-update/device_updater.cpp:572,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:576,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:579,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:584,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:592,1
    - Dst: std::get<5>
      Src: /src/pldm/fw-update/device_updater.cpp:594,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:595,1
    - Dst: debug
      Src: /src/pldm/fw-update/device_updater.cpp:596,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:600,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:605,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:614,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:619,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:632,1
    - Dst: reportFwUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:636,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:639,1
    - Dst: Response::resize
      Src: /src/pldm/fw-update/device_updater.cpp:643,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: seekg
      Src: /src/pldm/fw-update/device_updater.cpp:645,1
    - Dst: read
      Src: /src/pldm/fw-update/device_updater.cpp:646,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/device_updater.cpp:647,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:648,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:650,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:655,1
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:665,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:667,1
    - Dst: start
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:677,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 683
    functionName: pldm::fw_update::DeviceUpdater::requestFwData
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - warning
    - start
    - updateActivationProgress
    - size
    - std::get<6>
    - error
    - std::chrono::seconds
    - reportFwUpdate
    - decode_request_firmware_data_req
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - Response::resize
    - encode_request_firmware_data_resp
    - reinterpret_cast<char*>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - std::get<5>
    - debug
    - read
    - seekg
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::requestFwData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: stop
      Src: /src/pldm/fw-update/device_updater.cpp:694,1
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:695,1
    - Dst: decode_transfer_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:700,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:703,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:706,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:711,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:719,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:721,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:725,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:731,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:735,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:737,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:740,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 751
    functionName: pldm::fw_update::DeviceUpdater::transferComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - std::get<ApplicableComponents>
    - error
    - info
    - stop
    - decode_transfer_complete_req
    - reset
    - pldm_msg::pldm_msg
    - encode_transfer_complete_resp
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::transferComplete(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: decode_verify_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:761,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:764,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:767,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:772,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:780,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:782,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:783,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:785,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:788,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:793,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:799,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:803,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:805,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:808,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 819
    functionName: pldm::fw_update::DeviceUpdater::verifyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - size
    - updateState
    - error
    - info
    - decode_verify_complete_req
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - encode_verify_complete_resp
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::verifyComplete(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: decode_apply_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:830,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:834,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:837,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:842,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:850,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:852,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:857,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:860,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:862,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:865,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:868,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:871,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:875,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:877,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:887,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:889,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:896,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:901,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:904,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:907,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 918
    functionName: pldm::fw_update::DeviceUpdater::applyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - clear
    - size
    - std::bind
    - error
    - info
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - encode_apply_complete_resp
    - decode_apply_complete_req
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - updateState
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::applyComplete(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:922,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:923,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:928,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/fw-update/device_updater.cpp:933,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:938,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:939,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:944,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:945,1
    - Dst: pldm::fw_update::DeviceUpdater::activateFirmware
      Src: /src/pldm/fw-update/device_updater.cpp:947,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 955
    functionName: pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::DeviceUpdater::activateFirmware
    - error
    - pldm::InstanceIdError::InstanceIdError
    - encode_activate_firmware_req
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendActivateFirmwareRequest()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:963,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:966,1
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/fw-update/device_updater.cpp:973,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:978,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:981,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:987,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:990,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1000,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1002
    functionName: pldm::fw_update::DeviceUpdater::activateFirmware
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - decode_activate_firmware_resp
    - updateActivationProgress
    - error
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::activateFirmware(mctp_eid_t eid, const pldm_msg*
      response,\n                                     size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:1006,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:1007,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:1012,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:1016,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:1020,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1021,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:1027,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:1029,1
    - Dst: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:1031,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1039
    functionName: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 8
    functionsReached:
    - error
    - encode_cancel_update_component_req
    - pldm::InstanceIdError::InstanceIdError
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendCancelUpdateComponentRequest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1047,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:1054,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1058,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1066,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:1074,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:1076,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:1085,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1086,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1088,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1093,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1100,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1106
    functionName: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - clear
    - size
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - decode_cancel_update_component_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::cancelUpdateComponent(\n    mctp_eid_t eid, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:1110,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1124,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: pldm::fw_update::DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1131,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1139
    functionName: pldm::fw_update::DeviceUpdater::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 2
    functionsReached:
    - empty
    - static_cast<uint64_t>
    - pldm::fw_update::DeviceUpdater::getProgress
    - static_cast<uint8_t>
    - error
    - getTotalSize
    - std::floor
    - static_cast<double>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DeviceUpdater::getProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - totalSize
    - eid
    argTypes:
    - uint32_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::UpdateProgress(uint32_t totalSize, mctp_eid_t
      eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::UpdateProgress::getTotalSize
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UpdateProgress::getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pldm::fw_update::UpdateProgress::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UpdateProgress::getProgress() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - newState
    argTypes:
    - state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: pldm::fw_update::UpdateProgress::updateState
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - warning
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::updateState(state newState)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:63,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:69,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:82,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - amountUpdated
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: pldm::fw_update::UpdateProgress::reportFwUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::floor
    - error
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::reportFwUpdate(uint32_t amountUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:104,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:110,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/device_updater.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 7
    argNames:
    - eid
    - ' package'
    - ' fwDeviceIDRecord'
    - ' compImageInfos'
    - ' compInfo'
    - maxTransferSize
    - updateManager
    argTypes:
    - mctp_eid_t
    - std::istream
    - FirmwareDeviceIDRecord
    - ComponentImageInfos
    - ComponentInfo
    - uint32_t
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::get<6>
    - std::get<ApplicableComponents>
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::DeviceUpdater(\n    mctp_eid_t eid, std::istream&
      package,\n    const FirmwareDeviceIDRecord& fwDeviceIDRecord,\n    const ComponentImageInfos&
      compImageInfos, const ComponentInfo& compInfo,\n    uint32_t maxTransferSize,
      UpdateManagerBase* updateManager)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:117,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:122,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:125,1
    - Dst: std::get<FirmwareDevicePackageData>
      Src: /src/pldm/fw-update/device_updater.cpp:128,1
    - Dst: std::get<ComponentImageSetVersion>
      Src: /src/pldm/fw-update/device_updater.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: encode_request_update_req
      Src: /src/pldm/fw-update/device_updater.cpp:143,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:144,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:145,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:152,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:153,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:158,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:159,1
    - Dst: pldm::fw_update::DeviceUpdater::requestUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:161,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 170
    functionName: pldm::fw_update::DeviceUpdater::startFwUpdateFlow
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - instanceIdDb::free
    - std::get<FirmwareDevicePackageData>
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - instanceIdDb::next
    - static_cast<uint8_t>
    - pldm::fw_update::DeviceUpdater::requestUpdate
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - data
    - auto::value
    - std::get<ComponentImageSetVersion>
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::startFwUpdateFlow()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:178,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:180,1
    - Dst: decode_request_update_resp
      Src: /src/pldm/fw-update/device_updater.cpp:188,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:192,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:195,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:200,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:203,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:208,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: pldm::fw_update::DeviceUpdater::requestUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - decode_request_update_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::requestUpdate(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:216,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:218,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:223,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:226,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:228,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:236,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:246,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:250,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:254,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:255,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:257,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:263,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:268,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:272,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/fw-update/device_updater.cpp:282,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:290,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:291,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:296,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:298,1
    - Dst: pldm::fw_update::DeviceUpdater::passCompTable
      Src: /src/pldm/fw-update/device_updater.cpp:300,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 309
    functionName: pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - pldm::InstanceIdError::InstanceIdError
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
    - std::make_pair
    - reset
    - encode_pass_component_table_req
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - error
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - pldm::fw_update::DeviceUpdater::passCompTable
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendPassCompTableRequest(size_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:317,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:320,1
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/fw-update/device_updater.cpp:329,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:334,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:337,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:343,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:346,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:352,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:353,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:356,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:358,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:364,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 369
    functionName: pldm::fw_update::DeviceUpdater::passCompTable
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - size
    - std::bind
    - error
    - decode_pass_component_table_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::passCompTable(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:373,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:374,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:379,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:381,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:384,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:388,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:392,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:393,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:395,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:401,1
    - Dst: std::get<3>
      Src: /src/pldm/fw-update/device_updater.cpp:408,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:410,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: encode_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:420,1
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:422,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/device_updater.cpp:424,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:431,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:432,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:437,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:438,1
    - Dst: pldm::fw_update::DeviceUpdater::updateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:440,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 449
    functionName: pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - pldm::InstanceIdError::InstanceIdError
    - std::make_pair
    - reset
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - pldm::fw_update::DeviceUpdater::updateComponent
    - std::get<3>
    - encode_update_component_req
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
    - auto::error
    - handler::registerRequest
    - std::get<7>
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendUpdateComponentRequest(size_t offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:457,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:460,1
    - Dst: decode_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:470,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:476,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:479,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:484,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:487,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:492,1
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:493,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:495,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:496,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:501,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:507,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:509,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:515,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:521,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:528,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:530,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:535,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:540,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:542,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:548,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 553
    functionName: pldm::fw_update::DeviceUpdater::updateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - empty
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - std::bind
    - error
    - info
    - decode_update_component_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::updateComponent(mctp_eid_t eid, const pldm_msg*
      response,\n                                    size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/fw-update/device_updater.cpp:557,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:559,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 5
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    - updateDeviceCompletion
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::createRequestFwDataTimer()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: decode_request_firmware_data_req
      Src: /src/pldm/fw-update/device_updater.cpp:572,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:576,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:579,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:584,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:592,1
    - Dst: std::get<5>
      Src: /src/pldm/fw-update/device_updater.cpp:594,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:595,1
    - Dst: debug
      Src: /src/pldm/fw-update/device_updater.cpp:596,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:600,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:605,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:614,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:619,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:632,1
    - Dst: reportFwUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:636,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:639,1
    - Dst: Response::resize
      Src: /src/pldm/fw-update/device_updater.cpp:643,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: seekg
      Src: /src/pldm/fw-update/device_updater.cpp:645,1
    - Dst: read
      Src: /src/pldm/fw-update/device_updater.cpp:646,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/device_updater.cpp:647,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:648,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:650,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:655,1
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:665,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:667,1
    - Dst: start
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:677,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 683
    functionName: pldm::fw_update::DeviceUpdater::requestFwData
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - warning
    - start
    - updateActivationProgress
    - size
    - std::get<6>
    - error
    - std::chrono::seconds
    - reportFwUpdate
    - decode_request_firmware_data_req
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - Response::resize
    - encode_request_firmware_data_resp
    - reinterpret_cast<char*>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - std::get<5>
    - debug
    - read
    - seekg
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::requestFwData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: stop
      Src: /src/pldm/fw-update/device_updater.cpp:694,1
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:695,1
    - Dst: decode_transfer_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:700,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:703,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:706,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:711,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:719,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:721,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:725,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:731,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:735,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:737,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:740,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 751
    functionName: pldm::fw_update::DeviceUpdater::transferComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - std::get<ApplicableComponents>
    - error
    - info
    - stop
    - decode_transfer_complete_req
    - reset
    - pldm_msg::pldm_msg
    - encode_transfer_complete_resp
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::transferComplete(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: decode_verify_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:761,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:764,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:767,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:772,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:780,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:782,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:783,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:785,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:788,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:793,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:799,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:803,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:805,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:808,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 819
    functionName: pldm::fw_update::DeviceUpdater::verifyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - size
    - updateState
    - error
    - info
    - decode_verify_complete_req
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - encode_verify_complete_resp
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::verifyComplete(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: decode_apply_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:830,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:834,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:837,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:842,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:850,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:852,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:857,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:860,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:862,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:865,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:868,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:871,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:875,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:877,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:887,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:889,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:896,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:901,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:904,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:907,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 918
    functionName: pldm::fw_update::DeviceUpdater::applyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - clear
    - size
    - std::bind
    - error
    - info
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - encode_apply_complete_resp
    - decode_apply_complete_req
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - updateState
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::applyComplete(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:922,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:923,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:928,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/fw-update/device_updater.cpp:933,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:938,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:939,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:944,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:945,1
    - Dst: pldm::fw_update::DeviceUpdater::activateFirmware
      Src: /src/pldm/fw-update/device_updater.cpp:947,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 955
    functionName: pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::DeviceUpdater::activateFirmware
    - error
    - pldm::InstanceIdError::InstanceIdError
    - encode_activate_firmware_req
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendActivateFirmwareRequest()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:963,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:966,1
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/fw-update/device_updater.cpp:973,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:978,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:981,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:987,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:990,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1000,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1002
    functionName: pldm::fw_update::DeviceUpdater::activateFirmware
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - decode_activate_firmware_resp
    - updateActivationProgress
    - error
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::activateFirmware(mctp_eid_t eid, const pldm_msg*
      response,\n                                     size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:1006,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:1007,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:1012,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:1016,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:1020,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1021,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:1027,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:1029,1
    - Dst: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:1031,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1039
    functionName: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 12
    functionsReached:
    - error
    - encode_cancel_update_component_req
    - pldm::InstanceIdError::InstanceIdError
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendCancelUpdateComponentRequest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1047,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:1054,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1058,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1066,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:1074,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:1076,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:1085,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1086,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1088,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1093,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1100,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1106
    functionName: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - clear
    - size
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - decode_cancel_update_component_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::cancelUpdateComponent(\n    mctp_eid_t eid, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:1110,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1124,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: pldm::fw_update::DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1131,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1139
    functionName: pldm::fw_update::DeviceUpdater::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 3
    functionsReached:
    - empty
    - static_cast<uint64_t>
    - pldm::fw_update::DeviceUpdater::getProgress
    - static_cast<uint8_t>
    - error
    - getTotalSize
    - std::floor
    - static_cast<double>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DeviceUpdater::getProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - totalSize
    - eid
    argTypes:
    - uint32_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::UpdateProgress(uint32_t totalSize, mctp_eid_t
      eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pldm::fw_update::UpdateProgress::getTotalSize
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UpdateProgress::getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pldm::fw_update::UpdateProgress::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t UpdateProgress::getProgress() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - newState
    argTypes:
    - state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: pldm::fw_update::UpdateProgress::updateState
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - warning
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::updateState(state newState)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:63,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:69,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:82,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - amountUpdated
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: pldm::fw_update::UpdateProgress::reportFwUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::floor
    - error
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void UpdateProgress::reportFwUpdate(uint32_t amountUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:104,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:110,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/device_updater.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 7
    argNames:
    - eid
    - ' package'
    - ' fwDeviceIDRecord'
    - ' compImageInfos'
    - ' compInfo'
    - maxTransferSize
    - updateManager
    argTypes:
    - mctp_eid_t
    - std::istream
    - FirmwareDeviceIDRecord
    - ComponentImageInfos
    - ComponentInfo
    - uint32_t
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::get<6>
    - std::get<ApplicableComponents>
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::DeviceUpdater(\n    mctp_eid_t eid, std::istream&
      package,\n    const FirmwareDeviceIDRecord& fwDeviceIDRecord,\n    const ComponentImageInfos&
      compImageInfos, const ComponentInfo& compInfo,\n    uint32_t maxTransferSize,
      UpdateManagerBase* updateManager)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:117,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:120,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:122,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:125,1
    - Dst: std::get<FirmwareDevicePackageData>
      Src: /src/pldm/fw-update/device_updater.cpp:128,1
    - Dst: std::get<ComponentImageSetVersion>
      Src: /src/pldm/fw-update/device_updater.cpp:131,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:136,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:141,1
    - Dst: encode_request_update_req
      Src: /src/pldm/fw-update/device_updater.cpp:143,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:144,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:145,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:152,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:153,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:158,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:159,1
    - Dst: pldm::fw_update::DeviceUpdater::requestUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:161,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 170
    functionName: pldm::fw_update::DeviceUpdater::startFwUpdateFlow
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - pldm::InstanceIdError::InstanceIdError
    - std::move
    - instanceIdDb::free
    - std::get<FirmwareDevicePackageData>
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - instanceIdDb::next
    - static_cast<uint8_t>
    - pldm::fw_update::DeviceUpdater::requestUpdate
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - data
    - auto::value
    - std::get<ComponentImageSetVersion>
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::startFwUpdateFlow()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:178,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:180,1
    - Dst: decode_request_update_resp
      Src: /src/pldm/fw-update/device_updater.cpp:188,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:192,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:195,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:200,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:203,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:208,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: pldm::fw_update::DeviceUpdater::requestUpdate
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - decode_request_update_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::requestUpdate(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:216,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:218,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:221,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:223,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:226,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:228,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:236,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:246,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:250,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:254,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:255,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:257,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:263,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:268,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:272,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:276,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:281,1
    - Dst: encode_pass_component_table_req
      Src: /src/pldm/fw-update/device_updater.cpp:282,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:290,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:291,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:296,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:298,1
    - Dst: pldm::fw_update::DeviceUpdater::passCompTable
      Src: /src/pldm/fw-update/device_updater.cpp:300,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 309
    functionName: pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - pldm::InstanceIdError::InstanceIdError
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompComparisonStampPos)>"
    - std::make_pair
    - reset
    - encode_pass_component_table_req
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - error
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - handler::registerRequest
    - auto::error
    - pldm::fw_update::DeviceUpdater::passCompTable
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendPassCompTableRequest(size_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:317,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:320,1
    - Dst: decode_pass_component_table_resp
      Src: /src/pldm/fw-update/device_updater.cpp:329,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:334,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:337,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:343,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:346,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:352,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:353,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:356,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:358,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:364,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 369
    functionName: pldm::fw_update::DeviceUpdater::passCompTable
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - size
    - std::bind
    - error
    - decode_pass_component_table_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::passCompTable(mctp_eid_t eid, const pldm_msg*
      response,\n                                  size_t respMsgLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:373,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:374,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:377,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:379,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:381,1
    - Dst: "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:384,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:388,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/device_updater.cpp:392,1
    - Dst: contains
      Src: /src/pldm/fw-update/device_updater.cpp:393,1
    - Dst: find
      Src: /src/pldm/fw-update/device_updater.cpp:395,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:401,1
    - Dst: std::get<3>
      Src: /src/pldm/fw-update/device_updater.cpp:408,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:410,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: data
      Src: /src/pldm/fw-update/device_updater.cpp:412,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:413,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:418,1
    - Dst: encode_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:420,1
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
      Src: /src/pldm/fw-update/device_updater.cpp:422,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/device_updater.cpp:424,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:431,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:432,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:437,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:438,1
    - Dst: pldm::fw_update::DeviceUpdater::updateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:440,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 449
    functionName: pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - pldm::InstanceIdError::InstanceIdError
    - std::make_pair
    - reset
    - std::move
    - instanceIdDb::free
    - reinterpret_cast<const uint8_t*>
    - size
    - error
    - pldm::fw_update::DeviceUpdater::updateComponent
    - std::get<3>
    - encode_update_component_req
    - instanceIdDb::next
    - "std::get<static_cast<size_t>(\n        ComponentImageInfoPos::CompClassificationPos)>"
    - static_cast<uint8_t>
    - Request::data
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompComparisonStampPos)>"
    - auto::error
    - handler::registerRequest
    - std::get<7>
    - data
    - contains
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompIdentifierPos)>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendUpdateComponentRequest(size_t offset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:457,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:460,1
    - Dst: decode_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:470,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:476,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:479,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:484,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:487,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:492,1
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:493,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:495,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:496,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
      Src: /src/pldm/fw-update/device_updater.cpp:501,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:507,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:509,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:515,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:521,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:528,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:530,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:535,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:540,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:542,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:548,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 553
    functionName: pldm::fw_update::DeviceUpdater::updateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - empty
    - size
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompVersionPos)>
    - std::bind
    - error
    - info
    - decode_update_component_resp
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::updateComponent(mctp_eid_t eid, const pldm_msg*
      response,\n                                    size_t respMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sdbusplus::Timer>
      Src: /src/pldm/fw-update/device_updater.cpp:557,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:559,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 7
    functionsReached:
    - std::make_unique<sdbusplus::Timer>
    - updateDeviceCompletion
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::createRequestFwDataTimer()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:571,1
    - Dst: decode_request_firmware_data_req
      Src: /src/pldm/fw-update/device_updater.cpp:572,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:576,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:579,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:584,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:592,1
    - Dst: std::get<5>
      Src: /src/pldm/fw-update/device_updater.cpp:594,1
    - Dst: std::get<6>
      Src: /src/pldm/fw-update/device_updater.cpp:595,1
    - Dst: debug
      Src: /src/pldm/fw-update/device_updater.cpp:596,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:600,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:605,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:614,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:619,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:632,1
    - Dst: reportFwUpdate
      Src: /src/pldm/fw-update/device_updater.cpp:636,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:639,1
    - Dst: Response::resize
      Src: /src/pldm/fw-update/device_updater.cpp:643,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:644,1
    - Dst: seekg
      Src: /src/pldm/fw-update/device_updater.cpp:645,1
    - Dst: read
      Src: /src/pldm/fw-update/device_updater.cpp:646,1
    - Dst: reinterpret_cast<char*>
      Src: /src/pldm/fw-update/device_updater.cpp:647,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:648,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/pldm/fw-update/device_updater.cpp:650,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:655,1
    - Dst: warning
      Src: /src/pldm/fw-update/device_updater.cpp:665,1
    - Dst: pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
      Src: /src/pldm/fw-update/device_updater.cpp:667,1
    - Dst: start
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: std::chrono::seconds
      Src: /src/pldm/fw-update/device_updater.cpp:672,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:677,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 683
    functionName: pldm::fw_update::DeviceUpdater::requestFwData
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - warning
    - start
    - updateActivationProgress
    - size
    - std::get<6>
    - error
    - std::chrono::seconds
    - reportFwUpdate
    - decode_request_firmware_data_req
    - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
    - Response::resize
    - encode_request_firmware_data_resp
    - reinterpret_cast<char*>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - std::get<5>
    - debug
    - read
    - seekg
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::requestFwData(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:690,1
    - Dst: stop
      Src: /src/pldm/fw-update/device_updater.cpp:694,1
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:695,1
    - Dst: decode_transfer_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:700,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:703,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:706,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:711,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:719,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:721,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:725,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:731,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:735,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:737,1
    - Dst: encode_transfer_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:740,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 751
    functionName: pldm::fw_update::DeviceUpdater::transferComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - std::get<ApplicableComponents>
    - error
    - info
    - stop
    - decode_transfer_complete_req
    - reset
    - pldm_msg::pldm_msg
    - encode_transfer_complete_resp
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::transferComplete(const pldm_msg* request,\n
      \                                        size_t payloadLength)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:758,1
    - Dst: decode_verify_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:761,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:764,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:767,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:772,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:780,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:782,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:783,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:785,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:788,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:793,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:799,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:803,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:805,1
    - Dst: encode_verify_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:808,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 819
    functionName: pldm::fw_update::DeviceUpdater::verifyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - size
    - updateState
    - error
    - info
    - decode_verify_complete_req
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - encode_verify_complete_resp
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::verifyComplete(const pldm_msg* request,\n
      \                                      size_t payloadLength)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Response::data
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:826,1
    - Dst: decode_apply_complete_req
      Src: /src/pldm/fw-update/device_updater.cpp:830,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:834,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:837,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:842,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:850,1
    - Dst: std::get<7>
      Src: /src/pldm/fw-update/device_updater.cpp:852,1
    - Dst: info
      Src: /src/pldm/fw-update/device_updater.cpp:857,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:860,1
    - Dst: updateState
      Src: /src/pldm/fw-update/device_updater.cpp:862,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:865,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:868,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:871,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:875,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:877,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:887,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:889,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:896,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:901,1
    - Dst: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
      Src: /src/pldm/fw-update/device_updater.cpp:904,1
    - Dst: encode_apply_complete_resp
      Src: /src/pldm/fw-update/device_updater.cpp:907,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - request
    - payloadLength
    argTypes:
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 918
    functionName: pldm::fw_update::DeviceUpdater::applyComplete
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - std::get<7>
    - Response::data
    - updateActivationProgress
    - clear
    - size
    - std::bind
    - error
    - info
    - std::make_unique<sdeventplus::source::Defer>
    - pldm_msg::pldm_msg
    - std::get<ApplicableComponents>
    - encode_apply_complete_resp
    - decode_apply_complete_req
    - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    - updateDeviceCompletion
    - updateState
    linkageType: ''
    returnType: Response
    signature: "Response DeviceUpdater::applyComplete(const pldm_msg* request,\n                                      size_t
      payloadLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:922,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:923,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:926,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:928,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:931,1
    - Dst: encode_activate_firmware_req
      Src: /src/pldm/fw-update/device_updater.cpp:933,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:938,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:939,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:944,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:945,1
    - Dst: pldm::fw_update::DeviceUpdater::activateFirmware
      Src: /src/pldm/fw-update/device_updater.cpp:947,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 955
    functionName: pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::DeviceUpdater::activateFirmware
    - error
    - pldm::InstanceIdError::InstanceIdError
    - encode_activate_firmware_req
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendActivateFirmwareRequest()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:963,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:966,1
    - Dst: decode_activate_firmware_resp
      Src: /src/pldm/fw-update/device_updater.cpp:973,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:978,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:981,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:987,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:990,1
    - Dst: updateActivationProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1000,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1002
    functionName: pldm::fw_update::DeviceUpdater::activateFirmware
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - decode_activate_firmware_resp
    - updateActivationProgress
    - error
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::activateFirmware(mctp_eid_t eid, const pldm_msg*
      response,\n                                     size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/device_updater.cpp:1006,1
    - Dst: instanceIdDb::next
      Src: /src/pldm/fw-update/device_updater.cpp:1007,1
    - Dst: pldm::InstanceIdError::InstanceIdError
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::error
      Src: /src/pldm/fw-update/device_updater.cpp:1010,1
    - Dst: auto::value
      Src: /src/pldm/fw-update/device_updater.cpp:1012,1
    - Dst: Request::data
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/device_updater.cpp:1014,1
    - Dst: encode_cancel_update_component_req
      Src: /src/pldm/fw-update/device_updater.cpp:1016,1
    - Dst: instanceIdDb::free
      Src: /src/pldm/fw-update/device_updater.cpp:1020,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1021,1
    - Dst: handler::registerRequest
      Src: /src/pldm/fw-update/device_updater.cpp:1027,1
    - Dst: std::move
      Src: /src/pldm/fw-update/device_updater.cpp:1029,1
    - Dst: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
      Src: /src/pldm/fw-update/device_updater.cpp:1031,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1039
    functionName: pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 16
    functionsReached:
    - error
    - encode_cancel_update_component_req
    - pldm::InstanceIdError::InstanceIdError
    - Request::data
    - std::move
    - reset
    - pldm_msg::pldm_msg
    - handler::registerRequest
    - auto::value
    - auto::error
    - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    - instanceIdDb::next
    - instanceIdDb::free
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater::sendCancelUpdateComponentRequest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1047,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/pldm/fw-update/device_updater.cpp:1054,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1058,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1066,1
    - Dst: std::get<ApplicableComponents>
      Src: /src/pldm/fw-update/device_updater.cpp:1074,1
    - Dst: size
      Src: /src/pldm/fw-update/device_updater.cpp:1076,1
    - Dst: clear
      Src: /src/pldm/fw-update/device_updater.cpp:1085,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1086,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1088,1
    - Dst: updateDeviceCompletion
      Src: /src/pldm/fw-update/device_updater.cpp:1093,1
    - Dst: std::make_unique<sdeventplus::source::Defer>
      Src: /src/pldm/fw-update/device_updater.cpp:1100,1
    - Dst: std::bind
      Src: /src/pldm/fw-update/device_updater.cpp:1102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - eid
    - response
    - respMsgLen
    argTypes:
    - mctp_eid_t
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1106
    functionName: pldm::fw_update::DeviceUpdater::cancelUpdateComponent
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - clear
    - size
    - std::bind
    - error
    - std::make_unique<sdeventplus::source::Defer>
    - std::get<ApplicableComponents>
    - decode_cancel_update_component_resp
    - updateDeviceCompletion
    linkageType: ''
    returnType: void
    signature: "void DeviceUpdater::cancelUpdateComponent(\n    mctp_eid_t eid, const
      pldm_msg* response, size_t respMsgLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/pldm/fw-update/device_updater.cpp:1110,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1124,1
    - Dst: getTotalSize
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: static_cast<uint64_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: pldm::fw_update::DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/device_updater.cpp:1126,1
    - Dst: error
      Src: /src/pldm/fw-update/device_updater.cpp:1131,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<double>
      Src: /src/pldm/fw-update/device_updater.cpp:1136,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    - Dst: std::floor
      Src: /src/pldm/fw-update/device_updater.cpp:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1139
    functionName: pldm::fw_update::DeviceUpdater::getProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.cpp
    functionUses: 4
    functionsReached:
    - empty
    - static_cast<uint64_t>
    - pldm::fw_update::DeviceUpdater::getProgress
    - static_cast<uint8_t>
    - error
    - getTotalSize
    - std::floor
    - static_cast<double>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DeviceUpdater::getProgress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PackageParser&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(PackageParser&&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PackageParser()
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pkgHeaderSize
    - ' pkgVersion'
    - componentBitmapBitLength
    argTypes:
    - PackageHeaderSize
    - PackageVersion
    - ComponentBitmapBitLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageParser(PackageHeaderSize pkgHeaderSize,\n                           const
      PackageVersion& pkgVersion,\n                           ComponentBitmapBitLength
      componentBitmapBitLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& getFwDeviceIDRecords() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareDeviceIDRecords
    signature: FirmwareDeviceIDRecords & getFwDeviceIDRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '& getComponentImageInfos() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComponentImageInfos
    signature: ComponentImageInfos & getComponentImageInfos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PackageParser&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(PackageParser&&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PackageParser()
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pkgHeaderSize
    - ' pkgVersion'
    - componentBitmapBitLength
    argTypes:
    - PackageHeaderSize
    - PackageVersion
    - ComponentBitmapBitLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageParser(PackageHeaderSize pkgHeaderSize,\n                           const
      PackageVersion& pkgVersion,\n                           ComponentBitmapBitLength
      componentBitmapBitLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& getFwDeviceIDRecords() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareDeviceIDRecords
    signature: FirmwareDeviceIDRecords & getFwDeviceIDRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '& getComponentImageInfos() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComponentImageInfos
    signature: ComponentImageInfos & getComponentImageInfos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PackageParser&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(PackageParser&&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PackageParser()
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pkgHeaderSize
    - ' pkgVersion'
    - componentBitmapBitLength
    argTypes:
    - PackageHeaderSize
    - PackageVersion
    - ComponentBitmapBitLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageParser(PackageHeaderSize pkgHeaderSize,\n                           const
      PackageVersion& pkgVersion,\n                           ComponentBitmapBitLength
      componentBitmapBitLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& getFwDeviceIDRecords() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareDeviceIDRecords
    signature: FirmwareDeviceIDRecords & getFwDeviceIDRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '& getComponentImageInfos() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComponentImageInfos
    signature: ComponentImageInfos & getComponentImageInfos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const PackageParser&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(const PackageParser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(PackageParser&&)'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PackageParser
    signature: PackageParser & operator=(PackageParser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~PackageParser()
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pkgHeaderSize
    - ' pkgVersion'
    - componentBitmapBitLength
    argTypes:
    - PackageHeaderSize
    - PackageVersion
    - ComponentBitmapBitLength
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackageParser(PackageHeaderSize pkgHeaderSize,\n                           const
      PackageVersion& pkgVersion,\n                           ComponentBitmapBitLength
      componentBitmapBitLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: '& getFwDeviceIDRecords() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FirmwareDeviceIDRecords
    signature: FirmwareDeviceIDRecords & getFwDeviceIDRecords() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: '& getComponentImageInfos() const'
    functionSourceFile: /src/pldm/fw-update/package_parser.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ComponentImageInfos
    signature: ComponentImageInfos & getComponentImageInfos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~UpdateProgress()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateProgress&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& operator=(const UpdateProgress&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const DeviceUpdater&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(DeviceUpdater&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~DeviceUpdater()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~UpdateProgress()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateProgress&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& operator=(const UpdateProgress&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const DeviceUpdater&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(DeviceUpdater&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~DeviceUpdater()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~UpdateProgress()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateProgress&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& operator=(const UpdateProgress&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const DeviceUpdater&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(DeviceUpdater&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~DeviceUpdater()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~UpdateProgress()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~UpdateProgress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(UpdateProgress&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& operator=(const UpdateProgress&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UpdateProgress
    signature: UpdateProgress & operator=(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(UpdateProgress&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: pldm::fw_update::UpdateProgress::UpdateProgress
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdateProgress(const UpdateProgress&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: pldm::fw_update::DeviceUpdater::DeviceUpdater
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceUpdater(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: '& operator=(const DeviceUpdater&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(const DeviceUpdater&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: '& operator=(DeviceUpdater&&)'
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceUpdater
    signature: DeviceUpdater & operator=(DeviceUpdater&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~DeviceUpdater()
    functionSourceFile: /src/pldm/fw-update/device_updater.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceUpdater()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager(const ItemUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager(ItemUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const ItemUpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemUpdateManager
    signature: ItemUpdateManager & operator=(const ItemUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(ItemUpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemUpdateManager
    signature: ItemUpdateManager & operator=(ItemUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ItemUpdateManager()
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.hpp:50,1
    - Dst: std::format
      Src: /src/pldm/fw-update/item_update_manager.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - eid
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' objPath'
    - ' generatedId'
    - ' descriptors'
    - ' componentInfo'
    argTypes:
    - mctp_eid_t
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - std::string
    - std::string
    - Descriptors
    - ComponentInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached:
    - std::format
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void ItemUpdateManager(\n        mctp_eid_t eid, Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const std::string& objPath,\n
      \       const std::string& generatedId, const Descriptors& descriptors,\n        const
      ComponentInfo& componentInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager(const ItemUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager(ItemUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const ItemUpdateManager&)'
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemUpdateManager
    signature: ItemUpdateManager & operator=(const ItemUpdateManager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(ItemUpdateManager&&)'
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ItemUpdateManager
    signature: ItemUpdateManager & operator=(ItemUpdateManager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ItemUpdateManager()
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ItemUpdateManager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.hpp:50,1
    - Dst: std::format
      Src: /src/pldm/fw-update/item_update_manager.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - eid
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    - ' objPath'
    - ' generatedId'
    - ' descriptors'
    - ' componentInfo'
    argTypes:
    - mctp_eid_t
    - Event
    - pldm::requester::Handler<pldm::requester::Request>
    - InstanceIdDb
    - std::string
    - std::string
    - Descriptors
    - ComponentInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: pldm::fw_update::ItemUpdateManager::ItemUpdateManager
    functionSourceFile: /src/pldm/fw-update/item_update_manager.hpp
    functionUses: 0
    functionsReached:
    - std::format
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: void
    signature: "void ItemUpdateManager(\n        mctp_eid_t eid, Event& event,\n        pldm::requester::Handler<pldm::requester::Request>&
      handler,\n        InstanceIdDb& instanceIdDb, const std::string& objPath,\n
      \       const std::string& generatedId, const Descriptors& descriptors,\n        const
      ComponentInfo& componentInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:39,1
    - Dst: progress
      Src: /src/pldm/fw-update/activation.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pldm::fw_update::ActivationProgress::ActivationProgress
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - progress
    linkageType: ''
    returnType: void
    signature: void ActivationProgress(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' objPath'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pldm::fw_update::Delete::Delete
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Delete(sdbusplus::bus_t& bus, const std::string& objPath,\n           UpdateManagerBase*
      updateManager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/pldm/fw-update/activation.hpp:88,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:92,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.hpp:95,1
    - Dst: emit_object_added
      Src: /src/pldm/fw-update/activation.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bus'
    - objPath
    - activationStatus
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - Activations
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::Activation::Activation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - emit_object_added
    - std::string::c_str
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: void
    signature: "void Activation(sdbusplus::bus_t& bus, std::string objPath,\n               Activations
      activationStatus, UpdateManagerBase* updateManager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:115,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:117,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:119,1
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RequestedActivations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: pldm::fw_update::Activation::requestedActivation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 1
    functionsReached:
    - pldm::fw_update::Activation::activation
    - pldm::fw_update::Activation::requestedActivation
    linkageType: ''
    returnType: RequestedActivations
    signature: "RequestedActivations requestedActivation(\n        RequestedActivations
      value) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:39,1
    - Dst: progress
      Src: /src/pldm/fw-update/activation.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pldm::fw_update::ActivationProgress::ActivationProgress
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - progress
    linkageType: ''
    returnType: void
    signature: void ActivationProgress(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' objPath'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pldm::fw_update::Delete::Delete
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Delete(sdbusplus::bus_t& bus, const std::string& objPath,\n           UpdateManagerBase*
      updateManager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/pldm/fw-update/activation.hpp:88,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:92,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.hpp:95,1
    - Dst: emit_object_added
      Src: /src/pldm/fw-update/activation.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bus'
    - objPath
    - activationStatus
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - Activations
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::Activation::Activation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - emit_object_added
    - std::string::c_str
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: void
    signature: "void Activation(sdbusplus::bus_t& bus, std::string objPath,\n               Activations
      activationStatus, UpdateManagerBase* updateManager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:115,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:117,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:119,1
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RequestedActivations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: pldm::fw_update::Activation::requestedActivation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 2
    functionsReached:
    - pldm::fw_update::Activation::activation
    - pldm::fw_update::Activation::requestedActivation
    linkageType: ''
    returnType: RequestedActivations
    signature: "RequestedActivations requestedActivation(\n        RequestedActivations
      value) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:39,1
    - Dst: progress
      Src: /src/pldm/fw-update/activation.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pldm::fw_update::ActivationProgress::ActivationProgress
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - progress
    linkageType: ''
    returnType: void
    signature: void ActivationProgress(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' objPath'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pldm::fw_update::Delete::Delete
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Delete(sdbusplus::bus_t& bus, const std::string& objPath,\n           UpdateManagerBase*
      updateManager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/pldm/fw-update/activation.hpp:88,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:92,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.hpp:95,1
    - Dst: emit_object_added
      Src: /src/pldm/fw-update/activation.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bus'
    - objPath
    - activationStatus
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - Activations
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::Activation::Activation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - emit_object_added
    - std::string::c_str
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: void
    signature: "void Activation(sdbusplus::bus_t& bus, std::string objPath,\n               Activations
      activationStatus, UpdateManagerBase* updateManager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:115,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:117,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:119,1
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RequestedActivations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: pldm::fw_update::Activation::requestedActivation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 3
    functionsReached:
    - pldm::fw_update::Activation::activation
    - pldm::fw_update::Activation::requestedActivation
    linkageType: ''
    returnType: RequestedActivations
    signature: "RequestedActivations requestedActivation(\n        RequestedActivations
      value) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:39,1
    - Dst: progress
      Src: /src/pldm/fw-update/activation.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bus'
    - ' objPath'
    argTypes:
    - sdbusplus::bus_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pldm::fw_update::ActivationProgress::ActivationProgress
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - progress
    linkageType: ''
    returnType: void
    signature: void ActivationProgress(sdbusplus::bus_t& bus, const std::string& objPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/pldm/fw-update/activation.hpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bus'
    - ' objPath'
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pldm::fw_update::Delete::Delete
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: void
    signature: "void Delete(sdbusplus::bus_t& bus, const std::string& objPath,\n           UpdateManagerBase*
      updateManager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/pldm/fw-update/activation.hpp:88,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:92,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.hpp:95,1
    - Dst: emit_object_added
      Src: /src/pldm/fw-update/activation.hpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bus'
    - objPath
    - activationStatus
    - updateManager
    argTypes:
    - sdbusplus::bus_t
    - std::string
    - Activations
    - UpdateManagerBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::Activation::Activation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 0
    functionsReached:
    - emit_object_added
    - std::string::c_str
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: void
    signature: "void Activation(sdbusplus::bus_t& bus, std::string objPath,\n               Activations
      activationStatus, UpdateManagerBase* updateManager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:115,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:117,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.hpp:119,1
    - Dst: pldm::fw_update::Activation::requestedActivation
      Src: /src/pldm/fw-update/activation.hpp:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - RequestedActivations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: pldm::fw_update::Activation::requestedActivation
    functionSourceFile: /src/pldm/fw-update/activation.hpp
    functionUses: 4
    functionsReached:
    - pldm::fw_update::Activation::activation
    - pldm::fw_update::Activation::requestedActivation
    linkageType: ''
    returnType: RequestedActivations
    signature: "RequestedActivations requestedActivation(\n        RequestedActivations
      value) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dbusHandler
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - pldm::utils::DBusHandler*
    - Event
    - requester::Handler<requester::Request>
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(const pldm::utils::DBusHandler* dbusHandler, Event& event,\n
      \                    requester::Handler<requester::Request>& handler,\n                     pldm::InstanceIdDb&
      instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverFDs
      Src: /src/pldm/fw-update/manager.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pldm::fw_update::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverFDs
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' configurations'
    argTypes:
    - Configurations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pldm::fw_update::Manager::handleConfigurations
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& configurations) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeFDs
      Src: /src/pldm/fw-update/manager.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - removeFDs
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::fw_update::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateMctpEndpointAvailability(const MctpInfo&, Availability)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Manager::handleRequest
      Src: /src/pldm/fw-update/manager.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::Manager::handleRequest
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 1
    functionsReached:
    - pldm::fw_update::Manager::handleRequest
    linkageType: ''
    returnType: Response
    signature: "Response handleRequest(mctp_eid_t eid, Command command,\n                           const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: std::optional<mctp_eid_t> getActiveEidByName(const std::string&) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dbusHandler
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - pldm::utils::DBusHandler*
    - Event
    - requester::Handler<requester::Request>
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(const pldm::utils::DBusHandler* dbusHandler, Event& event,\n
      \                    requester::Handler<requester::Request>& handler,\n                     pldm::InstanceIdDb&
      instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverFDs
      Src: /src/pldm/fw-update/manager.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pldm::fw_update::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverFDs
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' configurations'
    argTypes:
    - Configurations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pldm::fw_update::Manager::handleConfigurations
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& configurations) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeFDs
      Src: /src/pldm/fw-update/manager.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - removeFDs
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::fw_update::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateMctpEndpointAvailability(const MctpInfo&, Availability)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Manager::handleRequest
      Src: /src/pldm/fw-update/manager.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::Manager::handleRequest
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 2
    functionsReached:
    - pldm::fw_update::Manager::handleRequest
    linkageType: ''
    returnType: Response
    signature: "Response handleRequest(mctp_eid_t eid, Command command,\n                           const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: std::optional<mctp_eid_t> getActiveEidByName(const std::string&) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dbusHandler
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - pldm::utils::DBusHandler*
    - Event
    - requester::Handler<requester::Request>
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(const pldm::utils::DBusHandler* dbusHandler, Event& event,\n
      \                    requester::Handler<requester::Request>& handler,\n                     pldm::InstanceIdDb&
      instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverFDs
      Src: /src/pldm/fw-update/manager.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pldm::fw_update::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverFDs
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' configurations'
    argTypes:
    - Configurations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pldm::fw_update::Manager::handleConfigurations
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& configurations) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeFDs
      Src: /src/pldm/fw-update/manager.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - removeFDs
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::fw_update::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateMctpEndpointAvailability(const MctpInfo&, Availability)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Manager::handleRequest
      Src: /src/pldm/fw-update/manager.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::Manager::handleRequest
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 3
    functionsReached:
    - pldm::fw_update::Manager::handleRequest
    linkageType: ''
    returnType: Response
    signature: "Response handleRequest(mctp_eid_t eid, Command command,\n                           const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: std::optional<mctp_eid_t> getActiveEidByName(const std::string&) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Manager(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const Manager&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(const Manager&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& operator=(Manager&&)'
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Manager
    signature: Manager & operator=(Manager&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~Manager() override
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Manager() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - dbusHandler
    - ' event'
    - ' handler'
    - ' instanceIdDb'
    argTypes:
    - pldm::utils::DBusHandler*
    - Event
    - requester::Handler<requester::Request>
    - pldm::InstanceIdDb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: pldm::fw_update::Manager::Manager
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Manager(const pldm::utils::DBusHandler* dbusHandler, Event& event,\n
      \                    requester::Handler<requester::Request>& handler,\n                     pldm::InstanceIdDb&
      instanceIdDb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discoverFDs
      Src: /src/pldm/fw-update/manager.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pldm::fw_update::Manager::handleMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - discoverFDs
    linkageType: ''
    returnType: void
    signature: void handleMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' configurations'
    argTypes:
    - Configurations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pldm::fw_update::Manager::handleConfigurations
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handleConfigurations(const Configurations& configurations) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeFDs
      Src: /src/pldm/fw-update/manager.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mctpInfos'
    argTypes:
    - MctpInfos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm::fw_update::Manager::handleRemovedMctpEndpoints
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached:
    - removeFDs
    linkageType: ''
    returnType: void
    signature: void handleRemovedMctpEndpoints(const MctpInfos& mctpInfos) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm::fw_update::Manager::updateMctpEndpointAvailability
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void updateMctpEndpointAvailability(const MctpInfo&, Availability)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Manager::handleRequest
      Src: /src/pldm/fw-update/manager.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - Command
    - pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::Manager::handleRequest
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 4
    functionsReached:
    - pldm::fw_update::Manager::handleRequest
    linkageType: ''
    returnType: Response
    signature: "Response handleRequest(mctp_eid_t eid, Command command,\n                           const
      pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pldm::fw_update::Manager::getActiveEidByName
    functionSourceFile: /src/pldm/fw-update/manager.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::optional<mctp_eid_t>
    signature: std::optional<mctp_eid_t> getActiveEidByName(const std::string&) override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/fw-update/watch.cpp:27,1
    - Dst: fs::create_directories
      Src: /src/pldm/fw-update/watch.cpp:29,1
    - Dst: inotify_init1
      Src: /src/pldm/fw-update/watch.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:38,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:39,1
    - Dst: inotify_add_watch
      Src: /src/pldm/fw-update/watch.cpp:42,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:47,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:48,1
    - Dst: sd_event_add_io
      Src: /src/pldm/fw-update/watch.cpp:51,1
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:54,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:56,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - loop
    - imageCallback
    argTypes:
    - sd_event*
    - std::function<int(const std::string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_add_watch
    - inotify_rm_watch
    - sd_event_add_io
    - std::strerror
    - fs::create_directories
    - std::runtime_error
    - fs::is_directory
    - close
    - inotify_init1
    linkageType: ''
    returnType: void
    signature: "void Watch::Watch(sd_event* loop,\n             std::function<int(const
      std::string&)> imageCallback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:67,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Watch::~Watch()
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_rm_watch
    - close
    linkageType: ''
    returnType: void
    signature: void Watch::~Watch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/fw-update/watch.cpp:83,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:87,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:88,1
    - Dst: reinterpret_cast<inotify_event*>
      Src: /src/pldm/fw-update/watch.cpp:94,1
    - Dst: static_cast<Watch*>
      Src: /src/pldm/fw-update/watch.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - revents
    - userdata
    argTypes:
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: pldm::fw_update::Watch::callback
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - reinterpret_cast<inotify_event*>
    - std::runtime_error
    - static_cast<Watch*>
    - read
    linkageType: ''
    returnType: int
    signature: "int Watch::callback(sd_event_source* /* s */, int fd, uint32_t revents,\n
      \                   void* userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/fw-update/watch.cpp:27,1
    - Dst: fs::create_directories
      Src: /src/pldm/fw-update/watch.cpp:29,1
    - Dst: inotify_init1
      Src: /src/pldm/fw-update/watch.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:38,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:39,1
    - Dst: inotify_add_watch
      Src: /src/pldm/fw-update/watch.cpp:42,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:47,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:48,1
    - Dst: sd_event_add_io
      Src: /src/pldm/fw-update/watch.cpp:51,1
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:54,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:56,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - loop
    - imageCallback
    argTypes:
    - sd_event*
    - std::function<int(const std::string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_add_watch
    - inotify_rm_watch
    - sd_event_add_io
    - std::strerror
    - fs::create_directories
    - std::runtime_error
    - fs::is_directory
    - close
    - inotify_init1
    linkageType: ''
    returnType: void
    signature: "void Watch::Watch(sd_event* loop,\n             std::function<int(const
      std::string&)> imageCallback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:67,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Watch::~Watch()
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_rm_watch
    - close
    linkageType: ''
    returnType: void
    signature: void Watch::~Watch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/fw-update/watch.cpp:83,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:87,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:88,1
    - Dst: reinterpret_cast<inotify_event*>
      Src: /src/pldm/fw-update/watch.cpp:94,1
    - Dst: static_cast<Watch*>
      Src: /src/pldm/fw-update/watch.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - revents
    - userdata
    argTypes:
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: pldm::fw_update::Watch::callback
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - reinterpret_cast<inotify_event*>
    - std::runtime_error
    - static_cast<Watch*>
    - read
    linkageType: ''
    returnType: int
    signature: "int Watch::callback(sd_event_source* /* s */, int fd, uint32_t revents,\n
      \                   void* userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/fw-update/watch.cpp:27,1
    - Dst: fs::create_directories
      Src: /src/pldm/fw-update/watch.cpp:29,1
    - Dst: inotify_init1
      Src: /src/pldm/fw-update/watch.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:38,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:39,1
    - Dst: inotify_add_watch
      Src: /src/pldm/fw-update/watch.cpp:42,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:47,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:48,1
    - Dst: sd_event_add_io
      Src: /src/pldm/fw-update/watch.cpp:51,1
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:54,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:56,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - loop
    - imageCallback
    argTypes:
    - sd_event*
    - std::function<int(const std::string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_add_watch
    - inotify_rm_watch
    - sd_event_add_io
    - std::strerror
    - fs::create_directories
    - std::runtime_error
    - fs::is_directory
    - close
    - inotify_init1
    linkageType: ''
    returnType: void
    signature: "void Watch::Watch(sd_event* loop,\n             std::function<int(const
      std::string&)> imageCallback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:67,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Watch::~Watch()
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_rm_watch
    - close
    linkageType: ''
    returnType: void
    signature: void Watch::~Watch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/fw-update/watch.cpp:83,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:87,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:88,1
    - Dst: reinterpret_cast<inotify_event*>
      Src: /src/pldm/fw-update/watch.cpp:94,1
    - Dst: static_cast<Watch*>
      Src: /src/pldm/fw-update/watch.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - revents
    - userdata
    argTypes:
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: pldm::fw_update::Watch::callback
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - reinterpret_cast<inotify_event*>
    - std::runtime_error
    - static_cast<Watch*>
    - read
    linkageType: ''
    returnType: int
    signature: "int Watch::callback(sd_event_source* /* s */, int fd, uint32_t revents,\n
      \                   void* userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fs::is_directory
      Src: /src/pldm/fw-update/watch.cpp:27,1
    - Dst: fs::create_directories
      Src: /src/pldm/fw-update/watch.cpp:29,1
    - Dst: inotify_init1
      Src: /src/pldm/fw-update/watch.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:38,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:39,1
    - Dst: inotify_add_watch
      Src: /src/pldm/fw-update/watch.cpp:42,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:47,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:48,1
    - Dst: sd_event_add_io
      Src: /src/pldm/fw-update/watch.cpp:51,1
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:54,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:55,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:56,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - loop
    - imageCallback
    argTypes:
    - sd_event*
    - std::function<int(const std::string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: pldm::fw_update::Watch::Watch
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_add_watch
    - inotify_rm_watch
    - sd_event_add_io
    - std::strerror
    - fs::create_directories
    - std::runtime_error
    - fs::is_directory
    - close
    - inotify_init1
    linkageType: ''
    returnType: void
    signature: "void Watch::Watch(sd_event* loop,\n             std::function<int(const
      std::string&)> imageCallback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inotify_rm_watch
      Src: /src/pldm/fw-update/watch.cpp:67,1
    - Dst: close
      Src: /src/pldm/fw-update/watch.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: Watch::~Watch()
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - inotify_rm_watch
    - close
    linkageType: ''
    returnType: void
    signature: void Watch::~Watch()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/pldm/fw-update/watch.cpp:83,1
    - Dst: std::runtime_error
      Src: /src/pldm/fw-update/watch.cpp:87,1
    - Dst: std::strerror
      Src: /src/pldm/fw-update/watch.cpp:88,1
    - Dst: reinterpret_cast<inotify_event*>
      Src: /src/pldm/fw-update/watch.cpp:94,1
    - Dst: static_cast<Watch*>
      Src: /src/pldm/fw-update/watch.cpp:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - revents
    - userdata
    argTypes:
    - int
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: pldm::fw_update::Watch::callback
    functionSourceFile: /src/pldm/fw-update/watch.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - reinterpret_cast<inotify_event*>
    - std::runtime_error
    - static_cast<Watch*>
    - read
    linkageType: ''
    returnType: int
    signature: "int Watch::callback(sd_event_source* /* s */, int fd, uint32_t revents,\n
      \                   void* userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:28,1
    - Dst: decode_firmware_device_id_record
      Src: /src/pldm/fw-update/package_parser.cpp:38,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:39,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:44,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:47,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/package_parser.cpp:57,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:62,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:66,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:71,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/package_parser.cpp:82,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:87,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:91,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:94,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:104,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:105,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:120,1
    - Dst: ApplicableComponents::emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:124,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:125,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    - Dst: std::move
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - deviceIdRecCount
    - ' pkgHdr'
    - offset
    argTypes:
    - DeviceIDRecordCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 141
    functionName: pldm::fw_update::PackageParser::parseFDIdentificationArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::make_tuple
    - pldm_descriptor_tlv
    - std::bitset::size
    - size
    - data
    - decode_descriptor_type_length_value
    - error
    - InternalFailure
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - ApplicableComponents::emplace_back
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseFDIdentificationArea(\n    DeviceIDRecordCount
      deviceIdRecCount, const std::vector<uint8_t>& pkgHdr,\n    size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:147,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/pldm/fw-update/package_parser.cpp:154,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:155,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:159,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:162,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - compImageCount
    - ' pkgHdr'
    - offset
    argTypes:
    - ComponentImageCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: pldm::fw_update::PackageParser::parseCompImageInfoArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - size
    - data
    - decode_pldm_comp_image_info
    - error
    - InternalFailure
    - pldm::utils::toString
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseCompImageInfoArea(ComponentImageCount compImageCount,\n
      \                                            const std::vector<uint8_t>& pkgHdr,\n
      \                                            size_t offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:195,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/package_parser.cpp:198,1
    - Dst: "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:203,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:205,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:209,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:217,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pkgSize
    argTypes:
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: pldm::fw_update::PackageParser::validatePkgTotalSize
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 0
    functionsReached:
    - "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
    - error
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - InternalFailure
    linkageType: ''
    returnType: void
    signature: void PackageParser::validatePkgTotalSize(uintmax_t pkgSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:226,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:228,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:230,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:233,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:236,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:238,1
    - Dst: static_cast<DeviceIDRecordCount>
      Src: /src/pldm/fw-update/package_parser.cpp:241,1
    - Dst: pldm::fw_update::PackageParser::parseFDIdentificationArea
      Src: /src/pldm/fw-update/package_parser.cpp:244,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:245,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:247,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:249,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:253,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:255,1
    - Dst: static_cast<ComponentImageCount>
      Src: /src/pldm/fw-update/package_parser.cpp:258,1
    - Dst: le16toh
      Src: /src/pldm/fw-update/package_parser.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parseCompImageInfoArea
      Src: /src/pldm/fw-update/package_parser.cpp:262,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:263,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:265,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:267,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:272,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:274,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: static_cast<PackageHeaderChecksum>
      Src: /src/pldm/fw-update/package_parser.cpp:278,1
    - Dst: le32toh
      Src: /src/pldm/fw-update/package_parser.cpp:279,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:283,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:287,1
    - Dst: pldm::fw_update::PackageParser::validatePkgTotalSize
      Src: /src/pldm/fw-update/package_parser.cpp:290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ' pkgHdr'
    - pkgSize
    argTypes:
    - std::vector<uint8_t>
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: pldm::fw_update::PackageParser::parse
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 54
    functionsReached:
    - pldm_edac_crc32
    - pldm::fw_update::PackageParser::parseFDIdentificationArea
    - static_cast<PackageHeaderChecksum>
    - size
    - pldm::fw_update::PackageParser::parseCompImageInfoArea
    - data
    - error
    - static_cast<DeviceIDRecordCount>
    - le16toh
    - InternalFailure
    - static_cast<ComponentImageCount>
    - pldm::fw_update::PackageParser::validatePkgTotalSize
    - le32toh
    linkageType: ''
    returnType: void
    signature: void PackageParser::parse(const std::vector<uint8_t>& pkgHdr, uintmax_t
      pkgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_header_info
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:306,1
    - Dst: std::equal
      Src: /src/pldm/fw-update/package_parser.cpp:312,1
    - Dst: std::array::begin
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::array::end
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::make_unique<PackageParser>
      Src: /src/pldm/fw-update/package_parser.cpp:319,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' pkgData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: pldm::fw_update::parsePkgHeader
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - decode_pldm_package_header_info
    - error
    - std::array::end
    - std::make_unique<PackageParser>
    - std::array::begin
    - std::equal
    - pldm::utils::toString
    linkageType: ''
    returnType: std::unique_ptr<PackageParser>
    signature: std::unique_ptr<PackageParser> parsePkgHeader(std::vector<uint8_t>&
      pkgData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:28,1
    - Dst: decode_firmware_device_id_record
      Src: /src/pldm/fw-update/package_parser.cpp:38,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:39,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:44,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:47,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/package_parser.cpp:57,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:62,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:66,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:71,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/package_parser.cpp:82,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:87,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:91,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:94,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:104,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:105,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:120,1
    - Dst: ApplicableComponents::emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:124,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:125,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    - Dst: std::move
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - deviceIdRecCount
    - ' pkgHdr'
    - offset
    argTypes:
    - DeviceIDRecordCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 141
    functionName: pldm::fw_update::PackageParser::parseFDIdentificationArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - decode_firmware_device_id_record
    - std::make_tuple
    - pldm_descriptor_tlv
    - std::bitset::size
    - size
    - data
    - decode_descriptor_type_length_value
    - error
    - InternalFailure
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - ApplicableComponents::emplace_back
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseFDIdentificationArea(\n    DeviceIDRecordCount
      deviceIdRecCount, const std::vector<uint8_t>& pkgHdr,\n    size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:147,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/pldm/fw-update/package_parser.cpp:154,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:155,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:159,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:162,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - compImageCount
    - ' pkgHdr'
    - offset
    argTypes:
    - ComponentImageCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: pldm::fw_update::PackageParser::parseCompImageInfoArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - std::make_tuple
    - size
    - data
    - decode_pldm_comp_image_info
    - error
    - InternalFailure
    - pldm::utils::toString
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseCompImageInfoArea(ComponentImageCount compImageCount,\n
      \                                            const std::vector<uint8_t>& pkgHdr,\n
      \                                            size_t offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:195,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/package_parser.cpp:198,1
    - Dst: "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:203,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:205,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:209,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:217,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pkgSize
    argTypes:
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: pldm::fw_update::PackageParser::validatePkgTotalSize
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
    - error
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - InternalFailure
    linkageType: ''
    returnType: void
    signature: void PackageParser::validatePkgTotalSize(uintmax_t pkgSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:226,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:228,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:230,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:233,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:236,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:238,1
    - Dst: static_cast<DeviceIDRecordCount>
      Src: /src/pldm/fw-update/package_parser.cpp:241,1
    - Dst: pldm::fw_update::PackageParser::parseFDIdentificationArea
      Src: /src/pldm/fw-update/package_parser.cpp:244,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:245,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:247,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:249,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:253,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:255,1
    - Dst: static_cast<ComponentImageCount>
      Src: /src/pldm/fw-update/package_parser.cpp:258,1
    - Dst: le16toh
      Src: /src/pldm/fw-update/package_parser.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parseCompImageInfoArea
      Src: /src/pldm/fw-update/package_parser.cpp:262,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:263,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:265,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:267,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:272,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:274,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: static_cast<PackageHeaderChecksum>
      Src: /src/pldm/fw-update/package_parser.cpp:278,1
    - Dst: le32toh
      Src: /src/pldm/fw-update/package_parser.cpp:279,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:283,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:287,1
    - Dst: pldm::fw_update::PackageParser::validatePkgTotalSize
      Src: /src/pldm/fw-update/package_parser.cpp:290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ' pkgHdr'
    - pkgSize
    argTypes:
    - std::vector<uint8_t>
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: pldm::fw_update::PackageParser::parse
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 54
    functionsReached:
    - pldm_edac_crc32
    - pldm::fw_update::PackageParser::parseFDIdentificationArea
    - static_cast<PackageHeaderChecksum>
    - size
    - pldm::fw_update::PackageParser::parseCompImageInfoArea
    - data
    - error
    - static_cast<DeviceIDRecordCount>
    - le16toh
    - InternalFailure
    - static_cast<ComponentImageCount>
    - pldm::fw_update::PackageParser::validatePkgTotalSize
    - le32toh
    linkageType: ''
    returnType: void
    signature: void PackageParser::parse(const std::vector<uint8_t>& pkgHdr, uintmax_t
      pkgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_header_info
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:306,1
    - Dst: std::equal
      Src: /src/pldm/fw-update/package_parser.cpp:312,1
    - Dst: std::array::begin
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::array::end
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::make_unique<PackageParser>
      Src: /src/pldm/fw-update/package_parser.cpp:319,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' pkgData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: pldm::fw_update::parsePkgHeader
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - decode_pldm_package_header_info
    - error
    - std::array::end
    - std::make_unique<PackageParser>
    - std::array::begin
    - std::equal
    - pldm::utils::toString
    linkageType: ''
    returnType: std::unique_ptr<PackageParser>
    signature: std::unique_ptr<PackageParser> parsePkgHeader(std::vector<uint8_t>&
      pkgData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:28,1
    - Dst: decode_firmware_device_id_record
      Src: /src/pldm/fw-update/package_parser.cpp:38,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:39,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:44,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:47,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/package_parser.cpp:57,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:62,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:66,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:71,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/package_parser.cpp:82,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:87,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:91,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:94,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:104,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:105,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:120,1
    - Dst: ApplicableComponents::emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:124,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:125,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    - Dst: std::move
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - deviceIdRecCount
    - ' pkgHdr'
    - offset
    argTypes:
    - DeviceIDRecordCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 141
    functionName: pldm::fw_update::PackageParser::parseFDIdentificationArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 2
    functionsReached:
    - decode_firmware_device_id_record
    - std::make_tuple
    - pldm_descriptor_tlv
    - std::bitset::size
    - size
    - data
    - decode_descriptor_type_length_value
    - error
    - InternalFailure
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - ApplicableComponents::emplace_back
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseFDIdentificationArea(\n    DeviceIDRecordCount
      deviceIdRecCount, const std::vector<uint8_t>& pkgHdr,\n    size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:147,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/pldm/fw-update/package_parser.cpp:154,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:155,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:159,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:162,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - compImageCount
    - ' pkgHdr'
    - offset
    argTypes:
    - ComponentImageCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: pldm::fw_update::PackageParser::parseCompImageInfoArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 2
    functionsReached:
    - std::make_tuple
    - size
    - data
    - decode_pldm_comp_image_info
    - error
    - InternalFailure
    - pldm::utils::toString
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseCompImageInfoArea(ComponentImageCount compImageCount,\n
      \                                            const std::vector<uint8_t>& pkgHdr,\n
      \                                            size_t offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:195,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/package_parser.cpp:198,1
    - Dst: "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:203,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:205,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:209,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:217,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pkgSize
    argTypes:
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: pldm::fw_update::PackageParser::validatePkgTotalSize
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 2
    functionsReached:
    - "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
    - error
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - InternalFailure
    linkageType: ''
    returnType: void
    signature: void PackageParser::validatePkgTotalSize(uintmax_t pkgSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:226,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:228,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:230,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:233,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:236,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:238,1
    - Dst: static_cast<DeviceIDRecordCount>
      Src: /src/pldm/fw-update/package_parser.cpp:241,1
    - Dst: pldm::fw_update::PackageParser::parseFDIdentificationArea
      Src: /src/pldm/fw-update/package_parser.cpp:244,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:245,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:247,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:249,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:253,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:255,1
    - Dst: static_cast<ComponentImageCount>
      Src: /src/pldm/fw-update/package_parser.cpp:258,1
    - Dst: le16toh
      Src: /src/pldm/fw-update/package_parser.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parseCompImageInfoArea
      Src: /src/pldm/fw-update/package_parser.cpp:262,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:263,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:265,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:267,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:272,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:274,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: static_cast<PackageHeaderChecksum>
      Src: /src/pldm/fw-update/package_parser.cpp:278,1
    - Dst: le32toh
      Src: /src/pldm/fw-update/package_parser.cpp:279,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:283,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:287,1
    - Dst: pldm::fw_update::PackageParser::validatePkgTotalSize
      Src: /src/pldm/fw-update/package_parser.cpp:290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ' pkgHdr'
    - pkgSize
    argTypes:
    - std::vector<uint8_t>
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: pldm::fw_update::PackageParser::parse
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 54
    functionsReached:
    - pldm_edac_crc32
    - pldm::fw_update::PackageParser::parseFDIdentificationArea
    - static_cast<PackageHeaderChecksum>
    - size
    - pldm::fw_update::PackageParser::parseCompImageInfoArea
    - data
    - error
    - static_cast<DeviceIDRecordCount>
    - le16toh
    - InternalFailure
    - static_cast<ComponentImageCount>
    - pldm::fw_update::PackageParser::validatePkgTotalSize
    - le32toh
    linkageType: ''
    returnType: void
    signature: void PackageParser::parse(const std::vector<uint8_t>& pkgHdr, uintmax_t
      pkgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_header_info
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:306,1
    - Dst: std::equal
      Src: /src/pldm/fw-update/package_parser.cpp:312,1
    - Dst: std::array::begin
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::array::end
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::make_unique<PackageParser>
      Src: /src/pldm/fw-update/package_parser.cpp:319,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' pkgData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: pldm::fw_update::parsePkgHeader
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - decode_pldm_package_header_info
    - error
    - std::array::end
    - std::make_unique<PackageParser>
    - std::array::begin
    - std::equal
    - pldm::utils::toString
    linkageType: ''
    returnType: std::unique_ptr<PackageParser>
    signature: std::unique_ptr<PackageParser> parsePkgHeader(std::vector<uint8_t>&
      pkgData)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:28,1
    - Dst: decode_firmware_device_id_record
      Src: /src/pldm/fw-update/package_parser.cpp:38,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:39,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:44,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:47,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/pldm/fw-update/package_parser.cpp:57,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:62,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:66,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:71,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/pldm/fw-update/package_parser.cpp:82,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:87,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:91,1
    - Dst: Descriptors::emplace
      Src: /src/pldm/fw-update/package_parser.cpp:94,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:96,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:104,1
    - Dst: pldm_descriptor_tlv
      Src: /src/pldm/fw-update/package_parser.cpp:105,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:120,1
    - Dst: ApplicableComponents::emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:124,1
    - Dst: std::bitset::size
      Src: /src/pldm/fw-update/package_parser.cpp:125,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:130,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    - Dst: std::move
      Src: /src/pldm/fw-update/package_parser.cpp:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - deviceIdRecCount
    - ' pkgHdr'
    - offset
    argTypes:
    - DeviceIDRecordCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 141
    functionName: pldm::fw_update::PackageParser::parseFDIdentificationArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 3
    functionsReached:
    - decode_firmware_device_id_record
    - std::make_tuple
    - pldm_descriptor_tlv
    - std::bitset::size
    - size
    - data
    - decode_descriptor_type_length_value
    - error
    - InternalFailure
    - std::move
    - Descriptors::emplace
    - decode_vendor_defined_descriptor_value
    - pldm::utils::toString
    - ApplicableComponents::emplace_back
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseFDIdentificationArea(\n    DeviceIDRecordCount
      deviceIdRecCount, const std::vector<uint8_t>& pkgHdr,\n    size_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:147,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/pldm/fw-update/package_parser.cpp:154,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:155,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:159,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:162,1
    - Dst: emplace_back
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/package_parser.cpp:177,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - compImageCount
    - ' pkgHdr'
    - offset
    argTypes:
    - ComponentImageCount
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 188
    functionName: pldm::fw_update::PackageParser::parseCompImageInfoArea
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 3
    functionsReached:
    - std::make_tuple
    - size
    - data
    - decode_pldm_comp_image_info
    - error
    - InternalFailure
    - pldm::utils::toString
    - emplace_back
    linkageType: ''
    returnType: size_t
    signature: "size_t PackageParser::parseCompImageInfoArea(ComponentImageCount compImageCount,\n
      \                                            const std::vector<uint8_t>& pkgHdr,\n
      \                                            size_t offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:195,1
    - Dst: std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
      Src: /src/pldm/fw-update/package_parser.cpp:198,1
    - Dst: "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
      Src: /src/pldm/fw-update/package_parser.cpp:203,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:205,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:209,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:217,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pkgSize
    argTypes:
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: pldm::fw_update::PackageParser::validatePkgTotalSize
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 3
    functionsReached:
    - "std::get<static_cast<size_t>(\n                ComponentImageInfoPos::CompVersionPos)>"
    - "std::get<static_cast<size_t>(\n            ComponentImageInfoPos::CompLocationOffsetPos)>"
    - error
    - std::get<static_cast<size_t>(ComponentImageInfoPos::CompSizePos)>
    - InternalFailure
    linkageType: ''
    returnType: void
    signature: void PackageParser::validatePkgTotalSize(uintmax_t pkgSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:226,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:228,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:230,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:233,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:236,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:238,1
    - Dst: static_cast<DeviceIDRecordCount>
      Src: /src/pldm/fw-update/package_parser.cpp:241,1
    - Dst: pldm::fw_update::PackageParser::parseFDIdentificationArea
      Src: /src/pldm/fw-update/package_parser.cpp:244,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:245,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:247,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:249,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:253,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:255,1
    - Dst: static_cast<ComponentImageCount>
      Src: /src/pldm/fw-update/package_parser.cpp:258,1
    - Dst: le16toh
      Src: /src/pldm/fw-update/package_parser.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parseCompImageInfoArea
      Src: /src/pldm/fw-update/package_parser.cpp:262,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:263,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:265,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:267,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:272,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:274,1
    - Dst: pldm_edac_crc32
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:277,1
    - Dst: static_cast<PackageHeaderChecksum>
      Src: /src/pldm/fw-update/package_parser.cpp:278,1
    - Dst: le32toh
      Src: /src/pldm/fw-update/package_parser.cpp:279,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:283,1
    - Dst: InternalFailure
      Src: /src/pldm/fw-update/package_parser.cpp:287,1
    - Dst: pldm::fw_update::PackageParser::validatePkgTotalSize
      Src: /src/pldm/fw-update/package_parser.cpp:290,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ' pkgHdr'
    - pkgSize
    argTypes:
    - std::vector<uint8_t>
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: pldm::fw_update::PackageParser::parse
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 54
    functionsReached:
    - pldm_edac_crc32
    - pldm::fw_update::PackageParser::parseFDIdentificationArea
    - static_cast<PackageHeaderChecksum>
    - size
    - pldm::fw_update::PackageParser::parseCompImageInfoArea
    - data
    - error
    - static_cast<DeviceIDRecordCount>
    - le16toh
    - InternalFailure
    - static_cast<ComponentImageCount>
    - pldm::fw_update::PackageParser::validatePkgTotalSize
    - le32toh
    linkageType: ''
    returnType: void
    signature: void PackageParser::parse(const std::vector<uint8_t>& pkgHdr, uintmax_t
      pkgSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_header_info
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: data
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: size
      Src: /src/pldm/fw-update/package_parser.cpp:302,1
    - Dst: error
      Src: /src/pldm/fw-update/package_parser.cpp:306,1
    - Dst: std::equal
      Src: /src/pldm/fw-update/package_parser.cpp:312,1
    - Dst: std::array::begin
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::array::end
      Src: /src/pldm/fw-update/package_parser.cpp:313,1
    - Dst: std::make_unique<PackageParser>
      Src: /src/pldm/fw-update/package_parser.cpp:319,1
    - Dst: pldm::utils::toString
      Src: /src/pldm/fw-update/package_parser.cpp:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' pkgData'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: pldm::fw_update::parsePkgHeader
    functionSourceFile: /src/pldm/fw-update/package_parser.cpp
    functionUses: 1
    functionsReached:
    - size
    - data
    - decode_pldm_package_header_info
    - error
    - std::array::end
    - std::make_unique<PackageParser>
    - std::array::begin
    - std::equal
    - pldm::utils::toString
    linkageType: ''
    returnType: std::unique_ptr<PackageParser>
    signature: std::unique_ptr<PackageParser> parsePkgHeader(std::vector<uint8_t>&
      pkgData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:15,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:17,1
    - Dst: reset
      Src: /src/pldm/fw-update/activation.cpp:19,1
    - Dst: activatePackage
      Src: /src/pldm/fw-update/activation.cpp:20,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.cpp:27,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - ActivationIntf::Activations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Activation::activation
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 9
    functionsReached:
    - activatePackage
    - reset
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: ActivationIntf::Activations
    signature: "ActivationIntf::Activations Activation::activation(\n    ActivationIntf::Activations
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/activation.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::fw_update::Delete::delete_
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 0
    functionsReached:
    - resetActivationState
    linkageType: ''
    returnType: void
    signature: void Delete::delete_()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:15,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:17,1
    - Dst: reset
      Src: /src/pldm/fw-update/activation.cpp:19,1
    - Dst: activatePackage
      Src: /src/pldm/fw-update/activation.cpp:20,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.cpp:27,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - ActivationIntf::Activations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Activation::activation
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 10
    functionsReached:
    - activatePackage
    - reset
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: ActivationIntf::Activations
    signature: "ActivationIntf::Activations Activation::activation(\n    ActivationIntf::Activations
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/activation.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::fw_update::Delete::delete_
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 0
    functionsReached:
    - resetActivationState
    linkageType: ''
    returnType: void
    signature: void Delete::delete_()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:15,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:17,1
    - Dst: reset
      Src: /src/pldm/fw-update/activation.cpp:19,1
    - Dst: activatePackage
      Src: /src/pldm/fw-update/activation.cpp:20,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.cpp:27,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - ActivationIntf::Activations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Activation::activation
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 11
    functionsReached:
    - activatePackage
    - reset
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: ActivationIntf::Activations
    signature: "ActivationIntf::Activations Activation::activation(\n    ActivationIntf::Activations
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/activation.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::fw_update::Delete::delete_
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 0
    functionsReached:
    - resetActivationState
    linkageType: ''
    returnType: void
    signature: void Delete::delete_()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:15,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:17,1
    - Dst: reset
      Src: /src/pldm/fw-update/activation.cpp:19,1
    - Dst: activatePackage
      Src: /src/pldm/fw-update/activation.cpp:20,1
    - Dst: std::make_unique<Delete>
      Src: /src/pldm/fw-update/activation.cpp:27,1
    - Dst: pldm::fw_update::Activation::activation
      Src: /src/pldm/fw-update/activation.cpp:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - ActivationIntf::Activations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::Activation::activation
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 12
    functionsReached:
    - activatePackage
    - reset
    - pldm::fw_update::Activation::activation
    - std::make_unique<Delete>
    linkageType: ''
    returnType: ActivationIntf::Activations
    signature: "ActivationIntf::Activations Activation::activation(\n    ActivationIntf::Activations
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetActivationState
      Src: /src/pldm/fw-update/activation.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pldm::fw_update::Delete::delete_
    functionSourceFile: /src/pldm/fw-update/activation.cpp
    functionUses: 0
    functionsReached:
    - resetActivationState
    linkageType: ''
    returnType: void
    signature: void Delete::delete_()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:26,1
    - Dst: getpid
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:27,1
    - Dst: srandom
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:28,1
    - Dst: pldm::fw_update::FirmwareInventoryManager::getInventoryPath
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:36,1
    - Dst: getBoardPath
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:38,1
    - Dst: auto::filename
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:42,1
    - Dst: std::format
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:44,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:46,1
    - Dst: pldm::utils::generateSwId
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:46,1
    - Dst: createUpdateManager
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:48,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:51,1
    - Dst: std::make_unique<FirmwareInventory>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' softwareIdentifier'
    - ' softwareName'
    - ' activeVersion'
    - ' descriptors'
    - ' componentInfo'
    argTypes:
    - SoftwareIdentifier
    - SoftwareName
    - std::string
    - Descriptors
    - ComponentInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::FirmwareInventoryManager::createFirmwareEntry
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FirmwareInventory>
    - std::to_string
    - createUpdateManager
    - insert_or_assign
    - pldm::utils::generateSwId
    - srandom
    - clock_gettime
    - getpid
    - getBoardPath
    - auto::filename
    - std::format
    - pldm::fw_update::FirmwareInventoryManager::getInventoryPath
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventoryManager::createFirmwareEntry(\n    const SoftwareIdentifier&
      softwareIdentifier,\n    const SoftwareName& softwareName, const std::string&
      activeVersion,\n    const Descriptors& descriptors, const ComponentInfo& componentInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::erase_if
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:59,1
    - Dst: eraseUpdateManagerIf
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::FirmwareInventoryManager::deleteFirmwareEntry
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::erase_if
    - eraseUpdateManagerIf
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager::deleteFirmwareEntry(const pldm::eid&
      eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAncestors
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:75,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:79,1
    - Dst: pldm::utils::GetAncestorsResponse::empty
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:84,1
    - Dst: error
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:86,1
    - Dst: pldm::utils::GetAncestorsResponse::size
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:88,1
    - Dst: std::get<ObjectPath>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:92,1
    - Dst: pldm::utils::GetAncestorsResponse::front
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' handler'
    - ' path'
    argTypes:
    - pldm::utils::DBusHandler
    - InventoryPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: pldm::fw_update::getBoardPath
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<ObjectPath>
    - getAncestors
    - c_str
    - pldm::utils::GetAncestorsResponse::front
    - error
    - pldm::utils::GetAncestorsResponse::empty
    - pldm::utils::GetAncestorsResponse::size
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: "std::optional<std::filesystem::path> getBoardPath(\n    const pldm::utils::DBusHandler&
      handler, const InventoryPath& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:100,1
    - Dst: warning
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::FirmwareInventoryManager::getInventoryPath
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 1
    functionsReached:
    - warning
    - std::get<pldm::eid>
    linkageType: ''
    returnType: std::optional<InventoryPath>
    signature: "std::optional<InventoryPath> FirmwareInventoryManager::getInventoryPath(\n
      \   const pldm::eid& eid) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:26,1
    - Dst: getpid
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:27,1
    - Dst: srandom
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:28,1
    - Dst: pldm::fw_update::FirmwareInventoryManager::getInventoryPath
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:36,1
    - Dst: getBoardPath
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:38,1
    - Dst: auto::filename
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:42,1
    - Dst: std::format
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:44,1
    - Dst: std::to_string
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:46,1
    - Dst: pldm::utils::generateSwId
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:46,1
    - Dst: createUpdateManager
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:48,1
    - Dst: insert_or_assign
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:51,1
    - Dst: std::make_unique<FirmwareInventory>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' softwareIdentifier'
    - ' softwareName'
    - ' activeVersion'
    - ' descriptors'
    - ' componentInfo'
    argTypes:
    - SoftwareIdentifier
    - SoftwareName
    - std::string
    - Descriptors
    - ComponentInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 55
    functionName: pldm::fw_update::FirmwareInventoryManager::createFirmwareEntry
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<FirmwareInventory>
    - std::to_string
    - createUpdateManager
    - insert_or_assign
    - pldm::utils::generateSwId
    - srandom
    - clock_gettime
    - getpid
    - getBoardPath
    - auto::filename
    - std::format
    - pldm::fw_update::FirmwareInventoryManager::getInventoryPath
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventoryManager::createFirmwareEntry(\n    const SoftwareIdentifier&
      softwareIdentifier,\n    const SoftwareName& softwareName, const std::string&
      activeVersion,\n    const Descriptors& descriptors, const ComponentInfo& componentInfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::erase_if
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:59,1
    - Dst: eraseUpdateManagerIf
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: pldm::fw_update::FirmwareInventoryManager::deleteFirmwareEntry
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::erase_if
    - eraseUpdateManagerIf
    linkageType: ''
    returnType: void
    signature: void FirmwareInventoryManager::deleteFirmwareEntry(const pldm::eid&
      eid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getAncestors
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:75,1
    - Dst: c_str
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:75,1
    - Dst: error
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:79,1
    - Dst: pldm::utils::GetAncestorsResponse::empty
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:84,1
    - Dst: error
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:86,1
    - Dst: pldm::utils::GetAncestorsResponse::size
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:88,1
    - Dst: std::get<ObjectPath>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:92,1
    - Dst: pldm::utils::GetAncestorsResponse::front
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' handler'
    - ' path'
    argTypes:
    - pldm::utils::DBusHandler
    - InventoryPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: pldm::fw_update::getBoardPath
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 0
    functionsReached:
    - std::get<ObjectPath>
    - getAncestors
    - c_str
    - pldm::utils::GetAncestorsResponse::front
    - error
    - pldm::utils::GetAncestorsResponse::empty
    - pldm::utils::GetAncestorsResponse::size
    linkageType: ''
    returnType: std::optional<std::filesystem::path>
    signature: "std::optional<std::filesystem::path> getBoardPath(\n    const pldm::utils::DBusHandler&
      handler, const InventoryPath& path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::get<pldm::eid>
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:100,1
    - Dst: warning
      Src: /src/pldm/fw-update/firmware_inventory_manager.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - pldm::eid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: pldm::fw_update::FirmwareInventoryManager::getInventoryPath
    functionSourceFile: /src/pldm/fw-update/firmware_inventory_manager.cpp
    functionUses: 2
    functionsReached:
    - warning
    - std::get<pldm::eid>
    linkageType: ''
    returnType: std::optional<InventoryPath>
    signature: "std::optional<InventoryPath> FirmwareInventoryManager::getInventoryPath(\n
      \   const pldm::eid& eid) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/item_update_manager.cpp:29,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.cpp:30,1
    - Dst: getSize
      Src: /src/pldm/fw-update/item_update_manager.cpp:33,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:35,1
    - Dst: getSize
      Src: /src/pldm/fw-update/item_update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:39,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/fw-update/item_update_manager.cpp:45,1
    - Dst: getBytes
      Src: /src/pldm/fw-update/item_update_manager.cpp:45,1
    - Dst: getBytes
      Src: /src/pldm/fw-update/item_update_manager.cpp:46,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/item_update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:50,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:51,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:53,1
    - Dst: parse
      Src: /src/pldm/fw-update/item_update_manager.cpp:58,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/item_update_manager.cpp:58,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:62,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:63,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:65,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:66,1
    - Dst: pldm::fw_update::ItemUpdateManager::associatePkgToDevice
      Src: /src/pldm/fw-update/item_update_manager.cpp:71,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/item_update_manager.cpp:71,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:74,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:75,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:77,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/item_update_manager.cpp:81,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/item_update_manager.cpp:82,1
    - Dst: getChars
      Src: /src/pldm/fw-update/item_update_manager.cpp:85,1
    - Dst: std::make_unique<std::ispanstream>
      Src: /src/pldm/fw-update/item_update_manager.cpp:87,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/item_update_manager.cpp:88,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:91,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/item_update_manager.cpp:92,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.cpp:93,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::ItemUpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<ActivationProgress>
    - activation
    - getComponentImageInfos
    - error
    - parse
    - std::make_unique<DeviceUpdater>
    - getChars
    - pldm::fw_update::ItemUpdateManager::associatePkgToDevice
    - auto::size
    - std::make_unique<std::ispanstream>
    - getSize
    - reset
    - getFwDeviceIDRecords
    - std::make_unique<Activation>
    - parsePkgHeader
    - std::vector<uint8_t>
    - getBytes
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: bool ItemUpdateManager::processPackage()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/fw-update/item_update_manager.cpp:102,1
    - Dst: pldm::utils::generateSwId
      Src: /src/pldm/fw-update/item_update_manager.cpp:102,1
    - Dst: dup
      Src: /src/pldm/fw-update/item_update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:106,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:107,1
    - Dst: std::make_unique<pldm::utils::CustomFD>
      Src: /src/pldm/fw-update/item_update_manager.cpp:109,1
    - Dst: "std::make_unique<\n        sdeventplus::source::Defer>"
      Src: /src/pldm/fw-update/item_update_manager.cpp:110,1
    - Dst: std::make_unique<pldm::utils::MMapHandler>
      Src: /src/pldm/fw-update/item_update_manager.cpp:116,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:120,1
    - Dst: pldm::fw_update::ItemUpdateManager::dupFd::reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:122,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:123,1
    - Dst: pldm::fw_update::ItemUpdateManager::processPackage
      Src: /src/pldm/fw-update/item_update_manager.cpp:125,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:127,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:129,1
    - Dst: pldm::fw_update::ItemUpdateManager::dupFd::reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:130,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 135
    functionName: pldm::fw_update::ItemUpdateManager::processFd
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::generateSwId
    - error
    - pldm::fw_update::ItemUpdateManager::processPackage
    - dup
    - "std::make_unique<\n        sdeventplus::source::Defer>"
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - reset
    - std::make_unique<pldm::utils::MMapHandler>
    - pldm::fw_update::ItemUpdateManager::dupFd::reset
    - std::make_unique<pldm::utils::CustomFD>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string ItemUpdateManager::processFd(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/item_update_manager.cpp:141,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/item_update_manager.cpp:144,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: begin
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: end
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: begin
      Src: /src/pldm/fw-update/item_update_manager.cpp:146,1
    - Dst: end
      Src: /src/pldm/fw-update/item_update_manager.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptors'
    argTypes:
    - FirmwareDeviceIDRecords
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::ItemUpdateManager::associatePkgToDevice
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::get<Descriptors>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: std::optional<DeviceIDRecordOffset>
    signature: "std::optional<DeviceIDRecordOffset> ItemUpdateManager::associatePkgToDevice(\n
      \   const FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const Descriptors&
      descriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: progress
      Src: /src/pldm/fw-update/item_update_manager.cpp:157,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:158,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:159,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/item_update_manager.cpp:161,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/item_update_manager.cpp:163,1
    - Dst: info
      Src: /src/pldm/fw-update/item_update_manager.cpp:164,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:165,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:166,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:169,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:170,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:171,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: pldm::fw_update::ItemUpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - progress
    - std::chrono::duration<double, std::milli>
    - reset
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::updateDeviceCompletion(mctp_eid_t /*eid*/,
      bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/item_update_manager.cpp:183,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/item_update_manager.cpp:183,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/item_update_manager.cpp:184,1
    - Dst: assert
      Src: /src/pldm/fw-update/item_update_manager.cpp:187,1
    - Dst: requestFwData
      Src: /src/pldm/fw-update/item_update_manager.cpp:193,1
    - Dst: transferComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:197,1
    - Dst: verifyComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:201,1
    - Dst: applyComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:205,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/item_update_manager.cpp:208,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/item_update_manager.cpp:208,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/item_update_manager.cpp:210,1
    - Dst: assert
      Src: /src/pldm/fw-update/item_update_manager.cpp:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/pldm/fw-update/item_update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/pldm/fw-update/item_update_manager.cpp
    constantsTouched: []
    func_position:
      end: 214
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::ItemUpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - requestFwData
    - applyComplete
    - verifyComplete
    - std::start_lifetime_as<pldm_msg>
    - assert
    - transferComplete
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response ItemUpdateManager::handleRequest(\n    mctp_eid_t eid, uint8_t
      command, const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/item_update_manager.cpp:218,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/item_update_manager.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::ItemUpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::activatePackage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:224,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:225,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: pldm::fw_update::ItemUpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProgress
      Src: /src/pldm/fw-update/item_update_manager.cpp:234,1
    - Dst: progress
      Src: /src/pldm/fw-update/item_update_manager.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: pldm::fw_update::ItemUpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - progress
    - getProgress
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::updateActivationProgress()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:249,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:250,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:254,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:255,1
    - Dst: pldm::fw_update::ItemUpdateManager::processFd
      Src: /src/pldm/fw-update/item_update_manager.cpp:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: pldm::fw_update::ItemUpdateManager::startUpdate
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::ItemUpdateManager::processFd
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path ItemUpdateManager::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes /*applyTime*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Activation>
      Src: /src/pldm/fw-update/item_update_manager.cpp:29,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.cpp:30,1
    - Dst: getSize
      Src: /src/pldm/fw-update/item_update_manager.cpp:33,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:35,1
    - Dst: getSize
      Src: /src/pldm/fw-update/item_update_manager.cpp:37,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:39,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:41,1
    - Dst: std::vector<uint8_t>
      Src: /src/pldm/fw-update/item_update_manager.cpp:45,1
    - Dst: getBytes
      Src: /src/pldm/fw-update/item_update_manager.cpp:45,1
    - Dst: getBytes
      Src: /src/pldm/fw-update/item_update_manager.cpp:46,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/item_update_manager.cpp:47,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:50,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:51,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:53,1
    - Dst: parse
      Src: /src/pldm/fw-update/item_update_manager.cpp:58,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/item_update_manager.cpp:58,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:62,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:63,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:65,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:66,1
    - Dst: pldm::fw_update::ItemUpdateManager::associatePkgToDevice
      Src: /src/pldm/fw-update/item_update_manager.cpp:71,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/item_update_manager.cpp:71,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:74,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:75,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:77,1
    - Dst: getFwDeviceIDRecords
      Src: /src/pldm/fw-update/item_update_manager.cpp:81,1
    - Dst: getComponentImageInfos
      Src: /src/pldm/fw-update/item_update_manager.cpp:82,1
    - Dst: getChars
      Src: /src/pldm/fw-update/item_update_manager.cpp:85,1
    - Dst: std::make_unique<std::ispanstream>
      Src: /src/pldm/fw-update/item_update_manager.cpp:87,1
    - Dst: std::make_unique<DeviceUpdater>
      Src: /src/pldm/fw-update/item_update_manager.cpp:88,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:91,1
    - Dst: std::make_unique<ActivationProgress>
      Src: /src/pldm/fw-update/item_update_manager.cpp:92,1
    - Dst: pldm::utils::DBusHandler::getBus
      Src: /src/pldm/fw-update/item_update_manager.cpp:93,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 98
    functionName: pldm::fw_update::ItemUpdateManager::processPackage
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<ActivationProgress>
    - activation
    - getComponentImageInfos
    - error
    - parse
    - std::make_unique<DeviceUpdater>
    - getChars
    - pldm::fw_update::ItemUpdateManager::associatePkgToDevice
    - auto::size
    - std::make_unique<std::ispanstream>
    - getSize
    - reset
    - getFwDeviceIDRecords
    - std::make_unique<Activation>
    - parsePkgHeader
    - std::vector<uint8_t>
    - getBytes
    - pldm::utils::DBusHandler::getBus
    linkageType: ''
    returnType: bool
    signature: bool ItemUpdateManager::processPackage()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::format
      Src: /src/pldm/fw-update/item_update_manager.cpp:102,1
    - Dst: pldm::utils::generateSwId
      Src: /src/pldm/fw-update/item_update_manager.cpp:102,1
    - Dst: dup
      Src: /src/pldm/fw-update/item_update_manager.cpp:103,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:106,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:107,1
    - Dst: std::make_unique<pldm::utils::CustomFD>
      Src: /src/pldm/fw-update/item_update_manager.cpp:109,1
    - Dst: "std::make_unique<\n        sdeventplus::source::Defer>"
      Src: /src/pldm/fw-update/item_update_manager.cpp:110,1
    - Dst: std::make_unique<pldm::utils::MMapHandler>
      Src: /src/pldm/fw-update/item_update_manager.cpp:116,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:120,1
    - Dst: pldm::fw_update::ItemUpdateManager::dupFd::reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:122,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:123,1
    - Dst: pldm::fw_update::ItemUpdateManager::processPackage
      Src: /src/pldm/fw-update/item_update_manager.cpp:125,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:127,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:129,1
    - Dst: pldm::fw_update::ItemUpdateManager::dupFd::reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:130,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 135
    functionName: pldm::fw_update::ItemUpdateManager::processFd
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 1
    functionsReached:
    - pldm::utils::generateSwId
    - error
    - pldm::fw_update::ItemUpdateManager::processPackage
    - dup
    - "std::make_unique<\n        sdeventplus::source::Defer>"
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    - reset
    - std::make_unique<pldm::utils::MMapHandler>
    - pldm::fw_update::ItemUpdateManager::dupFd::reset
    - std::make_unique<pldm::utils::CustomFD>
    - std::format
    linkageType: ''
    returnType: std::string
    signature: std::string ItemUpdateManager::processFd(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/pldm/fw-update/item_update_manager.cpp:141,1
    - Dst: std::get<Descriptors>
      Src: /src/pldm/fw-update/item_update_manager.cpp:144,1
    - Dst: std::includes
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: begin
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: end
      Src: /src/pldm/fw-update/item_update_manager.cpp:145,1
    - Dst: begin
      Src: /src/pldm/fw-update/item_update_manager.cpp:146,1
    - Dst: end
      Src: /src/pldm/fw-update/item_update_manager.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' fwDeviceIDRecords'
    - ' descriptors'
    argTypes:
    - FirmwareDeviceIDRecords
    - Descriptors
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::ItemUpdateManager::associatePkgToDevice
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 2
    functionsReached:
    - size
    - std::get<Descriptors>
    - end
    - begin
    - std::includes
    linkageType: ''
    returnType: std::optional<DeviceIDRecordOffset>
    signature: "std::optional<DeviceIDRecordOffset> ItemUpdateManager::associatePkgToDevice(\n
      \   const FirmwareDeviceIDRecords& fwDeviceIDRecords,\n    const Descriptors&
      descriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: progress
      Src: /src/pldm/fw-update/item_update_manager.cpp:157,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:158,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:159,1
    - Dst: cb_now
      Src: /src/pldm/fw-update/item_update_manager.cpp:161,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/pldm/fw-update/item_update_manager.cpp:163,1
    - Dst: info
      Src: /src/pldm/fw-update/item_update_manager.cpp:164,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:165,1
    - Dst: activation
      Src: /src/pldm/fw-update/item_update_manager.cpp:166,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:169,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:170,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:171,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 175
    functionName: pldm::fw_update::ItemUpdateManager::updateDeviceCompletion
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - activation
    - progress
    - std::chrono::duration<double, std::milli>
    - reset
    - info
    - cb_now
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::updateDeviceCompletion(mctp_eid_t /*eid*/,
      bool status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/item_update_manager.cpp:183,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/item_update_manager.cpp:183,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/item_update_manager.cpp:184,1
    - Dst: assert
      Src: /src/pldm/fw-update/item_update_manager.cpp:187,1
    - Dst: requestFwData
      Src: /src/pldm/fw-update/item_update_manager.cpp:193,1
    - Dst: transferComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:197,1
    - Dst: verifyComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:201,1
    - Dst: applyComplete
      Src: /src/pldm/fw-update/item_update_manager.cpp:205,1
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/item_update_manager.cpp:208,1
    - Dst: Response::data
      Src: /src/pldm/fw-update/item_update_manager.cpp:208,1
    - Dst: encode_cc_only_resp
      Src: /src/pldm/fw-update/item_update_manager.cpp:210,1
    - Dst: assert
      Src: /src/pldm/fw-update/item_update_manager.cpp:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - eid
    - command
    - request
    - reqMsgLen
    argTypes:
    - mctp_eid_t
    - uint8_t
    - pldm_msg*
    - size_t
    assertStmts:
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/pldm/fw-update/item_update_manager.cpp
    - condition: (rc == PLDM_SUCCESS)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/pldm/fw-update/item_update_manager.cpp
    constantsTouched: []
    func_position:
      end: 214
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::ItemUpdateManager::handleRequest
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - Response::data
    - requestFwData
    - applyComplete
    - verifyComplete
    - std::start_lifetime_as<pldm_msg>
    - assert
    - transferComplete
    - encode_cc_only_resp
    linkageType: ''
    returnType: Response
    signature: "Response ItemUpdateManager::handleRequest(\n    mctp_eid_t eid, uint8_t
      command, const pldm_msg* request, size_t reqMsgLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb_now
      Src: /src/pldm/fw-update/item_update_manager.cpp:218,1
    - Dst: startFwUpdateFlow
      Src: /src/pldm/fw-update/item_update_manager.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: pldm::fw_update::ItemUpdateManager::activatePackage
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - cb_now
    - startFwUpdateFlow
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::activatePackage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:224,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:225,1
    - Dst: reset
      Src: /src/pldm/fw-update/item_update_manager.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: pldm::fw_update::ItemUpdateManager::resetActivationState
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::resetActivationState()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProgress
      Src: /src/pldm/fw-update/item_update_manager.cpp:234,1
    - Dst: progress
      Src: /src/pldm/fw-update/item_update_manager.cpp:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: pldm::fw_update::ItemUpdateManager::updateActivationProgress
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - progress
    - getProgress
    linkageType: ''
    returnType: void
    signature: void ItemUpdateManager::updateActivationProgress()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:249,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:250,1
    - Dst: error
      Src: /src/pldm/fw-update/item_update_manager.cpp:254,1
    - Dst: sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
      Src: /src/pldm/fw-update/item_update_manager.cpp:255,1
    - Dst: pldm::fw_update::ItemUpdateManager::processFd
      Src: /src/pldm/fw-update/item_update_manager.cpp:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - image
    argTypes:
    - sdbusplus::message::unix_fd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: pldm::fw_update::ItemUpdateManager::startUpdate
    functionSourceFile: /src/pldm/fw-update/item_update_manager.cpp
    functionUses: 0
    functionsReached:
    - pldm::fw_update::ItemUpdateManager::processFd
    - error
    - sdbusplus::xyz::openbmc_project::Common::Error::Unavailable
    linkageType: ''
    returnType: sdbusplus::object_path
    signature: "sdbusplus::object_path ItemUpdateManager::startUpdate(\n    sdbusplus::message::unix_fd
      image,\n    ApplyTimeIntf::RequestedApplyTimes /*applyTime*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: '& getSoftwarePath() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getSoftwarePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: '& getAssociation() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoftwareAssociationDefinitions
    signature: SoftwareAssociationDefinitions & getAssociation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: '& getVersion() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoftwareVersion
    signature: SoftwareVersion & getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:46,1
    - Dst: seconds
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:48,1
    - Dst: milliseconds
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:58,1
    - Dst: FirmwareInventoryTest::getSoftwarePath
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:58,1
    - Dst: std::format
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:59,1
    - Dst: FirmwareInventoryTest::getAssociation
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:60,1
    - Dst: ASSERT_FALSE
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:61,1
    - Dst: auto::empty
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:62,1
    - Dst: std::get<2>
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:63,1
    - Dst: FirmwareInventoryTest::getVersion
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:63,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:64,1
    - Dst: FirmwareInventoryTest::getVersion
      Src: /src/pldm/fw-update/test/firmware_inventory_test.cpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 65
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_test.cpp
    functionUses: 0
    functionsReached:
    - FirmwareInventoryTest::getAssociation
    - std::get<2>
    - seconds
    - milliseconds
    - EXPECT_EQ
    - auto::empty
    - FirmwareInventoryTest::getVersion
    - FirmwareInventoryTest::getSoftwarePath
    - ASSERT_FALSE
    - TestInstanceIdDb::TestInstanceIdDb
    - std::format
    linkageType: ''
    returnType: void
    signature: void TEST(FirmwareInventoryTest, ConstructorSetsProperties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: '& getSoftwarePath() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getSoftwarePath() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: '& getAssociation() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoftwareAssociationDefinitions
    signature: SoftwareAssociationDefinitions & getAssociation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: '& getVersion() const'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoftwareVersion
    signature: SoftwareVersion & getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - handler
    - ' config'
    - ' updateManager'
    argTypes:
    - pldm::utils::DBusHandler*
    - Configurations
    - AggregateUpdateManager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: FirmwareInventoryManagerTest::FirmwareInventoryManagerTest
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FirmwareInventoryManagerTest(const pldm::utils::DBusHandler*
      handler,\n                                 const Configurations& config,\n                                 AggregateUpdateManager&
      updateManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& getSoftwareMap()'
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SoftwareMap
    signature: SoftwareMap & getSoftwareMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:54,1
    - Dst: ::testing::Return
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:55,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:65,1
    - Dst: TestInstanceIdDb::TestInstanceIdDb
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:70,1
    - Dst: seconds
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:72,1
    - Dst: milliseconds
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:72,1
    - Dst: FirmwareInventoryManagerTest::createFirmwareEntry
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:89,1
    - Dst: ASSERT_TRUE
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:92,1
    - Dst: FirmwareInventoryManagerTest::getSoftwareMap
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:92,1
    - Dst: FirmwareInventoryManagerTest::getSoftwareMap
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:95,1
    - Dst: ASSERT_NE
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:96,1
    - Dst: FirmwareInventoryManagerTest::getSoftwareMap
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:96,1
    - Dst: static_cast<FirmwareInventoryTestInstance*>
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:98,1
    - Dst: auto::second::get
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:98,1
    - Dst: ASSERT_NE
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:99,1
    - Dst: EXPECT_NE
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:100,1
    - Dst: auto*::getSoftwarePath
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:100,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:103,1
    - Dst: auto*::getVersion
      Src: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 104
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - auto::second::get
    - ASSERT_TRUE
    - seconds
    - milliseconds
    - static_cast<FirmwareInventoryTestInstance*>
    - FirmwareInventoryManagerTest::createFirmwareEntry
    - auto*::getVersion
    - EXPECT_EQ
    - EXPECT_NE
    - auto*::getSoftwarePath
    - TestInstanceIdDb::TestInstanceIdDb
    - FirmwareInventoryManagerTest::getSoftwareMap
    - ::testing::Return
    - EXPECT_CALL
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(GetBoardPath_WithMockHandler, ReturnsExpectedBoardPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdeventplus::Event::get_default
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:21,1
    - Dst: seconds
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:22,1
    - Dst: milliseconds
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: InventoryManagerTest::InventoryManagerTest
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - milliseconds
    - sdeventplus::Event::get_default
    - seconds
    linkageType: ''
    returnType: void
    signature: void InventoryManagerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:55,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:55,1
    - Dst: queryDeviceIdentifiers
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:56,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:70,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:70,1
    - Dst: DescriptorMap::size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:70,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:71,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:80,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:80,1
    - Dst: queryDeviceIdentifiers
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:81,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:98,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:98,1
    - Dst: DescriptorMap::size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:98,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 100
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - queryDeviceIdentifiers
    - std::make_tuple
    - size
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<const pldm_msg*>
    - DescriptorMap::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, handleQueryDeviceIdentifiersResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:108,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:108,1
    - Dst: queryDeviceIdentifiers
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:110,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - queryDeviceIdentifiers
    - size
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, handleQueryDeviceIdentifiersResponseErrorCC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:126,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:126,1
    - Dst: queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:128,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:138,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:139,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:139,1
    - Dst: DownstreamDescriptorMap::size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:140,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::array::data
    - ASSERT_EQ
    - queryDownstreamIdentifiers
    - DownstreamDescriptorMap::size
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, handleQueryDownstreamIdentifierResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::start_lifetime_as<pldm_msg>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:149,1
    - Dst: const_cast<unsigned char*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:150,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:150,1
    - Dst: queryDownstreamIdentifiers
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:151,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:154,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::array::data
    - ASSERT_EQ
    - std::start_lifetime_as<pldm_msg>
    - queryDownstreamIdentifiers
    - const_cast<unsigned char*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, handleQueryDownstreamIdentifierResponseErrorCC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:186,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:186,1
    - Dst: getFirmwareParameters
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:187,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:191,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:193,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:195,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:195,1
    - Dst: ComponentInfoMap::size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:196,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:216,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:216,1
    - Dst: getFirmwareParameters
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:217,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:221,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:223,1
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:228,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:228,1
    - Dst: ComponentInfoMap::size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 230
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::array::data
    - EXPECT_EQ
    - ComponentInfoMap::size
    - std::make_pair
    - getFirmwareParameters
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, getFirmwareParametersResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:238,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:238,1
    - Dst: getFirmwareParameters
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:240,1
    - Dst: size
      Src: /src/pldm/fw-update/test/inventory_manager_test.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/inventory_manager_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::array::data
    - EXPECT_EQ
    - getFirmwareParameters
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(InventoryManagerTest, getFirmwareParametersResponseErrorCC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:14,1
    - Dst: static_cast<uint8_t>
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' image'
    - size
    argTypes:
    - std::vector<uint8_t>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: imageGenerate
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - push_back
    linkageType: ''
    returnType: void
    signature: void imageGenerate(std::vector<uint8_t>& image, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:21,1
    - Dst: end
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:21,1
    - Dst: begin
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:21,1
    - Dst: end
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fwPkgHdr'
    - ' image'
    argTypes:
    - std::vector<uint8_t>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: imageInsert
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - insert
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void imageInsert(std::vector<uint8_t>& fwPkgHdr, std::vector<uint8_t>&
      image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imageGenerate
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:44,1
    - Dst: imageInsert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:45,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:47,1
    - Dst: auto::get
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:49,1
    - Dst: typeid
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:49,1
    - Dst: typeid
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:49,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:51,1
    - Dst: auto::parse
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:53,1
    - Dst: auto::getFwDeviceIDRecords
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:65,1
    - Dst: auto::getComponentImageInfos
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 71
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - auto::getComponentImageInfos
    - imageInsert
    - EXPECT_EQ
    - imageGenerate
    - auto::getFwDeviceIDRecords
    - auto::parse
    - typeid
    - auto::get
    - parsePkgHeader
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParser, ValidPkgSingleDescriptorSingleComponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imageGenerate
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:109,1
    - Dst: imageGenerate
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:110,1
    - Dst: imageGenerate
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:111,1
    - Dst: imageInsert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:112,1
    - Dst: imageInsert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:113,1
    - Dst: imageInsert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:114,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:116,1
    - Dst: auto::get
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:118,1
    - Dst: typeid
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:118,1
    - Dst: typeid
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:120,1
    - Dst: auto::parse
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:122,1
    - Dst: auto::getFwDeviceIDRecords
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:123,1
    - Dst: std::make_tuple
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:154,1
    - Dst: auto::getComponentImageInfos
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:156,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 162
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - std::make_tuple
    - auto::getComponentImageInfos
    - imageInsert
    - EXPECT_EQ
    - imageGenerate
    - auto::getFwDeviceIDRecords
    - auto::parse
    - typeid
    - auto::get
    - parsePkgHeader
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParser, ValidPkgMultipleDescriptorsMultipleComponents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - parsePkgHeader
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParser, InvalidPkgHeaderInfoIncomplete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - parsePkgHeader
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParser, InvalidPkgNotSupportedHeaderFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imageGenerate
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:207,1
    - Dst: imageInsert
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:208,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:209,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/package_parser_test.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: TEST
    functionSourceFile: /src/pldm/fw-update/test/package_parser_test.cpp
    functionUses: 0
    functionsReached:
    - imageInsert
    - parsePkgHeader
    - EXPECT_EQ
    - imageGenerate
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParser, InvalidPkgBadChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: DeviceUpdaterTest::DeviceUpdaterTest
    functionSourceFile: /src/pldm/fw-update/test/device_updater_test.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void DeviceUpdaterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:44,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:45,1
    - Dst: seekg
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:47,1
    - Dst: read
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:49,1
    - Dst: std::vector::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:49,1
    - Dst: char::char
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:49,1
    - Dst: parsePkgHeader
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:51,1
    - Dst: EXPECT_NE
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:52,1
    - Dst: seekg
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:54,1
    - Dst: auto::parse
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:56,1
    - Dst: auto::getFwDeviceIDRecords
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:57,1
    - Dst: auto::getComponentImageInfos
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:60,1
    - Dst: size
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:61,1
    - Dst: size
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:62,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/device_updater_test.cpp
    functionUses: 0
    functionsReached:
    - size
    - auto::getComponentImageInfos
    - std::vector::data
    - read
    - EXPECT_EQ
    - auto::getFwDeviceIDRecords
    - EXPECT_NE
    - auto::parse
    - char::char
    - tellg
    - parsePkgHeader
    - seekg
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeviceUpdaterTest, validatePackage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:78,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:78,1
    - Dst: DeviceUpdater::requestFwData
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:82,1
    - Dst: auto::size
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:82,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:84,1
    - Dst: auto::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:88,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:89,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:136,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 137
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/device_updater_test.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - DeviceUpdater::requestFwData
    - auto::data
    - EXPECT_EQ
    - auto::size
    - reinterpret_cast<const pldm_msg*>
    - DeviceUpdater::getProgress
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeviceUpdaterTest, ReadPackage512B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:148,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:148,1
    - Dst: DeviceUpdater::requestFwData
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:149,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:152,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:152,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:158,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:158,1
    - Dst: DeviceUpdater::requestFwData
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:159,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:162,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:162,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:166,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:166,1
    - Dst: DeviceUpdater::verifyComplete
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:170,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:170,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:174,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:174,1
    - Dst: DeviceUpdater::applyComplete
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:177,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:177,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:183,1
    - Dst: std::array::data
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:183,1
    - Dst: DeviceUpdater::activateFirmware
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:185,1
    - Dst: DeviceUpdater::getProgress
      Src: /src/pldm/fw-update/test/device_updater_test.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 186
    functionName: TEST_F
    functionSourceFile: /src/pldm/fw-update/test/device_updater_test.cpp
    functionUses: 0
    functionsReached:
    - DeviceUpdater::activateFirmware
    - std::array::data
    - DeviceUpdater::requestFwData
    - ASSERT_EQ
    - EXPECT_EQ
    - DeviceUpdater::applyComplete
    - DeviceUpdater::verifyComplete
    - reinterpret_cast<const pldm_msg*>
    - DeviceUpdater::getProgress
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeviceUpdaterTest, FullUpdateProgress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: PLDM__MSGBUF_DEFINE_P
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM__MSGBUF_DEFINE_P(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: PLDM_MSGBUF_RO_DEFINE_P
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSGBUF_RO_DEFINE_P(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: PLDM_MSGBUF_RW_DEFINE_P
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSGBUF_RW_DEFINE_P(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_init_errno
      Src: /src/libpldm/tests/msgbuf.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - minsize
    - buf
    - len
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: pldm_msgbuf_init_errno
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_init_errno
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_init_errno(struct pldm_msgbuf_ro*
      ctx,\n                                                    size_t minsize,\n
      \                                                   const void* buf, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_init_errno
      Src: /src/libpldm/tests/msgbuf.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - minsize
    - buf
    - len
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: pldm_msgbuf_init_errno
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_init_errno
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_init_errno(struct pldm_msgbuf_rw*
      ctx,\n                                                    size_t minsize,\n
      \                                                   const void* buf, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_validate
      Src: /src/libpldm/tests/msgbuf.hpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pldm_msgbuf_validate
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_validate
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_validate(struct pldm_msgbuf_ro*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_validate
      Src: /src/libpldm/tests/msgbuf.hpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pldm_msgbuf_validate
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_validate
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_validate(struct pldm_msgbuf_rw*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/tests/msgbuf.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pldm__msgbuf_invalidate
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_ro_invalidate
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_invalidate(struct pldm_msgbuf_ro*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/tests/msgbuf.hpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pldm__msgbuf_invalidate
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_rw_invalidate
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_invalidate(struct pldm_msgbuf_rw*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_consumed
      Src: /src/libpldm/tests/msgbuf.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pldm_msgbuf_consumed
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_consumed(struct pldm_msgbuf_ro*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_consumed
      Src: /src/libpldm/tests/msgbuf.hpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pldm_msgbuf_consumed
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_consumed(struct pldm_msgbuf_rw*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_discard
      Src: /src/libpldm/tests/msgbuf.hpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - struct pldm_msgbuf_ro*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: pldm_msgbuf_discard
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_discard
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_discard(struct pldm_msgbuf_ro*
      ctx,\n                                                 int error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_discard
      Src: /src/libpldm/tests/msgbuf.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - struct pldm_msgbuf_rw*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: pldm_msgbuf_discard
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_discard
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_discard(struct pldm_msgbuf_rw*
      ctx,\n                                                 int error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_complete
      Src: /src/libpldm/tests/msgbuf.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pldm_msgbuf_complete
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_complete
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_complete(struct pldm_msgbuf_ro*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_complete
      Src: /src/libpldm/tests/msgbuf.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pldm_msgbuf_complete
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_complete
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_complete(struct pldm_msgbuf_rw*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_complete_consumed
      Src: /src/libpldm/tests/msgbuf.hpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pldm_msgbuf_complete_consumed
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_complete_consumed(struct pldm_msgbuf_ro*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_complete_consumed
      Src: /src/libpldm/tests/msgbuf.hpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: pldm_msgbuf_complete_consumed
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_complete_consumed(struct pldm_msgbuf_rw*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_required
      Src: /src/libpldm/tests/msgbuf.hpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - required
    - cursor
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: pldm_msgbuf_span_required
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_span_required
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_required(struct pldm_msgbuf_ro*
      ctx, size_t required,\n                              const void** cursor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_span_required
      Src: /src/libpldm/tests/msgbuf.hpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - required
    - cursor
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: pldm_msgbuf_span_required
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_span_required
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_required(struct pldm_msgbuf_rw*
      ctx, size_t required,\n                              void** cursor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_span_string_ascii
      Src: /src/libpldm/tests/msgbuf.hpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: pldm_msgbuf_span_string_ascii
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_span_string_ascii
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_string_ascii(struct pldm_msgbuf_rw*
      ctx, void** cursor,\n                                  size_t* length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_string_ascii
      Src: /src/libpldm/tests/msgbuf.hpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: pldm_msgbuf_span_string_ascii
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_span_string_ascii
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_string_ascii(struct pldm_msgbuf_ro*
      ctx,\n                                  const void** cursor, size_t* length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_string_utf16
      Src: /src/libpldm/tests/msgbuf.hpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: pldm_msgbuf_span_string_utf16
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_span_string_utf16
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_string_utf16(pldm_msgbuf_ro*
      ctx,\n                                                           const void**
      cursor,\n                                                           size_t*
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_span_string_utf16
      Src: /src/libpldm/tests/msgbuf.hpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: pldm_msgbuf_span_string_utf16
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_span_string_utf16
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_string_utf16(pldm_msgbuf_rw*
      ctx,\n                                                           void** cursor,\n
      \                                                          size_t* length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_span_remaining
      Src: /src/libpldm/tests/msgbuf.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - len
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: pldm_msgbuf_span_remaining
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_span_remaining
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_remaining(struct pldm_msgbuf_rw*
      ctx, void** cursor,\n                               size_t* len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_remaining
      Src: /src/libpldm/tests/msgbuf.hpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - len
    argTypes:
    - struct pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: pldm_msgbuf_span_remaining
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_span_remaining
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_remaining(struct pldm_msgbuf_ro*
      ctx, const void** cursor,\n                               size_t* len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_until
      Src: /src/libpldm/tests/msgbuf.hpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - trailer
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: pldm_msgbuf_span_until
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_ro_span_until
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_until(struct pldm_msgbuf_ro*
      ctx,\n                                                    size_t trailer,\n
      \                                                   const void** cursor,\n                                                    size_t*
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_span_until
      Src: /src/libpldm/tests/msgbuf.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - trailer
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: pldm_msgbuf_span_until
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_rw_span_until
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_span_until(struct pldm_msgbuf_rw*
      ctx,\n                                                    size_t trailer,\n
      \                                                   void** cursor,\n                                                    size_t*
      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_field_begin
      Src: /src/libpldm/tests/msgbuf.hpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ' field'
    argTypes:
    - struct pldm_msgbuf_ro*
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: pldm_msgbuf_field_begin
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_field_begin
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_field_begin(struct pldm_msgbuf_ro*
      ctx,\n                            struct variable_field& field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_field_end
      Src: /src/libpldm/tests/msgbuf.hpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ' field'
    argTypes:
    - struct pldm_msgbuf_ro*
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: pldm_msgbuf_field_end
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_field_end
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_field_end(struct pldm_msgbuf_ro* ctx,\n
      \                         struct variable_field& field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_field_begin
      Src: /src/libpldm/tests/msgbuf.hpp:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ' field'
    argTypes:
    - struct pldm_msgbuf_rw*
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: pldm_msgbuf_field_begin
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_field_begin
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_field_begin(struct pldm_msgbuf_rw*
      ctx,\n                            struct variable_field& field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_field_end
      Src: /src/libpldm/tests/msgbuf.hpp:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ' field'
    argTypes:
    - struct pldm_msgbuf_rw*
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: pldm_msgbuf_field_end
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_field_end
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_field_end(struct pldm_msgbuf_rw* ctx,\n
      \                         struct variable_field& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ty
    - ','
    - fn
    - ','
    - dst
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: pldm_msgbuf_extract_typecheck
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_typecheck(ty, fn, dst, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pldm_msgbuf_extract_uint8
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint8(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: pldm_msgbuf_extract_int8
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int8(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: pldm_msgbuf_extract_uint16
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint16(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: pldm_msgbuf_extract_int16
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int16(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: pldm_msgbuf_extract_uint32
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pldm_msgbuf_extract_int32
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pldm_msgbuf_extract_real32
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_real32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/tests/msgbuf.hpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: pldm_msgbuf_typecheck_uint8_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_uint8_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_int8
      Src: /src/libpldm/tests/msgbuf.hpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: pldm_msgbuf_typecheck_int8_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_int8
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_int8_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/tests/msgbuf.hpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: pldm_msgbuf_typecheck_uint16_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint16
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_uint16_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_int16
      Src: /src/libpldm/tests/msgbuf.hpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: pldm_msgbuf_typecheck_int16_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_int16
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_int16_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/tests/msgbuf.hpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: pldm_msgbuf_typecheck_uint32_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_uint32_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_int32
      Src: /src/libpldm/tests/msgbuf.hpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: pldm_msgbuf_typecheck_int32_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_int32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_int32_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_real32
      Src: /src/libpldm/tests/msgbuf.hpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: pldm_msgbuf_typecheck_real32_t
    functionSourceFile: /src/libpldm/tests/msgbuf.hpp
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_real32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_typecheck_real32_t(struct pldm_msgbuf_ro*
      ctx, void* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: pldm_edac_crc32_validate
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_edac_crc32_validate(uint32_t expected LIBPLDM_CC_UNUSED,\n
      \                                       const void* data LIBPLDM_CC_UNUSED,\n
      \                                       size_t size LIBPLDM_CC_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: consumeCopy
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void consumeCopy(T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: consume
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - consumeCopy
    linkageType: ''
    returnType: void
    signature: void consume(const std::string& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' vf'
    argTypes:
    - variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: consume
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - consumeCopy
    linkageType: ''
    returnType: void
    signature: void consume(const variable_field& vf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:45,1
    - Dst: consume
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:47,1
    - Dst: value
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' opt'
    argTypes:
    - std::optional<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: consume
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 1
    functionsReached:
    - has_value
    - value
    - consume
    linkageType: ''
    returnType: void
    signature: void consume(const std::optional<T>& opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' range'
    argTypes:
    - Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: consumeRange
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - consumeCopy
    linkageType: ''
    returnType: void
    signature: void consumeRange(const Range& range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consumeRange
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:68,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:68,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:69,1
    - Dst: deviceUpdateOptionFlags::to_ulong
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:69,1
    - Dst: consumeRange
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:70,1
    - Dst: consume
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:71,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:75,1
    - Dst: get
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:76,1
    - Dst: consume
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:77,1
    - Dst: consumeRange
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:78,1
    - Dst: consumeRange
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:80,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:85,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:86,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:87,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:88,1
    - Dst: componentOptions::to_ulong
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:88,1
    - Dst: consumeCopy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:89,1
    - Dst: requestedComponentActivationMethod::to_ulong
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:89,1
    - Dst: consume
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:90,1
    - Dst: consume
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' parsed'
    argTypes:
    - std::unique_ptr<pldm::fw_update::Package>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 93
    functionName: consumePackage
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - get
    - consumeRange
    - consume
    - getDescriptorTypes
    - componentOptions::to_ulong
    - consumeCopy
    - requestedComponentActivationMethod::to_ulong
    - deviceUpdateOptionFlags::to_ulong
    linkageType: ''
    returnType: void
    signature: void consumePackage(const std::unique_ptr<pldm::fw_update::Package>&
      parsed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:112,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:118,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:121,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:125,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:131,1
    - Dst: std::expected::has_value
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:134,1
    - Dst: consumePackage
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:136,1
    - Dst: std::expected::value
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:136,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: fuzz_package_parser_parse
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - calloc
    - consumePackage
    - std::expected::value
    - free
    - pldm::fw_update::PackageParser::parse
    - memcpy
    - std::expected::has_value
    linkageType: ''
    returnType: int
    signature: int fuzz_package_parser_parse(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_test
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:152,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz++.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz++.cpp
    functionUses: 0
    functionsReached:
    - fuzz_test
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: pldm_edac_crc32_validate
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_edac_crc32_validate(uint32_t expected LIBPLDM_CC_UNUSED,\n
      \                            const void* data LIBPLDM_CC_UNUSED,\n                             size_t
      size LIBPLDM_CC_UNUSED)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/tests/fuzz/fuzz.c:35,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:38,1
    - Dst: calloc
      Src: /src/libpldm/tests/fuzz/fuzz.c:49,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:55,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:62,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:64,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fuzz.c:70,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:72,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fuzz.c:74,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/fuzz/fuzz.c:77,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz.c:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 124
    functionName: fuzz_decode_pldm_firmware_update_package
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ARRAY_SIZE
    - calloc
    - pldm_msgbuf_extract
    - decode_pldm_firmware_update_package
    - pldm_msgbuf_init_errno
    - free
    - pldm_msgbuf_complete
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_firmware_update_package(const uint8_t* data,\n
      \                                                   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(pkg,
      ddrec,\n                                                                    desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:128,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:138,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/fuzz/fuzz.c:144,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/fuzz/fuzz.c:145,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:146,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:147,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:148,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/fuzz/fuzz.c:150,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/tests/fuzz/fuzz.c:153,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:156,1
    - Dst: malloc
      Src: /src/libpldm/tests/fuzz/fuzz.c:162,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/fuzz/fuzz.c:168,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 174
    functionName: fuzz_get_fru_record_by_option
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - get_fru_record_by_option
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - free
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - malloc
    linkageType: ''
    returnType: int
    signature: int fuzz_get_fru_record_by_option(const uint8_t* data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:180,1
    - Dst: malloc
      Src: /src/libpldm/tests/fuzz/fuzz.c:189,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:205,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:211,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:212,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:213,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:214,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:215,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:216,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:217,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:218,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:219,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:220,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:221,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:222,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:223,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:224,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/fuzz/fuzz.c:225,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:226,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fuzz.c:231,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 252
    functionName: fuzz_pldm_state_effecter_pdr
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - free
    - pldm_msgbuf_complete
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int fuzz_pldm_state_effecter_pdr(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      size, states,\n                                                             rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: foreach_pldm_platform_state_effecter_pdr_states
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_platform_state_effecter_pdr_states(states, bitfield,
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: fuzz_decode_pldm_base_get_tid_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - decode_pldm_base_get_tid_resp
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_base_get_tid_resp(const struct pldm_msg* msg,\n
      \                                             size_t payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: fuzz_decode_pldm_base_get_pldm_types_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - decode_pldm_base_get_pldm_types_resp
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_base_get_pldm_types_resp(const struct pldm_msg*
      msg,\n                                                     size_t payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: fuzz_decode_pldm_platform_set_numeric_sensor_enable_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_set_numeric_sensor_enable_resp
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_platform_set_numeric_sensor_enable_resp(\n    const
      struct pldm_msg* msg, size_t payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/fuzz/fuzz.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: fuzz_decode_pldm_file_df_heartbeat_req
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - decode_pldm_file_df_heartbeat_req
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_file_df_heartbeat_req(const struct pldm_msg*
      msg,\n                                                  size_t payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/fuzz/fuzz.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: fuzz_decode_pldm_base_multipart_receive_req
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: int
    signature: "int fuzz_decode_pldm_base_multipart_receive_req(const struct pldm_msg*
      msg,\n                                                size_t payload_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:323,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: libpldm_decode_one_pldm_msg
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int libpldm_decode_one_pldm_msg(const uint8_t* data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:337,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:341,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:348,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:349,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:350,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:352,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - msg
    - payload_length
    - data
    - size
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 361
    functionName: fuzz_encode_pldm_base_get_tid_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - encode_pldm_base_get_tid_resp
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: int
    signature: "int fuzz_encode_pldm_base_get_tid_resp(struct pldm_msg* msg,\n                                              size_t
      payload_length,\n                                              const uint8_t*
      data, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:369,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:373,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:380,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:381,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:382,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:384,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:387,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - msg
    - payload_length
    - data
    - size
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 397
    functionName: fuzz_encode_pldm_base_get_pldm_types_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ARRAY_SIZE
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - encode_pldm_base_get_pldm_types_resp
    linkageType: ''
    returnType: int
    signature: "int fuzz_encode_pldm_base_get_pldm_types_resp(struct pldm_msg* msg,\n
      \                                                    size_t payload_length,\n
      \                                                    const uint8_t* data,\n
      \                                                    size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:404,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:408,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:414,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:415,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:416,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:417,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:419,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/fuzz/fuzz.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - msg
    - payload_length
    - data
    - size
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 429
    functionName: fuzz_encode_pldm_platform_set_numeric_sensor_enable_req
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - encode_pldm_platform_set_numeric_sensor_enable_req
    linkageType: ''
    returnType: int
    signature: "int fuzz_encode_pldm_platform_set_numeric_sensor_enable_req(\n    struct
      pldm_msg* msg, size_t payload_length, const uint8_t* data,\n    size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:437,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:441,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:447,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:448,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:449,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:451,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/fuzz/fuzz.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - msg
    - payload_length
    - data
    - size
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 461
    functionName: fuzz_encode_pldm_file_df_heartbeat_resp
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - encode_pldm_file_df_heartbeat_resp
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: int
    signature: "int fuzz_encode_pldm_file_df_heartbeat_resp(struct pldm_msg* msg,\n
      \                                                  size_t payload_length,\n
      \                                                  const uint8_t* data,\n                                                   size_t
      size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:473,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:480,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/fuzz/fuzz.c:486,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/fuzz/fuzz.c:487,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/fuzz/fuzz.c:489,1
    - Dst: malloc
      Src: /src/libpldm/tests/fuzz/fuzz.c:500,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:503,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz.c:509,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 512
    functionName: libpldm_encode_one_pldm_msg
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ARRAY_SIZE
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - free
    - pldm_msgbuf_complete_consumed
    - malloc
    linkageType: ''
    returnType: int
    signature: int libpldm_encode_one_pldm_msg(const uint8_t* data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fuzz.c:516,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fuzz.c:525,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:531,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:532,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:533,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/fuzz/fuzz.c:534,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/fuzz/fuzz.c:536,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/fuzz/fuzz.c:542,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/fuzz/fuzz.c:548,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/fuzz/fuzz.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 554
    functionName: fuzz_pldm_pdr_add
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_msgbuf_extract
    - pldm_pdr_destroy
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: int
    signature: int fuzz_pldm_pdr_add(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/libpldm/tests/fuzz/fuzz.c:567,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fuzz.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 573
    functionName: fuzz_pldm_entity_association_pdr_extract
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - free
    - pldm_entity_association_pdr_extract
    linkageType: ''
    returnType: int
    signature: "int fuzz_pldm_entity_association_pdr_extract(const uint8_t* data,\n
      \                                                   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:588,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fuzz.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 593
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpldm/tests/fuzz/fuzz.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:45,1
    - Dst: vprintf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:46,1
    - Dst: va_end
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: debug_printf
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    linkageType: ''
    returnType: void
    signature: void debug_printf(const char* fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:70,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - percent
    argTypes:
    - struct fuzz_ops_ctx*
    - uint8_t
    assertStmts:
    - condition: (percent <= 100)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: fuzz_chance
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_uint8
    - assert
    linkageType: ''
    returnType: bool
    signature: bool fuzz_chance(struct fuzz_ops_ctx* ctx, uint8_t percent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - LIBPLDM_CC_UNUSED
    - descriptors_count
    - descriptors
    argTypes:
    - void*
    - uint8_t*
    - struct pldm_descriptor**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: cb_device_identifiers
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - debug_printf
    linkageType: ''
    returnType: int
    signature: "int cb_device_identifiers(void* ctx LIBPLDM_CC_UNUSED,\n                                 uint8_t*
      descriptors_count,\n                                 const struct pldm_descriptor**
      descriptors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:146,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:147,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:149,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - ret_entry_count
    - ret_entries
    argTypes:
    - void*
    - uint16_t*
    - struct pldm_firmware_component_standalone***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: cb_components
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - debug_printf
    - fuzz_chance
    - static_cast<struct fuzz_ops_ctx*>
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int cb_components(\n    void* ctx, uint16_t* ret_entry_count,\n    const
      struct pldm_firmware_component_standalone*** ret_entries)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:161,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:162,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:166,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:169,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - active
    - pending
    argTypes:
    - void*
    - struct pldm_firmware_string*
    - struct pldm_firmware_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: cb_imageset_versions
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - debug_printf
    - fuzz_chance
    - static_cast<struct fuzz_ops_ctx*>
    linkageType: ''
    returnType: int
    signature: "int cb_imageset_versions(void* ctx, struct pldm_firmware_string* active,\n
      \                               struct pldm_firmware_string* pending)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:181,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:182,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:184,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:191,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:192,1
    - Dst: memcpy
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - update
    - comp
    argTypes:
    - void*
    - bool
    - struct pldm_firmware_update_component*
    assertStmts:
    - condition: (!fuzz_ctx->current_update)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: cb_update_component
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - fuzz_chance
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    - debug_printf
    - memcpy
    linkageType: ''
    returnType: enum pldm_component_response_codes
    signature: "enum pldm_component_response_codes cb_update_component(void* ctx,
      bool update,\n                        const struct pldm_firmware_update_component*
      comp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:205,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:207,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ua_max_transfer_size
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: cb_transfer_size
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - debug_printf
    - fuzz_chance
    - static_cast<struct fuzz_ops_ctx*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cb_transfer_size(void* ctx, uint32_t ua_max_transfer_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:222,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:224,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:226,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:227,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:228,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:229,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:230,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:232,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:233,1
    - Dst: memcmp
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:233,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - offset
    - LIBPLDM_CC_UNUSED
    - len
    - comp
    argTypes:
    - void*
    - uint32_t
    - uint8_t*
    - uint32_t
    - struct pldm_firmware_update_component*
    assertStmts:
    - condition: (!fuzz_ctx->transferred)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (!fuzz_ctx->verified)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->current_update)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (!fuzz_ctx->applied)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (offset == fuzz_ctx->offset)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->offset <= fuzz_ctx->update_comp.comp_image_size)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (memcmp(comp, &fuzz_ctx->update_comp, sizeof(*comp)) == 0)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: cb_firmware_data
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - fuzz_chance
    - memcmp
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    - debug_printf
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t cb_firmware_data(void* ctx, uint32_t offset,\n                     const
      uint8_t* data LIBPLDM_CC_UNUSED, uint32_t len,\n                     const struct
      pldm_firmware_update_component* comp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:252,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:253,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:255,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:256,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:257,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:258,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:259,1
    - Dst: memcmp
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:259,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:261,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:263,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:267,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - comp
    - ret_pending
    - ret_percent_complete LIBPLDM_CC_UNUSED
    argTypes:
    - void*
    - struct pldm_firmware_update_component*
    - bool*
    - uint8_t*
    assertStmts:
    - condition: (fuzz_ctx->current_update)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (!fuzz_ctx->verified)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->transferred)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (!fuzz_ctx->applied)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (memcmp(comp, &fuzz_ctx->update_comp, sizeof(*comp)) == 0)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 278
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 278
    functionName: cb_verify
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - fuzz_chance
    - memcmp
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    - debug_printf
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t cb_verify(void* ctx,\n                         const struct
      pldm_firmware_update_component* comp,\n                         bool* ret_pending,\n
      \                        uint8_t* ret_percent_complete LIBPLDM_CC_UNUSED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:285,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:286,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:288,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:289,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:290,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:291,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:292,1
    - Dst: memcmp
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:292,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:294,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:296,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:300,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:302,1
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - comp
    - ret_pending
    - ret_percent_complete LIBPLDM_CC_UNUSED
    argTypes:
    - void*
    - struct pldm_firmware_update_component*
    - bool*
    - uint8_t*
    assertStmts:
    - condition: (fuzz_ctx->current_update)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->verified)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->transferred)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (!fuzz_ctx->applied)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (memcmp(comp, &fuzz_ctx->update_comp, sizeof(*comp)) == 0)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: cb_apply
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - fuzz_chance
    - memcmp
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    - debug_printf
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t cb_apply(void* ctx,\n                        const struct
      pldm_firmware_update_component* comp,\n                        bool* ret_pending,\n
      \                       uint8_t* ret_percent_complete LIBPLDM_CC_UNUSED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:318,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:319,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:321,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - self_contained LIBPLDM_CC_UNUSED
    - ret_estimated_time LIBPLDM_CC_UNUSED
    argTypes:
    - void*
    - bool
    - uint16_t*
    assertStmts:
    - condition: (!fuzz_ctx->current_update)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: cb_activate
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - debug_printf
    - fuzz_chance
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t cb_activate(void* ctx, bool self_contained LIBPLDM_CC_UNUSED,\n
      \                          uint16_t* ret_estimated_time LIBPLDM_CC_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_printf
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:332,1
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:333,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:335,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:336,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:337,1
    - Dst: memcmp
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - comp
    argTypes:
    - void*
    - struct pldm_firmware_update_component*
    assertStmts:
    - condition: (fuzz_ctx->offset <= fuzz_ctx->update_comp.comp_image_size)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fuzz_ctx->current_update)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (memcmp(comp, &fuzz_ctx->update_comp, sizeof(*comp)) == 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: cb_cancel_update_component
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - debug_printf
    - memcmp
    - static_cast<struct fuzz_ops_ctx*>
    - assert
    linkageType: ''
    returnType: void
    signature: "void cb_cancel_update_component(\n    void* ctx, const struct pldm_firmware_update_component*
      comp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<struct fuzz_ops_ctx*>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: cb_now
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 24
    functionsReached:
    - static_cast<struct fuzz_ops_ctx*>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cb_now(void* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: int
    signature: "int LLVMFuzzerInitialize(int* argc LIBPLDM_CC_UNUSED,\n                                    char***
      argv LIBPLDM_CC_UNUSED)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:373,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:374,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:385,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:386,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:388,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:389,1
    - Dst: std::make_unique<fuzz_ops_ctx>
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:391,1
    - Dst: memset
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:392,1
    - Dst: auto::get
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:392,1
    - Dst: pldm_fd_new
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:396,1
    - Dst: auto::get
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:396,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:397,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:403,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:411,1
    - Dst: fuzz_chance
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:413,1
    - Dst: auto::get
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:413,1
    - Dst: pldm_fd_progress
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:416,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:416,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:421,1
    - Dst: std::min
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:426,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:429,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:430,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:430,1
    - Dst: pldm_fd_handle_msg
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:435,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:435,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:435,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:436,1
    - Dst: assert
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:438,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:438,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:440,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:441,1
    - Dst: free
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (rc == 0)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (len <= send_buf.size())
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (rc == 0)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    - condition: (fd)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    constantsTouched: []
    func_position:
      end: 446
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 446
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_fd_progress
    - fuzz_chance
    - pldm_msgbuf_extract_array_uint8
    - std::vector::data
    - std::min
    - pldm_msgbuf_discard
    - assert
    - std::make_unique<fuzz_ops_ctx>
    - pldm_msgbuf_init_errno
    - std::vector::size
    - free
    - auto::get
    - memset
    - pldm_fd_handle_msg
    - pldm_msgbuf_extract_uint32
    - pldm_fd_new
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(uint8_t* input, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:471,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: run_standalone
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - read
    - LLVMFuzzerTestOneInput
    linkageType: ''
    returnType: void
    signature: void run_standalone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:484,1
    - Dst: __AFL_INIT
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:487,1
    - Dst: __AFL_LOOP
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:490,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:493,1
    - Dst: run_standalone
      Src: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 500
    functionName: main
    functionSourceFile: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    functionUses: 0
    functionsReached:
    - LLVMFuzzerTestOneInput
    - __AFL_LOOP
    - __AFL_INIT
    - LLVMFuzzerInitialize
    - run_standalone
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:17,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:17,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:18,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:18,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:20,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:20,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:21,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:21,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:22,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:22,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:23,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:23,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:24,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:24,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:25,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:25,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:26,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:26,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/utils.cpp:27,1
    - Dst: is_time_legal
      Src: /src/libpldm/tests/unit/utils.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/utils.cpp
    functionUses: 0
    functionsReached:
    - is_time_legal
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TimeLegal, TimeLegal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:20,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, init_bad_minsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:30,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, init_bad_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:40,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, init_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:49,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, init_success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:58,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:59,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_complete
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, destroy_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:69,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:70,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:70,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:71,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:72,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, destroy_exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:82,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:82,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:83,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:83,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:84,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:85,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:86,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, destroy_over)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:96,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:97,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:97,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:98,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:99,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, destroy_under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:109,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:110,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:112,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:122,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:122,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:123,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:124,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:135,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:135,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:137,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:138,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:148,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:149,1
    - Dst: pldm_msgbuf_extract_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:149,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:150,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - pldm_msgbuf_extract_int8
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_int8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:161,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:161,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:162,1
    - Dst: pldm_msgbuf_extract_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:162,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:163,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_extract_int8
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_int8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:174,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:174,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:176,1
    - Dst: pldm_msgbuf_extract_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:177,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_extract_int8
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_int8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:184,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:187,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:188,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:190,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - htole16
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:201,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:201,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:203,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:203,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:204,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:214,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:214,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:215,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:216,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:226,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:227,1
    - Dst: pldm_msgbuf_extract_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:229,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - htole16
    - pldm_msgbuf_extract_int16
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_int16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:239,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:239,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:240,1
    - Dst: pldm_msgbuf_extract_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:241,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_int16
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_int16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:252,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:252,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:254,1
    - Dst: pldm_msgbuf_extract_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:254,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:255,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_int16
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_int16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:262,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:265,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:265,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:266,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:266,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:267,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:268,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:278,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:278,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:279,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:280,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:291,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:291,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:293,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:293,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:294,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:301,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:304,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:305,1
    - Dst: pldm_msgbuf_extract_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:307,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_int32
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_int32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:317,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:317,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:318,1
    - Dst: pldm_msgbuf_extract_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:319,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_int32
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_int32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:330,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:330,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:332,1
    - Dst: pldm_msgbuf_extract_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:333,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_int32
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_int32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:345,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:346,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:349,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:349,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:350,1
    - Dst: pldm_msgbuf_extract_real32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:352,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    - pldm_msgbuf_extract_real32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_real32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:362,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:362,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:363,1
    - Dst: pldm_msgbuf_extract_real32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:364,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_real32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_real32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:375,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:375,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:377,1
    - Dst: pldm_msgbuf_extract_real32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:378,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_real32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_real32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:388,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:389,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:389,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:390,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array_uint8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_uint8_buf0_req0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:400,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:401,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:403,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:404,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array_uint8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_uint8_buf1_req1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:414,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:414,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:415,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:416,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:417,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array_uint8
    - ASSERT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_uint8_buf1_req2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:427,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:427,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:429,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:429,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:430,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array_uint8
    - ASSERT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_array_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:440,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:440,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:441,1
    - Dst: pldm_msgbuf_extract_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:441,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:442,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_array_char
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_char_buf0_req0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:452,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:452,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:453,1
    - Dst: pldm_msgbuf_extract_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:454,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:455,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:456,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_array_char
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_char_buf1_req1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:466,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:466,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:467,1
    - Dst: pldm_msgbuf_extract_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:469,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_array_char
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_array_char_buf1_req2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:479,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:479,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:481,1
    - Dst: pldm_msgbuf_extract_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:481,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:482,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_array_char
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_array_char)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:491,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:492,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_complete_consumed
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, consumed_under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:502,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:502,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:503,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:504,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 505
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, consumed_exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:515,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:516,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:516,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:517,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:517,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:518,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 519
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, consumed_over)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:529,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:529,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:530,1
    - Dst: pldm_msgbuf_insert_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:530,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:535,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:536,1
    - Dst: pldm_msgbuf_extract_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:539,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:539,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:540,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 541
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_int32
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert_int32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_int32_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:551,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:551,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:553,1
    - Dst: pldm_msgbuf_insert_int32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:553,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:554,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 555
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert_int32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_int32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:565,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:566,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:566,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:571,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:572,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:574,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:575,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:575,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:576,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_uint32_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:587,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:587,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:589,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:590,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_uint32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:601,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:602,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:602,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:607,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:608,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:611,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:611,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:612,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 613
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_uint16_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:623,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:623,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:625,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:625,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:626,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 627
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_uint16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:637,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:638,1
    - Dst: pldm_msgbuf_insert_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:643,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:643,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:644,1
    - Dst: pldm_msgbuf_extract_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:644,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:646,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:647,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:647,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:648,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_int16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_int16
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_int16_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:659,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:659,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:661,1
    - Dst: pldm_msgbuf_insert_int16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:661,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:662,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_int16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_int16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:673,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:674,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:674,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:679,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:679,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:680,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:680,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:683,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:683,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:684,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 685
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_uint8_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:695,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:695,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:697,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:697,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:698,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 699
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:709,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:710,1
    - Dst: pldm_msgbuf_insert_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:710,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:715,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:716,1
    - Dst: pldm_msgbuf_extract_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:716,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:718,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:719,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:719,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:720,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_int8
    - ASSERT_EQ
    - pldm_msgbuf_extract_int8
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_int8_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:731,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:731,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:733,1
    - Dst: pldm_msgbuf_insert_int8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:733,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:734,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 735
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_int8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_int8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:745,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:745,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:746,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:752,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:752,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:753,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:753,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:757,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:757,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:758,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:758,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:759,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 760
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array_uint8
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_array_uint8_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:770,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:770,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:772,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:774,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_uint8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_array_uint8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:785,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:785,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:786,1
    - Dst: pldm_msgbuf_insert_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:786,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:792,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:792,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:793,1
    - Dst: pldm_msgbuf_extract_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:793,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:797,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:797,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:798,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:798,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:799,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 800
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_char
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_array_char
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_insert_array_char_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:809,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:809,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:811,1
    - Dst: pldm_msgbuf_insert_array_char
      Src: /src/libpldm/tests/unit/msgbuf.cpp:811,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:813,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_char
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, insert_under_array_char)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:827,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:827,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:828,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:829,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:834,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:834,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:835,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:835,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:836,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:840,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:840,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:841,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:841,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:842,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 843
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_required_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:855,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:856,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:857,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:862,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:862,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:863,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:863,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:864,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:864,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:866,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:866,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:867,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 868
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_uint8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_required_bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:878,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:878,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:880,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:880,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:881,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, span_required_under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:895,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:895,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:896,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:896,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:897,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:898,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:899,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:901,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:901,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:902,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:904,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:904,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:905,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:905,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:905,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:906,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 907
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_ascii_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:921,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:921,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:922,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:922,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:924,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:924,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:927,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:927,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:928,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:930,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:931,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:931,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:932,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:933,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:933,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:933,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:934,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 935
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_ascii_good_with_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:944,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:944,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:945,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:945,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:946,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:947,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:947,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:948,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 949
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_ascii_allow_null_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:959,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:960,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:960,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:961,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:962,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:963,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:965,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 966
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_ascii_bad_no_terminator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:976,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:976,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:978,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:978,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:980,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 981
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_ascii_under)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - startptr
    argTypes:
    - char16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 991
    functionName: str16len
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t str16len(char16_t* startptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/libpldm/tests/unit/msgbuf.cpp:997,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1006,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1006,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1007,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1007,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1008,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1010,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1011,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1013,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1013,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1014,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1016,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1017,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1017,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1018,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1018,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1019,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1019,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1039,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1039,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1040,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1040,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1041,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1043,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1044,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1047,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1048,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1048,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1049,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1049,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1050,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1053,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1053,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1054,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1056,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1056,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1060,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1061,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1063,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1064,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1066,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1066,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1077,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1077,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1078,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1080,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1081,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1081,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1093,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1094,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1096,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1099,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1111,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1112,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1113,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1114,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1117,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1117,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1150,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1151,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1152,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1154,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1158,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1159,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1162,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1162,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1163,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1163,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1167,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1168,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1170,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1171,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1175,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1177,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1181,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1182,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1185,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1186,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1186,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1190,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1190,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1191,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1193,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1193,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1204,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1204,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1206,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1206,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1208,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1208,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1222,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1223,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1224,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1229,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1230,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1230,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1231,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1236,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1237,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1238,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1249,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1250,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1251,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1256,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1257,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1259,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1259,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1260,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1260,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1269,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1270,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1270,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1271,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1271,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1282,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1283,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1283,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1284,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1285,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1296,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1297,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1297,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1298,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1298,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1299,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1299,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1309,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1310,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1311,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1311,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1312,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1313,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1323,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1324,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1324,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1325,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1325,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1326,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1327,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1338,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1339,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1339,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1340,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1340,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1341,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1341,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1342,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1344,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1353,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1354,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1354,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1355,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1355,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1365,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1366,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1367,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1367,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1368,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1368,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1369,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1369,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1378,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1378,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1385,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1385,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1386,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1386,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1388,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1389,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1391,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1392,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1394,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1407,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1407,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1408,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1409,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1409,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1411,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1411,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1412,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1413,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1427,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1427,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1428,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1428,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1429,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1429,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1430,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1430,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1431,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1431,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1432,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1432,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1446,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1447,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1448,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1449,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1449,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1450,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1451,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1451,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1465,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1465,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1466,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1467,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1468,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1468,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1469,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1469,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1483,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1483,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1484,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1484,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1485,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1485,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1486,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1486,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1487,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1487,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1501,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1501,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1502,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1502,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1503,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1503,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1504,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1504,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1505,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1505,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1506,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1506,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1520,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1520,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1521,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1522,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1522,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1523,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1523,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1524,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1524,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1525,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1525,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1539,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1539,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1540,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1540,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1541,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1541,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1542,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1543,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1543,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1557,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1557,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1558,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1559,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1559,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1560,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1560,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1561,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1561,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1571,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1572,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1574,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1574,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1579,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1583,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1583,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1585,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1585,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1586,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1586,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1591,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1595,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1595,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1596,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1597,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1597,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1602,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1603,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1606,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1606,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1607,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1609,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1609,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1614,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1618,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1618,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1620,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1620,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1621,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1621,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1626,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1630,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1630,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1631,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1632,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1632,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1637,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1638,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1641,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1641,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1642,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1643,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1644,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1644,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1649,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1653,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1653,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1655,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1655,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1656,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1656,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1661,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1665,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1665,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1666,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1667,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1667,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1681,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1682,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1683,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1688,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1688,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1689,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1689,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1691,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1691,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1692,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1692,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1693,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1693,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1696,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1696,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1698,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1699,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1701,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1701,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1702,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1702,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1711,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1711,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1718,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1719,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1719,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1728,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1728,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1729,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1729,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1731,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 281
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1733
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy
    - std::array::data
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_insert_array_uint8
    - pldm_msgbuf_span_until
    - pldm_msgbuf_extract_uint32_to_size
    - EXPECT_NE
    - str16len
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_copy_string_utf16
    - htole32
    - strncmp
    - pldm_msgbuf_copy_string_ascii
    - pldm_msgbuf_span_string_ascii
    - memcmp
    - EXPECT_EQ
    - htole16
    - pldm_msgbuf_extract_uint8
    - strlen
    - pldm_msgbuf_field_begin
    - pldm_msgbuf_field_end
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_string_utf16
    - pldm_msgbuf_span_remaining
    - ASSERT_EQ
    - pldm_msgbuf_init_errno
    - aligned
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1039,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1039,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1040,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1040,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1041,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1043,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1044,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1047,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1048,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1048,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1049,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1049,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1050,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1053,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1053,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1054,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1056,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1056,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1060,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1061,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1063,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1064,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1066,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1067
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - str16len
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_good2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1077,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1077,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1078,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1080,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1081,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1082
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_allow_null_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1093,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1094,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1096,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1099,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1100
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_bad_no_terminator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1111,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1112,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1113,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1114,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1117,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_bad_odd_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1150,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1151,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1152,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1154,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1158,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1159,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1162,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1162,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1163,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1163,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1167,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1168,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1170,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1171,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1175,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1177,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1181,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1182,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1185,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1186,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1186,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1190,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1190,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1191,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1193,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1194
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - pldm_msgbuf_span_string_ascii
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - str16len
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    - strlen
    - strncmp
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_mix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1204,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1204,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1206,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1206,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1208,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1209
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_string_utf16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_string_utf16_under)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1222,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1223,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1224,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1229,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1230,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1230,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1231,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1236,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1237,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1238,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1239
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_remaining_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1249,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1250,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1251,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1256,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1257,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1259,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1259,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1260,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1261
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_uint8
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_remaining_bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1269,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1270,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1270,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1271,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1272
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_0_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1282,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1283,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1283,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1284,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1285,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1287
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_0_1_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1296,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1297,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1297,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1298,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1298,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1299,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1300
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_1_1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1309,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1310,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1311,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1311,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1312,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1314
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_1_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1323,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1324,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1324,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1325,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1325,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1326,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1328
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_1_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1338,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1339,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1339,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1340,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1340,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1341,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1341,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1342,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1345
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_2_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1353,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1354,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1354,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1355,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1356
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_short)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1365,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1366,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1367,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1367,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1368,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1368,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1369,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1370
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_until
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_span_until_saturated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1378,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1378,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1385,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1385,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1386,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1386,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1388,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1389,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1391,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1392,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1395
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - htole16
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1407,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1407,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1408,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1409,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1409,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1411,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1411,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1412,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1413,1
    - Dst: pldm_msgbuf_copy
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1414
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1427,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1427,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1428,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1428,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1429,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1429,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1430,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1430,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1431,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1431,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1432,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1433
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy_string_ascii
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_string_ascii_exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1446,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1447,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1447,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1448,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1449,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1449,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1450,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1451,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1452
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy_string_ascii
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_string_ascii_dst_exceeds_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1465,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1465,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1466,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1467,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1467,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1468,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1468,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1469,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1470
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_string_ascii_src_exceeds_dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1483,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1483,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1484,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1484,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1485,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1485,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1486,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1486,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1487,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1488
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_copy_string_ascii
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_string_ascii_unterminated_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1501,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1501,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1502,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1502,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1503,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1503,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1504,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1504,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1505,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1505,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1506,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1507
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_copy_string_utf16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_utf16_exact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1520,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1520,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1521,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1522,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1522,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1523,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1523,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1524,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1524,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1525,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1526
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_copy_string_utf16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_utf16_dst_exceeds_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1539,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1539,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1540,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1540,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1541,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1541,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1542,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1542,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1543,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1544
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_copy_string_utf16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_utf16_src_exceeds_dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1557,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1557,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1558,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1559,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1559,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1560,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1560,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1561,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1562
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_copy_string_utf16
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_copy_utf16_unterminated_src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1566,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1571,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1572,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1574,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1575
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint8_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1579,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1583,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1583,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1585,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1585,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1586,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1587
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint8_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1591,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1595,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1595,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1596,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1597,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1598
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint8_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1602,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1603,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1606,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1606,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1607,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1609,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1610
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - htole16
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint16_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1614,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1618,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1618,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1620,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1620,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1621,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1622
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint16_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1626,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1630,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1630,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1631,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1632,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1633
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint16_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1637,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1638,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1641,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1641,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1642,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1643,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1644,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1645
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_uint32_to_size
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_one_uint32_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1649,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1653,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1653,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1655,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1655,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1656,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1647
    functionDepth: 1
    functionLinenumber: 1647
    functionLinenumberEnd: 1657
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_uint32_to_size
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_under_uint32_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1661,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1665,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1665,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1666,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1667,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1668
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_uint32_to_size
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - EXPECT_NE
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, extract_over_uint32_to_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1681,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1682,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1683,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1688,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1688,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1689,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1689,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1691,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1691,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1692,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1692,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1693,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1693,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1696,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1696,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1698,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1699,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1701,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1701,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1702,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1703
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - pldm_msgbuf_field_begin
    - pldm_msgbuf_field_end
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_field_begin_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1711,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1711,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1718,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1719,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1721
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - std::array::data
    - pldm_msgbuf_field_begin
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_field_begin_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1728,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1728,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1729,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1729,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1731,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/tests/unit/msgbuf.cpp:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1733
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/msgbuf.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - EXPECT_NE
    - pldm_msgbuf_field_begin
    - std::array::size
    - pldm_msgbuf_field_end
    linkageType: ''
    returnType: void
    signature: void TEST(msgbuf, pldm_msgbuf_field_end_errors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:7,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/bcd.cpp:7,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:8,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/bcd.cpp:8,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:9,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/tests/unit/bcd.cpp:9,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:10,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/tests/unit/bcd.cpp:10,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:11,1
    - Dst: pldm_bcd_bcd2dec32
      Src: /src/libpldm/tests/unit/bcd.cpp:11,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:12,1
    - Dst: pldm_bcd_bcd2dec32
      Src: /src/libpldm/tests/unit/bcd.cpp:12,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:14,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/tests/unit/bcd.cpp:14,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:15,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/tests/unit/bcd.cpp:15,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:16,1
    - Dst: pldm_bcd_dec2bcd16
      Src: /src/libpldm/tests/unit/bcd.cpp:16,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:17,1
    - Dst: pldm_bcd_dec2bcd16
      Src: /src/libpldm/tests/unit/bcd.cpp:17,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:18,1
    - Dst: pldm_bcd_dec2bcd32
      Src: /src/libpldm/tests/unit/bcd.cpp:18,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bcd.cpp:19,1
    - Dst: pldm_bcd_dec2bcd32
      Src: /src/libpldm/tests/unit/bcd.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 20
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/bcd.cpp
    functionUses: 0
    functionsReached:
    - pldm_bcd_dec2bcd32
    - pldm_bcd_bcd2dec16
    - pldm_bcd_bcd2dec32
    - pldm_bcd_dec2bcd16
    - EXPECT_EQ
    - pldm_bcd_dec2bcd8
    - pldm_bcd_bcd2dec8
    linkageType: ''
    returnType: void
    signature: void TEST(BcdConversion, BcdCoversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/tests/unit/edac.cpp:10,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/edac.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 12
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/edac.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32, CheckSumTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32_extend
      Src: /src/libpldm/tests/unit/edac.cpp:18,1
    - Dst: pldm_edac_crc32_extend
      Src: /src/libpldm/tests/unit/edac.cpp:20,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/edac.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/edac.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - pldm_edac_crc32_extend
    linkageType: ''
    returnType: void
    signature: void TEST(Crc32, CumulativeCheckSumTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc8
      Src: /src/libpldm/tests/unit/edac.cpp:28,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/edac.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/edac.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc8
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(Crc8, CheckSumTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:17,1
    - Dst: pldm_responder_cookie_track
      Src: /src/libpldm/tests/unit/responder.cpp:17,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/responder.cpp:18,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:19,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:19,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 21
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/responder.cpp
    functionUses: 0
    functionsReached:
    - pldm_responder_cookie_track
    - ASSERT_EQ
    - pldm_responder_cookie_untrack
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Responder, track_untrack_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:27,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:28,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:28,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/responder.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - pldm_responder_cookie_untrack
    linkageType: ''
    returnType: void
    signature: void TEST(Responder, untrack_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:43,1
    - Dst: pldm_responder_cookie_track
      Src: /src/libpldm/tests/unit/responder.cpp:43,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/responder.cpp:44,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:45,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:45,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:46,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:46,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:47,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:48,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:48,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/responder.cpp:49,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:50,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:50,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/responder.cpp
    functionUses: 0
    functionsReached:
    - pldm_responder_cookie_track
    - ASSERT_EQ
    - pldm_responder_cookie_untrack
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Responder, track_one_untrack_bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:74,1
    - Dst: pldm_responder_cookie_track
      Src: /src/libpldm/tests/unit/responder.cpp:74,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:75,1
    - Dst: pldm_responder_cookie_track
      Src: /src/libpldm/tests/unit/responder.cpp:75,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/responder.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:77,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:78,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/tests/unit/responder.cpp:78,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/responder.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/responder.cpp
    functionUses: 0
    functionsReached:
    - pldm_responder_cookie_track
    - ASSERT_EQ
    - pldm_responder_cookie_untrack
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(Responder, track_untrack_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/instance-id.cpp:16,1
    - Dst: std::filesystem::exists
      Src: /src/libpldm/tests/unit/instance-id.cpp:16,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:17,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:17,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_init
    - c_str
    - std::filesystem::exists
    - EXPECT_EQ
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InstanceId, dbInstanceNullDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/instance-id.cpp:24,1
    - Dst: std::filesystem::exists
      Src: /src/libpldm/tests/unit/instance-id.cpp:24,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:25,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:25,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_init
    - c_str
    - std::filesystem::exists
    - EXPECT_EQ
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(InstanceId, dbInstanceNonNullDerefDb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:32,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - pldm_instance_db_init
    linkageType: ''
    returnType: void
    signature: void TEST(InstanceId, dbInstanceInvalidPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::strncpy
      Src: /src/libpldm/tests/unit/instance-id.cpp:43,1
    - Dst: ::mkstemp
      Src: /src/libpldm/tests/unit/instance-id.cpp:44,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:45,1
    - Dst: std::filesystem::path
      Src: /src/libpldm/tests/unit/instance-id.cpp:47,1
    - Dst: std::filesystem::resize_file
      Src: /src/libpldm/tests/unit/instance-id.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: PldmInstanceDbTest::SetUp
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - ::strncpy
    - std::filesystem::resize_file
    - ::mkstemp
    - std::filesystem::path
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::remove
      Src: /src/libpldm/tests/unit/instance-id.cpp:54,1
    - Dst: ::close
      Src: /src/libpldm/tests/unit/instance-id.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: PldmInstanceDbTest::TearDown
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - ::close
    - std::filesystem::remove
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::resize_file
      Src: /src/libpldm/tests/unit/instance-id.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:69,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:69,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - EXPECT_EQ
    - pldm_instance_db_init
    - std::filesystem::resize_file
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, dbLengthZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::filesystem::resize_file
      Src: /src/libpldm/tests/unit/instance-id.cpp:76,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:78,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:78,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - EXPECT_EQ
    - pldm_instance_db_init
    - std::filesystem::resize_file
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, dbLengthShort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:85,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:85,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:86,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - pldm_instance_db_init
    - pldm_instance_db_destroy
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, dbInstance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:94,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_id_alloc
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocOnNulldb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:103,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_id_free
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, freeOnNulldb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:112,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:112,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:113,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:114,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:115,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocFreeOne)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:126,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:126,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:127,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:128,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:128,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:129,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:129,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:130,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:130,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:131,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:132,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocFreeTwoSerialSameTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:148,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:148,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:150,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:152,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:152,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:157,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:158,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:158,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:160,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocFreeTwoSerialDifferentTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:176,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:176,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:177,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:178,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:180,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:180,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:181,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:182,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:186,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:186,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:188,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:190,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:190,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:192,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocFreeTwoConcurrentSameTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:207,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:207,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:208,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:208,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:212,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:212,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:213,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:213,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:219,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:219,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:222,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:224,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:227,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocFreeTwoConcurrentDifferentTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:238,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:238,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:242,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:242,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:245,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:249,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:252,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:252,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:254,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, allocAllInstanceIds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:271,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:271,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:271,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:272,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:273,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:283,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:283,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:283,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:284,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:285,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:291,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:298,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:315,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:316,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:323,1
    - Dst: pldm_instance_id_alloc
      Src: /src/libpldm/tests/unit/instance-id.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:324,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:327,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:329,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:329,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:331,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:331,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:332,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_instance_id_alloc
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, releaseConflictedSameTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:340,1
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/tests/unit/instance-id.cpp:340,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/instance-id.cpp:340,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/instance-id.cpp:341,1
    - Dst: pldm_instance_id_free
      Src: /src/libpldm/tests/unit/instance-id.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/instance-id.cpp:342,1
    - Dst: pldm_instance_db_destroy
      Src: /src/libpldm/tests/unit/instance-id.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: TEST_F
    functionSourceFile: /src/libpldm/tests/unit/instance-id.cpp
    functionUses: 0
    functionsReached:
    - pldm_instance_db_destroy
    - c_str
    - pldm_instance_db_init
    - ASSERT_EQ
    - EXPECT_NE
    - pldm_instance_id_free
    linkageType: ''
    returnType: void
    signature: void TEST_F(PldmInstanceDbTest, freeUnallocatedInstanceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: expect
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fn
    - ','
    - line
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: __expect
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __expect(fn, line, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:36,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:36,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:37,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:37,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:38,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:39,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: test_msgbuf_extract_generic_uint8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_uint8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:49,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:49,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:50,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:50,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:51,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:52,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: test_msgbuf_extract_generic_int8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_int8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:62,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:62,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:63,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:63,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:64,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:65,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: test_msgbuf_extract_generic_uint16
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_uint16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:72,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:75,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:75,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:76,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:76,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:77,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:78,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: test_msgbuf_extract_generic_int16
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - htole16
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_int16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:88,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:88,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:89,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:89,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:90,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:91,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: test_msgbuf_extract_generic_uint32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_uint32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:98,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:101,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:101,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:102,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:102,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:103,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:104,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: test_msgbuf_extract_generic_int32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:116,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:117,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:120,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:120,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:121,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:121,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:122,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:123,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: test_msgbuf_extract_generic_real32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - htole32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_generic_real32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:133,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:133,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:134,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:134,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:135,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:136,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: test_msgbuf_extract_array_generic_uint8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - expect
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_extract_array_generic_uint8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:147,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:147,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:148,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:148,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:153,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:153,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:154,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:154,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:156,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:157,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:157,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:158,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: test_msgbuf_insert_generic_real32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_real32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:169,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:169,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:170,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:170,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:175,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:175,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:176,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:176,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:178,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:179,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:179,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:180,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: test_msgbuf_insert_generic_int32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:191,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:191,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:192,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:192,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:197,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:197,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:198,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:198,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:200,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:201,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:201,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:202,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: test_msgbuf_insert_generic_uint32
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_uint32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:213,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:213,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:214,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:214,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:219,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:219,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:220,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:220,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:222,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:223,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:223,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:224,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: test_msgbuf_insert_generic_uint16
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_uint16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:235,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:235,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:236,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:236,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:241,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:241,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:242,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:242,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:244,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:245,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:245,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:246,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionName: test_msgbuf_insert_generic_int16
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_int16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:257,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:257,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:258,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:258,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:263,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:263,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:264,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:264,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:266,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:267,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:267,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:268,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: test_msgbuf_insert_generic_uint8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_uint8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:279,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:279,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:280,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:280,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:285,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:285,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:286,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:286,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:288,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:289,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:289,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:290,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 291
    functionName: test_msgbuf_insert_generic_int8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    - expect
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_generic_int8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:301,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:301,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:302,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:302,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:307,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:307,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:308,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:308,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:311,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:311,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:312,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:312,1
    - Dst: expect
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:313,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/msgbuf_generic.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: test_msgbuf_insert_array_generic_uint8
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_array
    - expect
    - memcmp
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void test_msgbuf_insert_array_generic_uint8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/libpldm/tests/unit/msgbuf_generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:16,1
    - Dst: encode_get_alert_status_req
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:20,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:22,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:28,1
    - Dst: encode_get_alert_status_req
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:29,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:40,1
    - Dst: pldm_get_alert_status_resp::pldm_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:41,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:43,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:44,1
    - Dst: decode_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:53,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:55,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - pldm_get_alert_status_resp::pldm_get_alert_status_resp
    - decode_get_alert_status_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:62,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:68,1
    - Dst: pldm_get_alert_status_resp::pldm_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:69,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:71,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:72,1
    - Dst: decode_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:78,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 82
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - pldm_get_alert_status_resp::pldm_get_alert_status_resp
    - decode_get_alert_status_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:89,1
    - Dst: encode_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:95,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:96,1
    - Dst: testing::ElementsAreArray
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - encode_get_alert_status_resp
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - EXPECT_THAT
    - testing::ElementsAreArray
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:106,1
    - Dst: encode_get_alert_status_resp
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_get_alert_status_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:120,1
    - Dst: decode_get_alert_status_req
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - decode_get_alert_status_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:135,1
    - Dst: decode_get_alert_status_req
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/host.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/host.cpp
    functionUses: 0
    functionsReached:
    - decode_get_alert_status_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetAlertStatus, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:23,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:24,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:25,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:26,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:28,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:28,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:29,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:29,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:31,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:31,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:34,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:34,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:44,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:44,1
    - Dst: decode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:47,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:52,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:53,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:54,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 56
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - decode_rw_file_memory_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileMemory, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:66,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:68,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:73,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:73,1
    - Dst: decode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:76,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:78,1
    - Dst: decode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:81,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_memory_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileMemory, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:91,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:93,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:93,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:96,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:99,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:100,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:101,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:102,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:103,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:105,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:105,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:116,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:117,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:118,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileMemory, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:128,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:128,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:131,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:134,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:136,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:137,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:138,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:139,1
    - Dst: encode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:145,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:146,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:147,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:148,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:149,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 151
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileMemory, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:158,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:161,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:161,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:163,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:163,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:170,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:170,1
    - Dst: decode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:173,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:175,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:176,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode_rw_file_memory_resp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileIntoMemory, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:186,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:187,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:192,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:192,1
    - Dst: decode_rw_file_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - decode_rw_file_memory_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileIntoMemory, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:208,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:209,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:210,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:211,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:214,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:214,1
    - Dst: encode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:217,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:221,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:222,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:223,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:224,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:226,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:226,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:228,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:228,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:230,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:233,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 236
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - encode_rw_file_memory_req
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileIntoMemory, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:246,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_memory_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileIntoMemory, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:258,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:262,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:262,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:264,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:264,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:266,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:266,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:275,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:275,1
    - Dst: decode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:278,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:278,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:284,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 286
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_get_file_table_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, GoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:295,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:297,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:302,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:302,1
    - Dst: decode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:305,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:305,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:307,1
    - Dst: decode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 313
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_get_file_table_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, BadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:320,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:326,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:330,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:330,1
    - Dst: encode_get_file_table_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:333,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:334,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:335,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:337,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:339,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:340,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:343,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:343,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:345,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:345,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:348,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:348,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:351,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:351,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:353,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 354
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, GoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:367,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:367,1
    - Dst: encode_get_file_table_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:370,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:373,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:374,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:375,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:377,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 379
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, BadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:390,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:390,1
    - Dst: encode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:393,1
    - Dst: reinterpret_cast<struct pldm_get_file_table_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:398,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:399,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 401
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_file_table_req*>
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_get_file_table_req
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, GoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_file_table_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 413
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_get_file_table_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, BadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:423,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:426,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:426,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:427,1
    - Dst: reinterpret_cast<struct pldm_get_file_table_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:430,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:434,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:436,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:436,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:436,1
    - Dst: decode_get_file_table_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:444,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:449,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:450,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:451,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:452,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:452,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:452,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:454,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 455
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<struct pldm_get_file_table_resp*>
    - decode_get_file_table_resp
    - reinterpret_cast<pldm_msg*>
    - htole32
    - memcpy
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, GoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:466,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:469,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:469,1
    - Dst: decode_get_file_table_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:471,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:473,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:475,1
    - Dst: decode_get_file_table_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:477,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:479,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 482
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - decode_get_file_table_resp
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFileTable, BadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:490,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:490,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:491,1
    - Dst: reinterpret_cast<pldm_read_file_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:493,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:500,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:501,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:502,1
    - Dst: decode_read_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:509,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:512,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:513,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:514,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 516
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_read_file_req*>
    - decode_read_file_req
    - std::array::data
    - ASSERT_EQ
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadFile, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:528,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:528,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:529,1
    - Dst: reinterpret_cast<pldm_write_file_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:531,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:536,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:537,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:538,1
    - Dst: decode_write_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:546,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:549,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:550,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:551,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:552,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 554
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - decode_write_file_req
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::vector::size
    - reinterpret_cast<pldm_write_file_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(WriteFile, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:565,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:565,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:566,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:569,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:572,1
    - Dst: decode_read_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:582,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:586,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:587,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 589
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_read_file_resp*>
    - std::vector::data
    - decode_read_file_resp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadFile, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:596,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:596,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:597,1
    - Dst: reinterpret_cast<pldm_write_file_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:600,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:606,1
    - Dst: decode_write_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:612,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:616,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 618
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_write_file_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_write_file_resp*>
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(WriteFile, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:630,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:630,1
    - Dst: decode_read_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:633,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:635,1
    - Dst: decode_read_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:638,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:640,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:646,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:646,1
    - Dst: decode_write_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:649,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:650,1
    - Dst: decode_write_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:653,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 655
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_write_file_resp
    - std::vector::data
    - std::array::data
    - decode_read_file_resp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFile, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:667,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:667,1
    - Dst: decode_read_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:671,1
    - Dst: decode_read_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:674,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:675,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:681,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:681,1
    - Dst: decode_write_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:684,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:686,1
    - Dst: decode_write_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:689,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 692
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_read_file_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_write_file_req
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFile, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:702,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:702,1
    - Dst: reinterpret_cast<pldm_read_file_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:705,1
    - Dst: encode_read_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:708,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:710,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:711,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:712,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:713,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:714,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:715,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:716,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 717
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_read_file_resp*>
    - std::vector::data
    - ASSERT_EQ
    - encode_read_file_resp
    - reinterpret_cast<pldm_msg*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(ReadFile, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:727,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:727,1
    - Dst: reinterpret_cast<pldm_write_file_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:730,1
    - Dst: encode_write_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:733,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:734,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:735,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:736,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:737,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:738,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:739,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:740,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 741
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_write_file_resp*>
    - encode_write_file_resp
    - reinterpret_cast<pldm_msg*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(WriteFile, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:752,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:752,1
    - Dst: reinterpret_cast<pldm_read_file_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:754,1
    - Dst: encode_read_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:757,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:759,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:760,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:762,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:763,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:764,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:764,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:765,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:765,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:766,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 767
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_read_file_req*>
    - encode_read_file_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(ReadFile, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:778,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:778,1
    - Dst: reinterpret_cast<pldm_write_file_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:780,1
    - Dst: encode_write_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:785,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:786,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:787,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:788,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:789,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:790,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:790,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:791,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:791,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:792,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 793
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_req
    - std::vector::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - le32toh
    - reinterpret_cast<pldm_write_file_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(WriteFile, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:805,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:805,1
    - Dst: encode_read_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:808,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:810,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:816,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:816,1
    - Dst: encode_write_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:819,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_write_file_req
    - encode_read_file_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFile, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:832,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:832,1
    - Dst: encode_read_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:835,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:837,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:838,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:839,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:840,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:841,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:842,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:848,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:848,1
    - Dst: encode_write_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:851,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:853,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:854,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:855,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:856,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:857,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 859
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - encode_read_file_resp
    - encode_write_file_resp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFile, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:868,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:868,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:869,1
    - Dst: reinterpret_cast<pldm_read_write_file_by_type_memory_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:871,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:881,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:882,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:883,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:884,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:885,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:894,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:898,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:899,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:900,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:901,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:902,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 904
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - decode_rw_file_by_type_memory_req
    - std::array::data
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - reinterpret_cast<pldm_read_write_file_by_type_memory_req*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:913,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:913,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:914,1
    - Dst: reinterpret_cast<pldm_read_write_file_by_type_memory_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:916,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:924,1
    - Dst: decode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:930,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:933,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:934,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 936
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_memory_resp
    - std::array::data
    - reinterpret_cast<pldm_read_write_file_by_type_memory_resp*>
    - ASSERT_EQ
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:947,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:949,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:956,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:956,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:959,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:960,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:962,1
    - Dst: decode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:965,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 968
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_memory_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:977,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:978,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:985,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:985,1
    - Dst: decode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:988,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:989,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:990,1
    - Dst: decode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:993,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 996
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_memory_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1009,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1010,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1011,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1012,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1013,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1016,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1016,1
    - Dst: encode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1018,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1023,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1024,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1025,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1026,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1028,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1028,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1029,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1029,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1032,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1033,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1035,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1035,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1038,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1042
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_rw_file_by_type_memory_req
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1051,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1055,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1055,1
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1057,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1061,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1062,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1063,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1064,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1065,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1067,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1068,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1069,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1071
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1080,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1080,1
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1083,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1086,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1087,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1088,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1089,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1090,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1091,1
    - Dst: encode_rw_file_by_type_memory_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1094,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1098
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_rw_file_by_type_memory_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_memory_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1109,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1114
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_memory_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByTypeMemory, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1122,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1122,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1123,1
    - Dst: reinterpret_cast<pldm_new_file_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1125,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1132,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1133,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1134,1
    - Dst: decode_new_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1141,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1144,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1145,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1146,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1148
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - reinterpret_cast<pldm_new_file_req*>
    - std::array::data
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - decode_new_file_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1156,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1156,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1157,1
    - Dst: reinterpret_cast<pldm_new_file_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1159,1
    - Dst: decode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1170,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1172,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1174
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_new_file_resp*>
    - std::array::data
    - ASSERT_EQ
    - decode_new_file_resp
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_new_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1183,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1185,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1191,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1191,1
    - Dst: decode_new_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1194,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1196
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - decode_new_file_req
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1203,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1204,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1210,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1210,1
    - Dst: decode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1213,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1215
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_new_file_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1225,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1226,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1227,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1230,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1230,1
    - Dst: encode_new_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1232,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1234,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1235,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1236,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1237,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1238,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1239,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1239,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1240,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1240,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1242,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1245
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_new_file_req
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1255,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1255,1
    - Dst: encode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1257,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1259,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1260,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1261,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1262,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1263,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1264,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1266
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_new_file_resp
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1273,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1273,1
    - Dst: encode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1276,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1278,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1279,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1280,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1281,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1282,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1283,1
    - Dst: encode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1289
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_new_file_resp
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_new_file_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1298,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1301
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_new_file_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NewFile, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1309,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1309,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1310,1
    - Dst: reinterpret_cast<pldm_read_write_file_by_type_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1312,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1321,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1322,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1323,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1332,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1335,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1336,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1337,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1340
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - decode_rw_file_by_type_req
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    - reinterpret_cast<pldm_read_write_file_by_type_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1348,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1348,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1349,1
    - Dst: reinterpret_cast<pldm_read_write_file_by_type_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1351,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1359,1
    - Dst: decode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1365,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1368,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1369,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1371
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_resp
    - std::array::data
    - ASSERT_EQ
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    - reinterpret_cast<pldm_read_write_file_by_type_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_by_type_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1381,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1383,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1389,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1389,1
    - Dst: decode_rw_file_by_type_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1392,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1395
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1403,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1404,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1410,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1410,1
    - Dst: decode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1413,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1413,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1415,1
    - Dst: decode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1418,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1420
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_rw_file_by_type_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1431,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1432,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1433,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1434,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1437,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1437,1
    - Dst: encode_rw_file_by_type_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1439,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1442,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1443,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1444,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1445,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1448,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1449,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1449,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1452,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1453,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1455,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1458
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - encode_rw_file_by_type_req
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1466,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1469,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1469,1
    - Dst: encode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1471,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1474,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1475,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1476,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1477,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1478,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1480,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1481,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1482,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1484
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_rw_file_by_type_resp
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1492,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1492,1
    - Dst: encode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1495,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1498,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1499,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1500,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1501,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1502,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1503,1
    - Dst: encode_rw_file_by_type_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1506,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1510
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_rw_file_by_type_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_rw_file_by_type_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1520,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1524
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - encode_rw_file_by_type_req
    linkageType: ''
    returnType: void
    signature: void TEST(ReadWriteFileByType, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1532,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1532,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1533,1
    - Dst: reinterpret_cast<pldm_file_ack_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1535,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1542,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1543,1
    - Dst: decode_file_ack_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1551,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1554,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1555,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1556,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1558
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_file_ack_req
    - reinterpret_cast<pldm_file_ack_req*>
    - std::array::data
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1566,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1566,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1567,1
    - Dst: reinterpret_cast<pldm_file_ack_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1569,1
    - Dst: decode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1580,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1582,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1584
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_file_ack_resp*>
    - std::array::data
    - decode_file_ack_resp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_file_ack_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1593,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1595,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1601,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1601,1
    - Dst: decode_file_ack_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1605,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1607
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_file_ack_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1614,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1615,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1621,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1621,1
    - Dst: decode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1624,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1626
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - decode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1636,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1637,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1640,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1640,1
    - Dst: encode_file_ack_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1642,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1644,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1645,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1646,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1647,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1648,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1649,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1649,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1650,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1652
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_file_ack_req
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1662,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1662,1
    - Dst: encode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1664,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1666,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1667,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1668,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1669,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1670,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1671,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1673
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - encode_file_ack_resp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1680,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1680,1
    - Dst: encode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1683,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1685,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1686,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1687,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1688,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1689,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1690,1
    - Dst: encode_file_ack_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1693,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1696
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_file_ack_resp
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1705,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1708
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_file_ack_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileAck, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1719,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1719,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1721,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1723,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1724,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1725,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1726,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1727,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1728,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1730
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - encode_file_ack_with_meta_data_resp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1738,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1738,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1741,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1743,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1744,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1745,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1746,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1747,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1748,1
    - Dst: encode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1751,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1754
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_file_ack_with_meta_data_resp
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1763,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1763,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1764,1
    - Dst: reinterpret_cast<pldm_file_ack_with_meta_data_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1766,1
    - Dst: decode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1777,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1780,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1782
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_file_ack_with_meta_data_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_file_ack_with_meta_data_resp*>
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1789,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1790,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1797,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1797,1
    - Dst: decode_file_ack_with_meta_data_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1800,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1802
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - decode_file_ack_with_meta_data_resp
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1818,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1819,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1820,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1821,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1822,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1823,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1826,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1826,1
    - Dst: encode_file_ack_with_meta_data_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1828,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1832,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1833,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1834,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1835,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1836,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1837,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1837,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1838,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1838,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1840,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1841,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1843,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1843,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1846,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1846,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1851,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1851,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1856,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1861
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - encode_file_ack_with_meta_data_req
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_file_ack_with_meta_data_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1874,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1879
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - encode_file_ack_with_meta_data_req
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1888,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1888,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1889,1
    - Dst: reinterpret_cast<pldm_file_ack_with_meta_data_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1891,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1902,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1903,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1905,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1906,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1907,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1908,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1918,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1922,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1923,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1924,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1925,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1926,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1927,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1928,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1930
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_file_ack_with_meta_data_req*>
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - decode_file_ack_with_meta_data_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1943,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1947,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1954,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1954,1
    - Dst: decode_file_ack_with_meta_data_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1957,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1961
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_file_ack_with_meta_data_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FileAckWithMetadata, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1972,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1972,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1974,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1976,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1977,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1978,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1979,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1980,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1981,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 1983
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_new_file_with_metadata_resp
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1991,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1991,1
    - Dst: encode_new_file_with_metadata_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1994,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1996,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1997,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1998,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:1999,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2000,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2001,1
    - Dst: encode_new_file_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2004,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2007
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_new_file_with_metadata_resp
    - encode_new_file_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2016,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2016,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2017,1
    - Dst: reinterpret_cast<pldm_file_ack_with_meta_data_resp*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2019,1
    - Dst: decode_new_file_with_metadata_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2030,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2033,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2035
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_new_file_with_metadata_resp
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_file_ack_with_meta_data_resp*>
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_new_file_with_metadata_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2042,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2043,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2050,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2050,1
    - Dst: decode_new_file_with_metadata_resp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2053,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2055
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - decode_new_file_with_metadata_resp
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2071,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2072,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2073,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2074,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2075,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2076,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2077,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2080,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2080,1
    - Dst: encode_new_file_with_metadata_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2082,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2086,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2087,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2088,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2089,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2090,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2091,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2091,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2092,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2092,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2094,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2095,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2098,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2098,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2102,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2102,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2107,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2107,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2112,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2117
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - encode_new_file_with_metadata_req
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_new_file_with_metadata_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2130,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2135
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_new_file_with_metadata_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2144,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2144,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2145,1
    - Dst: reinterpret_cast<pldm_new_file_with_metadata_req*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2148,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2159,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2160,1
    - Dst: htole64
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2161,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2162,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2163,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2164,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2165,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2176,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2181,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2182,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2183,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2184,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2185,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2186,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2187,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2189
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - htole64
    - reinterpret_cast<pldm_new_file_with_metadata_req*>
    - std::array::data
    - ASSERT_EQ
    - htole16
    - decode_new_file_with_metadata_req
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_new_file_with_metadata_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2202,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2206,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2213,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2213,1
    - Dst: decode_new_file_with_metadata_req
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2216,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/ibm/fileio.cpp:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2220
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_new_file_with_metadata_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(NewFileAvailableWithMetaData, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:18,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:25,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:27,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:28,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:30,1
    - Dst: pldm_msgbuf_insert_int32
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:31,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:32,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:34,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:36,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:37,1
    - Dst: pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:43,1
    - Dst: static_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:45,1
    - Dst: pldm_oem_meta_file_io_write_req_data
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:45,1
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:49,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:51,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:53,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 54
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - static_cast<uint8_t*>
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - decode_oem_meta_file_io_write_req
    - pldm_msg::pldm_msg
    - pldm_msgbuf_complete_consumed
    - pldm_oem_meta_file_io_write_req_data
    - pldm_oem_meta_file_io_write_req::pldm_oem_meta_file_io_write_req
    - pldm_msgbuf_insert_int32
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoWriteReq, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_write_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoWriteReq, testInvalidFieldsDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_write_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoWriteReq, testInvalidLengthDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_write_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoWriteReq, testInvalidDataRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:87,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:93,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:95,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:96,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:98,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:99,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:100,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:101,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:102,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:105,1
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - decode_oem_meta_file_io_read_req
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoReadReq, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:123,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_read_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoReadReq, testInvalidFieldsDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_read_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoReadReq, testInvalidLengthDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_oem_meta_file_io_read_req
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - decode_oem_meta_file_io_read_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeOemMetaFileIoReadReq, testInvalidDataRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:153,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:166,1
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:168,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:170,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:172,1
    - Dst: testing::ElementsAreArray
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_oem_meta_file_io_read_resp
    - ASSERT_EQ
    - pldm_msg::pldm_msg
    - EXPECT_THAT
    - testing::ElementsAreArray
    - pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeOemMetaFileIoReadResp, testGoodEncodeReadAttrResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:184,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:192,1
    - Dst: pldm_oem_meta_file_io_read_resp_data
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:192,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:200,1
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:202,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:205,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:207,1
    - Dst: testing::ElementsAreArray
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_oem_meta_file_io_read_resp
    - EXPECT_THAT
    - ASSERT_EQ
    - pldm_msg::pldm_msg
    - memcpy
    - pldm_oem_meta_file_io_read_resp_data
    - testing::ElementsAreArray
    - pldm_oem_meta_file_io_read_resp::pldm_oem_meta_file_io_read_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeOemMetaFileIoReadResp, testGoodEncodeReadDataResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:216,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_oem_meta_file_io_read_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeOemMetaFileIoReadResp, testInvalidFieldsEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_oem_meta_file_io_read_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeOemMetaFileIoReadResp, testInvalidLengthEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_oem_meta_file_io_read_resp
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/oem/meta/fileio.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/oem/meta/fileio.cpp
    functionUses: 0
    functionsReached:
    - encode_oem_meta_file_io_read_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeOemMetaFileIoReadResp, testInvalidDataEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:54,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:54,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:54,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:55,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:57,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - EXPECT_EQ
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_unwanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:36,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:36,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:36,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:37,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:38,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:39,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 41
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - EXPECT_EQ
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:54,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:54,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:54,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:55,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:57,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - EXPECT_EQ
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_wrong_command_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:20,1
    - Dst: pldm_transport_af_mctp_map_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:20,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:23,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:23,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:24,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:27,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 29
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/af-mctp.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_af_mctp_get_tid
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_transport_af_mctp_map_tid
    linkageType: ''
    returnType: void
    signature: void TEST(AfMctpTidLookup, any_network_match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:47,1
    - Dst: pldm_transport_af_mctp_map_tid_fqe
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:47,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:48,1
    - Dst: pldm_transport_af_mctp_map_tid_fqe
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:51,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:51,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:52,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:54,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:55,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:58,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/af-mctp.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_af_mctp_get_tid
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_transport_af_mctp_map_tid_fqe
    linkageType: ''
    returnType: void
    signature: void TEST(AfMctpTidLookup, network_specific_match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:78,1
    - Dst: pldm_transport_af_mctp_map_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:78,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:79,1
    - Dst: pldm_transport_af_mctp_map_tid_fqe
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:83,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:83,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:87,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:87,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:89,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:92,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/tests/unit/transport/af-mctp.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/af-mctp.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_af_mctp_get_tid
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_transport_af_mctp_map_tid_fqe
    - pldm_transport_af_mctp_map_tid
    linkageType: ''
    returnType: void
    signature: void TEST(AfMctpTidLookup, exact_network_preferred_over_any_net)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - clockid
    - ts
    argTypes:
    - clockid_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 37
    functionName: libpldm_clock_gettime
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_one.cpp
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int libpldm_clock_gettime(clockid_t clockid, struct timespec* ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:87,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:87,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:87,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:88,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:89,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:90,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:92,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:92,1
    - Dst: free
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:93,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/send_recv_one.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 95
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_one.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - free
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:54,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:54,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:54,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:55,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:57,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - EXPECT_EQ
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_wrong_pldm_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:12,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/transport.cpp:12,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:13,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/transport.cpp:13,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/transport.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 15
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/transport.cpp
    functionUses: 0
    functionsReached:
    - pldm_transport_test_core
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_transport_test_init
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:35,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/transport.cpp:35,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:35,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/transport.cpp:36,1
    - Dst: pldm_transport_send_msg
      Src: /src/libpldm/tests/unit/transport/transport.cpp:37,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:38,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/transport.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/transport.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - EXPECT_EQ
    - pldm_transport_send_msg
    - pldm_transport_test_init
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:64,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/transport.cpp:64,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:64,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/transport.cpp:65,1
    - Dst: pldm_transport_recv_msg
      Src: /src/libpldm/tests/unit/transport/transport.cpp:66,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:67,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:68,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:69,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/transport.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:70,1
    - Dst: free
      Src: /src/libpldm/tests/unit/transport/transport.cpp:71,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/transport.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/transport.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - memcmp
    - EXPECT_EQ
    - free
    - pldm_transport_test_init
    - pldm_transport_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:115,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/transport.cpp:115,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:115,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/transport.cpp:116,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/transport.cpp:117,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:118,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:119,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/transport.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:120,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/transport.cpp:120,1
    - Dst: free
      Src: /src/libpldm/tests/unit/transport/transport.cpp:121,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/transport.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 123
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/transport.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - free
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_drain_one_unwanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:165,1
    - Dst: pldm_transport_test_init
      Src: /src/libpldm/tests/unit/transport/transport.cpp:165,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:165,1
    - Dst: pldm_transport_test_core
      Src: /src/libpldm/tests/unit/transport/transport.cpp:166,1
    - Dst: pldm_transport_send_recv_msg
      Src: /src/libpldm/tests/unit/transport/transport.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:168,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/transport/transport.cpp:169,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/transport.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/transport/transport.cpp:170,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/transport/transport.cpp:170,1
    - Dst: free
      Src: /src/libpldm/tests/unit/transport/transport.cpp:171,1
    - Dst: pldm_transport_test_destroy
      Src: /src/libpldm/tests/unit/transport/transport.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 173
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/transport/transport.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - pldm_transport_test_core
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - free
    - pldm_transport_test_init
    - pldm_transport_send_recv_msg
    - pldm_transport_test_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(Transport, send_recv_req_echo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:85,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:130,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:164,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:173,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:175,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:178,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:181,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 193
    functionName: pldm::fw_update::makePkgV1_1_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_1_0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseFailWithLowerPin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:222,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:224,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - has_value
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - value
    - pldm::fw_update::makePkgV1_1_0
    - auto::error
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_SelfContainedActivation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    - downstreamDeviceApplicableComponents::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_Applicable_Components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDeviceRecordDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - downstreamDevicePackageData::size
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDevicePackageData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:85,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:130,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:164,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:173,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:175,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:178,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:181,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 193
    functionName: pldm::fw_update::makePkgV1_1_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 6
    functionsReached:
    - std::vector::insert
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_1_0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseFailWithLowerPin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:222,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:224,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - has_value
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - value
    - pldm::fw_update::makePkgV1_1_0
    - auto::error
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_SelfContainedActivation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    - downstreamDeviceApplicableComponents::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_Applicable_Components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDeviceRecordDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - downstreamDevicePackageData::size
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDevicePackageData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:85,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:130,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:164,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:173,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:175,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:178,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:181,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 193
    functionName: pldm::fw_update::makePkgV1_1_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 12
    functionsReached:
    - std::vector::insert
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_1_0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseFailWithLowerPin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:222,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:224,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - has_value
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - value
    - pldm::fw_update::makePkgV1_1_0
    - auto::error
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_SelfContainedActivation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    - downstreamDeviceApplicableComponents::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_Applicable_Components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDeviceRecordDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - downstreamDevicePackageData::size
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDevicePackageData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:85,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:130,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:163,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:164,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:165,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:173,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:174,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:175,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:178,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:181,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:186,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 193
    functionName: pldm::fw_update::makePkgV1_1_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 18
    functionsReached:
    - std::vector::insert
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_1_0()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:211,1
    - Dst: ASSERT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseFailWithLowerPin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:220,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:222,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:224,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:225,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:227,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - has_value
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - value
    - pldm::fw_update::makePkgV1_1_0
    - auto::error
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_ParseSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:238,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:240,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:242,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_SelfContainedActivation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:265,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    - downstreamDeviceApplicableComponents::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_Applicable_Components)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:282,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:284,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:288,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 300
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDeviceRecordDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: pldm::fw_update::makePkgV1_1_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:306,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:308,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:310,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - pldm::fw_update::makePkgV1_1_0
    - downstreamDevicePackageData::size
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_1_0_DownstreamDevicePackageData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:12,1
    - Dst: data
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:12,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:12,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:16,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:17,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:18,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:19,1
    - Dst: insert
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:20,1
    - Dst: end
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:20,1
    - Dst: auto::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:20,1
    - Dst: auto::end
      Src: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pkg'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: appendCRC
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp
    functionUses: 4
    functionsReached:
    - pldm_edac_crc32
    - size
    - static_cast<uint8_t>
    - data
    - end
    - auto::begin
    - auto::end
    - insert
    linkageType: ''
    returnType: void
    signature: void appendCRC(std::vector<uint8_t>& pkg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:93,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:102,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:104,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:106,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:108,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:123,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: std::vector<uint16_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:130,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:139,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - auto::value
    - auto::error
    - std::bitset<32>
    - std::vector<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgSingleDescriptorSingleComponent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:248,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:257,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:259,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:261,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:294,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:297,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:302,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: ::testing::UnorderedElementsAre
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:309,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:342,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:364,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:380,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:385,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 421
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - std::bitset<32>
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - ::testing::UnorderedElementsAre
    - auto::value
    - auto::error
    - EXPECT_THAT
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgMultipleDescriptorsMultipleComponents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:440,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    - Dst: std::expected::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - pldm::fw_update::PackageParser::parse
    - std::expected::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, InvalidPkgBadChecksum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:93,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:102,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:104,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:106,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:108,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:123,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: std::vector<uint16_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:130,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:139,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - auto::value
    - auto::error
    - std::bitset<32>
    - std::vector<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgSingleDescriptorSingleComponent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:248,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:257,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:259,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:261,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:294,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:297,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:302,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: ::testing::UnorderedElementsAre
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:309,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:342,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:364,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:380,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:385,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 421
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - std::bitset<32>
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - ::testing::UnorderedElementsAre
    - auto::value
    - auto::error
    - EXPECT_THAT
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgMultipleDescriptorsMultipleComponents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:440,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    - Dst: std::expected::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - pldm::fw_update::PackageParser::parse
    - std::expected::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, InvalidPkgBadChecksum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:93,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:102,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:104,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:106,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:108,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:123,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: std::vector<uint16_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:130,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:139,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - auto::value
    - auto::error
    - std::bitset<32>
    - std::vector<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgSingleDescriptorSingleComponent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:248,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:257,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:259,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:261,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:294,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:297,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:302,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: ::testing::UnorderedElementsAre
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:309,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:342,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:364,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:380,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:385,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 421
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - std::bitset<32>
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - ::testing::UnorderedElementsAre
    - auto::value
    - auto::error
    - EXPECT_THAT
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgMultipleDescriptorsMultipleComponents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:440,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    - Dst: std::expected::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - pldm::fw_update::PackageParser::parse
    - std::expected::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, InvalidPkgBadChecksum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:93,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:102,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:104,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:106,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:108,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:111,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:123,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:129,1
    - Dst: std::vector<uint16_t>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:130,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:139,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - auto::value
    - auto::error
    - std::bitset<32>
    - std::vector<uint16_t>
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgSingleDescriptorSingleComponent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:248,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:257,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:259,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:261,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:263,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:266,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:294,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:297,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:302,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: ::testing::UnorderedElementsAre
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:309,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:342,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:347,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:364,1
    - Dst: std::bitset<32>
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: getDescriptorTypes
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:369,1
    - Dst: recordDescriptors::at
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:378,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:380,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:385,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 421
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - std::bitset<32>
    - recordDescriptors::at
    - ASSERT_EQ
    - EXPECT_EQ
    - getDescriptorTypes
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - std::vector::push_back
    - appendCRC
    - ::testing::UnorderedElementsAre
    - auto::value
    - auto::error
    - EXPECT_THAT
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgMultipleDescriptorsMultipleComponents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:440,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    - Dst: std::expected::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 443
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - pldm::fw_update::PackageParser::parse
    - std::expected::has_value
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, InvalidPkgBadChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:139,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:176,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:178,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:181,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:184,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:197,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 204
    functionName: pldm::fw_update::makePkgV1_3_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - std::vector::insert
    - auto::begin
    - auto::end
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_3_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:210,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:211,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:213,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:215,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 253
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceApplicableComponents::size
    - auto::size
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - downstreamDevicePackageData::size
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_SingleDescriptorWithDownstreamDevices)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:260,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:262,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:264,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: referenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - referenceManifestData::has_value
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - referenceManifestData::value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_FirmwareDeviceIdReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:293,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:294,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:296,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:298,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: downstreamDeviceReferenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - downstreamDeviceReferenceManifestData::has_value
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceReferenceManifestData::value
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_DownstreamDeviceReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:328,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:329,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:331,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:333,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    - Dst: componentOpaqueData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - EXPECT_EQ
    - componentOpaqueData::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_ComponentOpaqueData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:139,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:176,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:178,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:181,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:184,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:197,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 204
    functionName: pldm::fw_update::makePkgV1_3_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 4
    functionsReached:
    - std::vector::insert
    - auto::begin
    - auto::end
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_3_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:210,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:211,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:213,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:215,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 253
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceApplicableComponents::size
    - auto::size
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - downstreamDevicePackageData::size
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_SingleDescriptorWithDownstreamDevices)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:260,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:262,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:264,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: referenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - referenceManifestData::has_value
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - referenceManifestData::value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_FirmwareDeviceIdReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:293,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:294,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:296,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:298,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: downstreamDeviceReferenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - downstreamDeviceReferenceManifestData::has_value
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceReferenceManifestData::value
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_DownstreamDeviceReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:328,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:329,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:331,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:333,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    - Dst: componentOpaqueData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - EXPECT_EQ
    - componentOpaqueData::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_ComponentOpaqueData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:139,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:176,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:178,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:181,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:184,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:197,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 204
    functionName: pldm::fw_update::makePkgV1_3_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 8
    functionsReached:
    - std::vector::insert
    - auto::begin
    - auto::end
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_3_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:210,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:211,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:213,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:215,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 253
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceApplicableComponents::size
    - auto::size
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - downstreamDevicePackageData::size
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_SingleDescriptorWithDownstreamDevices)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:260,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:262,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:264,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: referenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - referenceManifestData::has_value
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - referenceManifestData::value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_FirmwareDeviceIdReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:293,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:294,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:296,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:298,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: downstreamDeviceReferenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - downstreamDeviceReferenceManifestData::has_value
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceReferenceManifestData::value
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_DownstreamDeviceReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:328,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:329,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:331,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:333,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    - Dst: componentOpaqueData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - EXPECT_EQ
    - componentOpaqueData::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_ComponentOpaqueData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:139,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:169,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:170,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:171,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:172,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:176,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:177,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:178,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:180,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:181,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:184,1
    - Dst: appendCRC
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::begin
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: auto::end
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:197,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 204
    functionName: pldm::fw_update::makePkgV1_3_0
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 12
    functionsReached:
    - std::vector::insert
    - auto::begin
    - auto::end
    - std::vector::begin
    - std::vector::push_back
    - appendCRC
    - std::vector::size
    - std::vector::end
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> makePkgV1_3_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:210,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:211,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:213,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:215,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:218,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:220,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: downstreamDeviceApplicableComponents::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: data::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: downstreamDevicePackageData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 253
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - data::size
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceApplicableComponents::size
    - auto::size
    - downstreamDeviceRecordDescriptors::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - downstreamDevicePackageData::size
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_SingleDescriptorWithDownstreamDevices)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:259,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:260,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:262,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:264,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:267,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:269,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:271,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: referenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: referenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 287
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - referenceManifestData::has_value
    - ASSERT_TRUE
    - ASSERT_EQ
    - EXPECT_EQ
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - referenceManifestData::value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_FirmwareDeviceIdReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:293,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:294,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:296,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:298,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:301,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:303,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: auto::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:305,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: downstreamDeviceReferenceManifestData::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: downstreamDeviceReferenceManifestData::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 322
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_TRUE
    - downstreamDeviceReferenceManifestData::has_value
    - ASSERT_EQ
    - EXPECT_EQ
    - downstreamDeviceReferenceManifestData::value
    - auto::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_DownstreamDeviceReferenceManifestData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::fw_update::makePkgV1_3_0
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:328,1
    - Dst: pldm::fw_update::PackageParser::parse
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:329,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:331,1
    - Dst: auto::error
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:333,1
    - Dst: ASSERT_TRUE
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::has_value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:336,1
    - Dst: auto::value
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    - Dst: componentOpaqueData::size
      Src: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: pldm::fw_update::TEST
    functionSourceFile: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_TRUE
    - EXPECT_EQ
    - componentOpaqueData::size
    - pldm::fw_update::PackageParser::parse
    - auto::has_value
    - auto::value
    - auto::error
    - pldm::fw_update::makePkgV1_3_0
    linkageType: ''
    returnType: void
    signature: void TEST(PackageParserTest, ValidPkgV1_3_0_ComponentOpaqueData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:23,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:23,1
    - Dst: insert
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:24,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:24,1
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:25,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:25,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:25,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:26,1
    - Dst: std::memcpy
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:28,1
    - Dst: insert
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:29,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:29,1
    - Dst: std::begin
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:29,1
    - Dst: std::end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' table'
    argTypes:
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: buildTable
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    - std::end
    - size
    - data
    - end
    - htole32
    - insert
    - std::memcpy
    - std::begin
    linkageType: ''
    returnType: void
    signature: void buildTable(Table& table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:35,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:35,1
    - Dst: begin
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:35,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:35,1
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' table'
    - ' first'
    argTypes:
    - Table
    - First
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: buildTable
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 1
    functionsReached:
    - insert
    - buildTable
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void buildTable(Table& table, First& first, Rest&... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:53,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:53,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:55,1
    - Dst: pldm_bios_table_attr_entry_decode_attribute_type
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:56,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:57,1
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_table_entry*>
    - std::vector::data
    - EXPECT_EQ
    - pldm_bios_table_attr_entry_decode_string_handle
    - pldm_bios_table_attr_entry_decode_attribute_type
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, HeaderDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:77,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:79,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:79,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:81,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:83,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:85,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:88,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:88,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:89,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:89,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:92,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:93,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:94,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:95,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:95,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:96,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:98,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:100,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:101,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:101,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:103,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:105,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:106,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:106,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:108,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:111,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:113,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_indices
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:115,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:116,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:116,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:117,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:118,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:118,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:121,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:123,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:126,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:128,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:132,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:134,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:135,1
    - Dst: pldm_bios_table_attr_entry_enum_decode_pv_hdls
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 138
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - EXPECT_THAT
    - reinterpret_cast<struct pldm_bios_attr_table_entry*>
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - ElementsAreArray
    - pldm_bios_table_attr_entry_enum_decode_pv_hdls
    - pldm_bios_table_attr_entry_enum_decode_pv_num
    - std::vector::resize
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_decode_def_indices
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, EnumEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:160,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:162,1
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:165,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:165,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:168,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:168,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:168,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:175,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:177,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:177,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:178,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:178,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:180,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:180,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:181,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:187,1
    - Dst: pldm_bios_table_attr_entry_enum_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:188,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:188,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 191
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_encode
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::vector::size
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, EnumEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:207,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:208,1
    - Dst: pldm_bios_table_attr_entry_string_decode_string_type
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:210,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:211,1
    - Dst: pldm_bios_table_attr_entry_string_decode_min_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:213,1
    - Dst: pldm_bios_table_attr_entry_string_decode_max_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:215,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:218,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:218,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:221,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:223,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:224,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:225,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:226,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:226,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:227,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:228,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:229,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:230,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:230,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:236,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:240,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:243,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:247,1
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 251
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_decode_def_string
    - reinterpret_cast<struct pldm_bios_attr_table_entry*>
    - pldm_bios_table_attr_entry_string_decode_min_length
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    - pldm_bios_table_attr_entry_string_decode_max_length
    - EXPECT_STREQ
    - pldm_bios_table_attr_entry_string_decode_string_type
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, StringEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:276,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:276,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:279,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:279,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:280,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:286,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:288,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:288,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:289,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:289,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:291,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:292,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:293,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:298,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:299,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:300,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:301,1
    - Dst: std::swap
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:302,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:305,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:306,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:309,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:309,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:311,1
    - Dst: std::swap
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:312,1
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:329,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:329,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:331,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:332,1
    - Dst: pldm_bios_table_attr_entry_string_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:332,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:333,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 340
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - std::vector::data
    - pldm_bios_table_attr_entry_string_encode
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_bios_table_attr_entry_string_info_check
    - EXPECT_STREQ
    - std::swap
    - std::vector::resize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, StringEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:366,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:366,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:369,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:369,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:370,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:370,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:376,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:378,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:378,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:379,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:379,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:382,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:383,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:383,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:384,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:389,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:391,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:392,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:393,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:399,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:400,1
    - Dst: pldm_bios_table_attr_entry_integer_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:401,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:401,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 404
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode
    - pldm_bios_table_attr_entry_integer_encode_length
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_bios_table_attr_entry_integer_info_check
    - EXPECT_STREQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, integerEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:423,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:424,1
    - Dst: pldm_bios_table_attr_entry_integer_decode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:425,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:427,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:428,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:429,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::vector::data
    - reinterpret_cast<struct pldm_bios_attr_table_entry*>
    - pldm_bios_table_attr_entry_integer_decode
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, integerEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:466,1
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:467,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:467,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:467,1
    - Dst: pldm_bios_table_iter_attr_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:469,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:470,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:470,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:470,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:471,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:473,1
    - Dst: pldm_bios_table_iter_attr_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:474,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:475,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:475,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:475,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:476,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:478,1
    - Dst: pldm_bios_table_iter_attr_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:479,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:480,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:480,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:481,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:483,1
    - Dst: pldm_bios_table_iter_attr_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:484,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:485,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:485,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:485,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:486,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:488,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:489,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:489,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:490,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:492,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 493
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Table::data
    - pldm_bios_table_iter_create
    - std::vector::data
    - pldm_bios_table_iter_next
    - Table::size
    - EXPECT_EQ
    - pldm_bios_table_iter_free
    - buildTable
    - pldm_bios_table_iter_is_end
    - std::vector::size
    - pldm_bios_table_iter_attr_entry_value
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, ItearatorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:528,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:531,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:531,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:531,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:532,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:534,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:535,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:535,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:535,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:536,1
    - Dst: pldm_bios_table_attr_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:538,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:538,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:539,1
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:541,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:541,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:542,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:543,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:545,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:546,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:546,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:546,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:547,1
    - Dst: pldm_bios_table_attr_find_by_string_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:549,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:549,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:550,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 552
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_find_by_handle
    - reinterpret_cast<const uint8_t*>
    - Table::data
    - Table::size
    - EXPECT_EQ
    - pldm_bios_table_attr_find_by_string_handle
    - buildTable
    - EXPECT_NE
    - ElementsAreArray
    - EXPECT_THAT
    - std::vector::size
    - std::vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(AttrTable, FindTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:564,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:565,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:567,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:568,1
    - Dst: pldm_bios_table_attr_value_entry_decode_attribute_type
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:570,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - EXPECT_EQ
    - pldm_bios_table_attr_value_entry_decode_attribute_handle
    - pldm_bios_table_attr_value_entry_decode_attribute_type
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, HeaderDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:584,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:585,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:585,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:588,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:588,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:589,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:591,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:593,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:593,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:594,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:594,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:597,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:598,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:598,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:600,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:601,1
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:603,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:604,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:606,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:607,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:610,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:611,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:612,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:612,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:614,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:615,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:616,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:616,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 619
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - pldm_bios_table_attr_value_entry_encode_enum
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::vector::size
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, EnumEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:632,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:633,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:635,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:638,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:639,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:639,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:640,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:641,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:642,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:646,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:647,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:647,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:648,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:649,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:650,1
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_handles
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:654,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:655,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:655,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:656,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 658
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - std::vector::data
    - pldm_bios_table_attr_value_entry_enum_decode_handles
    - EXPECT_EQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, EnumEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:669,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:670,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:670,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:672,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:672,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:673,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:675,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:677,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:677,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:678,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:678,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:681,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:682,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:683,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:684,1
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:686,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:687,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:689,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:690,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:692,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:693,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:694,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:695,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:697,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:698,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:699,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:699,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 702
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_encode_string
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, stringEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:714,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:715,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:716,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:717,1
    - Dst: pldm_bios_table_attr_value_entry_decode_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:719,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:720,1
    - Dst: pldm_bios_table_attr_value_entry_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:723,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:723,1
    - Dst: pldm_bios_table_attr_value_entry_string_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:726,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:728,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:728,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 731
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - pldm_bios_table_attr_value_entry_string_decode_length
    - std::vector::data
    - pldm_bios_table_attr_value_entry_decode_handle
    - EXPECT_EQ
    - ElementsAreArray
    - pldm_bios_table_attr_value_entry_length
    - pldm_bios_table_attr_value_entry_string_decode_string
    - EXPECT_THAT
    - std::vector::size
    - std::vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, StringEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:741,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:742,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:742,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:744,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:745,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:746,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:746,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:748,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:750,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:750,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:751,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:751,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:755,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:756,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:756,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:757,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:758,1
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:760,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:761,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:763,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:764,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:764,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:766,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:767,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:769,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:770,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:771,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:772,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:773,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 776
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - ASSERT_EQ
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - EXPECT_EQ
    - EXPECT_NE
    - pldm_bios_table_attr_value_entry_encode_integer
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, integerEntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:787,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:788,1
    - Dst: pldm_bios_table_attr_value_entry_integer_decode_cv
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:789,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - std::vector::data
    - EXPECT_EQ
    - pldm_bios_table_attr_value_entry_integer_decode_cv
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, integerEntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:815,1
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:817,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:817,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:817,1
    - Dst: pldm_bios_table_iter_attr_value_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:819,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:822,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:823,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:823,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:823,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:824,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:826,1
    - Dst: pldm_bios_table_iter_attr_value_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:827,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:829,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:830,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:830,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:830,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:831,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:833,1
    - Dst: pldm_bios_table_iter_attr_value_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:834,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:836,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:837,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:837,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:837,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:838,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:840,1
    - Dst: pldm_bios_table_iter_attr_value_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:841,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:843,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:844,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:844,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:844,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:845,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:847,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:848,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:848,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 851
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - EXPECT_TRUE
    - Table::data
    - pldm_bios_table_iter_create
    - pldm_bios_table_iter_next
    - Table::size
    - pldm_bios_table_iter_free
    - buildTable
    - ElementsAreArray
    - pldm_bios_table_iter_is_end
    - EXPECT_THAT
    - std::vector::size
    - std::vector<uint8_t>
    - pldm_bios_table_iter_attr_value_entry_value
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, IteratorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:875,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:877,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:877,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:878,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:879,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:881,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:882,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:882,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:882,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:883,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:885,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:885,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:886,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:887,1
    - Dst: reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:891,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:891,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:894,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:894,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:894,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:895,1
    - Dst: EXPECT_DEATH
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:898,1
    - Dst: pldm_bios_table_attr_value_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:898,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:898,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 902
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_bios_attr_val_table_entry*>
    - reinterpret_cast<const uint8_t*>
    - Table::data
    - EXPECT_DEATH
    - Table::size
    - EXPECT_EQ
    - buildTable
    - EXPECT_NE
    - ElementsAreArray
    - pldm_bios_table_attr_value_find_by_handle
    - EXPECT_THAT
    - std::vector::size
    - std::vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, FindTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:926,1
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:936,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:937,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:938,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:939,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:940,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:940,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:940,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:941,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:941,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:943,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:944,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:944,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:945,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:946,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:946,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:954,1
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:955,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:956,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:956,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:957,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:958,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:959,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:959,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:959,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:960,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:960,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:961,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:962,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:962,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:963,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:964,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:964,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:972,1
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:973,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:974,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:974,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:975,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:976,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:977,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:977,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:977,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:978,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:978,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:979,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:980,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:980,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:981,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:982,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:982,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:985,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:986,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:986,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:986,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:987,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:987,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:988,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:991,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:991,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:992,1
    - Dst: pldm_bios_table_attr_value_copy_and_update
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:993,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:994,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:994,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:994,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:995,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:995,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 997
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_copy_and_update
    - Table::data
    - Table::resize
    - std::vector::data
    - Table::size
    - EXPECT_EQ
    - buildTable
    - ElementsAreArray
    - EXPECT_THAT
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(AttrValTable, CopyAndUpdateTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1008,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1009,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1010,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1010,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1013,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1013,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1014,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1014,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1020,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1022,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1022,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1023,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1023,1
    - Dst: pldm_bios_table_string_entry_encode
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1025,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1026,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1026,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1028
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ASSERT_EQ
    - std::strlen
    - EXPECT_EQ
    - pldm_bios_table_string_entry_encode
    - EXPECT_NE
    - pldm_bios_table_string_entry_encode_length
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(StringTable, EntryEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_string_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1038,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1039,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1040,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1041,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1042,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1043,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1046,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1046,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1047,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1048,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1048,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1048,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1049,1
    - Dst: std::strcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1049,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1049,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1050,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1050,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1051,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1053,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1053,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1053,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1054,1
    - Dst: std::strcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1054,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1054,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1056,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1056,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1058,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1059,1
    - Dst: std::strcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1059,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1059,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1062,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1064,1
    - Dst: std::strcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1064,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1065
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - EXPECT_EQ
    - std::vector::size
    - std::strcmp
    - reinterpret_cast<struct pldm_bios_string_table_entry*>
    - strlen
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_string_entry_decode_string_length
    linkageType: ''
    returnType: void
    signature: void TEST(StringTable, EntryDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1081,1
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1083,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1083,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1083,1
    - Dst: pldm_bios_table_iter_string_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1085,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1086,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1086,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1086,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1087,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1088,1
    - Dst: pldm_bios_table_iter_string_entry_value
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1089,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1090,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1090,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1090,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1091,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1092,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1093,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1093,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1095
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_string_entry_value
    - EXPECT_TRUE
    - Table::data
    - pldm_bios_table_iter_create
    - std::vector::data
    - Table::size
    - EXPECT_EQ
    - pldm_bios_table_iter_free
    - buildTable
    - pldm_bios_table_iter_is_end
    - std::vector::size
    - pldm_bios_table_iter_next
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void TEST(StringTable, IteratorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1116,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1118,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1118,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1119,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1120,1
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1121,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1122,1
    - Dst: pldm_bios_table_string_find_by_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1124,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1124,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1126,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1129,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1129,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1129,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1130,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1131,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1132,1
    - Dst: pldm_bios_table_string_entry_decode_string
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1134,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1134,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1137,1
    - Dst: std::strcmp
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1137,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1137,1
    - Dst: pldm_bios_table_string_find_by_handle
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1140,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1140,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1142
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - Table::data
    - pldm_bios_table_string_entry_decode_string
    - std::vector::data
    - Table::size
    - EXPECT_EQ
    - buildTable
    - EXPECT_NE
    - std::vector::size
    - std::strcmp
    - pldm_bios_table_string_find_by_handle
    - pldm_bios_table_string_find_by_string
    - pldm_bios_table_string_entry_decode_handle
    - pldm_bios_table_string_entry_decode_string_length
    linkageType: ''
    returnType: void
    signature: void TEST(StringTable, FindTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_bios_attr_table_entry*>
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1152,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1152,1
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1153,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1153,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1153,1
    - Dst: EXPECT_DEATH
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1157,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1157,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1160
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - Table::data
    - reinterpret_cast<struct pldm_bios_attr_table_entry*>
    - pldm_bios_table_iter_create
    - EXPECT_DEATH
    - Table::size
    - pldm_bios_table_iter_free
    - pldm_bios_table_iter_next
    linkageType: ''
    returnType: void
    signature: void TEST(Iterator, DeathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1164,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1165,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1165,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1166,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1166,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1167,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1167,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1168,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1168,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1174,1
    - Dst: Table::resize
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1175,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1176,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1177,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1177,1
    - Dst: Table::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1178,1
    - Dst: Table::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1183
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - Table::data
    - pldm_bios_table_append_pad_checksum
    - Table::resize
    - ASSERT_EQ
    - Table::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PadAndChecksum, PadAndChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTable
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1193,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1195,1
    - Dst: pldm_bios_table_checksum
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1196,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1196,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/bios_table.cpp:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1197
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table.cpp
    functionUses: 0
    functionsReached:
    - pldm_bios_table_checksum
    - std::vector::data
    - EXPECT_EQ
    - buildTable
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(BIOSTableChecksum, testBIOSTableChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:29,1
    - Dst: encode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:31,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:34,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:35,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:36,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:36,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 38
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_open_req
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:55,1
    - Dst: encode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:59,1
    - Dst: encode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_open_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:81,1
    - Dst: encode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:83,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_open_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenReq, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:97,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:102,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:105,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:107,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:108,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:110,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:110,1
    - Dst: decode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - decode_pldm_file_df_open_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:128,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:133,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:135,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:136,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:138,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:139,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:141,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:141,1
    - Dst: decode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:143,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:144,1
    - Dst: decode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 148
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - decode_pldm_file_df_open_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:159,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:164,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:166,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:167,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:169,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:170,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:172,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:172,1
    - Dst: decode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - decode_pldm_file_df_open_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenResp, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:193,1
    - Dst: encode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:195,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:199,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:200,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:200,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - encode_pldm_file_df_close_req
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfCloseReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:219,1
    - Dst: encode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:221,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:223,1
    - Dst: encode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_close_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfCloseReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:245,1
    - Dst: encode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:247,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_close_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfCloseReq, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:260,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:265,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:267,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:268,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:270,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:272,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:272,1
    - Dst: decode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:275,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_file_df_close_resp
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfCloseResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:289,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:294,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:296,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:297,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:299,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:301,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:301,1
    - Dst: decode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:304,1
    - Dst: decode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 308
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_file_df_close_resp
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfCloseResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:326,1
    - Dst: encode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:328,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:331,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:332,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:333,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 335
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_heartbeat_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:352,1
    - Dst: encode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:356,1
    - Dst: encode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:358,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_heartbeat_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:378,1
    - Dst: encode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_heartbeat_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatReq, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:394,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:399,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:401,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:402,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:404,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:405,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:407,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:407,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:409,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 415
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - decode_pldm_file_df_heartbeat_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:426,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:431,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:433,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:434,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:436,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:437,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:439,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:439,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:442,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:443,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:445,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 448
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - decode_pldm_file_df_heartbeat_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:459,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:464,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:466,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:467,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/file.cpp:469,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:472,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:472,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 476
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - decode_pldm_file_df_heartbeat_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatResp, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:492,1
    - Dst: encode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:493,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:496,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:497,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:497,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:497,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 500
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_open_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:514,1
    - Dst: encode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:515,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:517,1
    - Dst: encode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 522
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_open_req
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_open_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:536,1
    - Dst: encode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_open_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenResp, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:555,1
    - Dst: encode_pldm_file_df_open_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:556,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 560
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_open_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfOpenResp, GoodTestCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:572,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:577,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:579,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:580,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:582,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:583,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:585,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:585,1
    - Dst: decode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:587,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:590,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 592
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_open_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:604,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:609,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:611,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:612,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:614,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:617,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:617,1
    - Dst: decode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:619,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:620,1
    - Dst: decode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:622,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 624
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_open_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:636,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:641,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:643,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:644,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:646,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:647,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:649,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:649,1
    - Dst: decode_pldm_file_df_open_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 653
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_open_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfOpenReq, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:665,1
    - Dst: encode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:667,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:671,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:671,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - encode_pldm_file_df_close_resp
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfCloseResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:684,1
    - Dst: encode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:686,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:688,1
    - Dst: encode_pldm_file_df_close_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 693
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_close_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfCloseResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:705,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:710,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:712,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:713,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:715,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:716,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:718,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:718,1
    - Dst: decode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:720,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:723,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 725
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_file_df_close_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfCloseReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:737,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:742,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:744,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:745,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:747,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:748,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:750,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:750,1
    - Dst: decode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:752,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:753,1
    - Dst: decode_pldm_file_df_close_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:755,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 757
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_file_df_close_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfCloseReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:768,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:773,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:775,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:776,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:778,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:779,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:781,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:781,1
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:783,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:786,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:787,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 789
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_heartbeat_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:800,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:805,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:807,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:808,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:810,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:811,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:813,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:813,1
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:815,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:816,1
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:818,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 820
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_heartbeat_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatReq, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:831,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:836,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/file.cpp:838,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:839,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/file.cpp:841,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/file.cpp:842,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:844,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/file.cpp:844,1
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:846,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 848
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_pldm_file_df_heartbeat_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDfHeartbeatReq, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:864,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:865,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:868,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:869,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:869,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/file.cpp:869,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 872
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - std::array::data
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatResp, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:886,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:887,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:889,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 891
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatResp, GoodTestCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:906,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:907,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:909,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 914
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatResp, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:928,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 933
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeDfHeartbeatResp, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:947,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:950,1
    - Dst: encode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:950,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:953,1
    - Dst: decode_pldm_file_df_heartbeat_req
      Src: /src/libpldm/tests/unit/dsp/file.cpp:953,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:956,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 958
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_file_df_heartbeat_req
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_file_df_heartbeat_req
    linkageType: ''
    returnType: void
    signature: void TEST(DfHeartbeatReq, RoundTrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:972,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:975,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:975,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:978,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:979,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 983
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - decode_pldm_file_df_heartbeat_resp
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(DfHeartbeatResp, RoundTrip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/file.cpp:997,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1000,1
    - Dst: encode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1000,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1003,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1004,1
    - Dst: decode_pldm_file_df_heartbeat_resp
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1005,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/file.cpp:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1008
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/file.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_file_df_heartbeat_resp
    - decode_pldm_file_df_heartbeat_resp
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(DfHeartbeatResp, RoundTripCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:26,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:27,1
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/base.cpp:27,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:28,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:32,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:33,1
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/base.cpp:33,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:34,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:38,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:39,1
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/base.cpp:39,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:40,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:44,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:45,1
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/base.cpp:45,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:46,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:51,1
    - Dst: std::strlen
      Src: /src/libpldm/tests/unit/dsp/base.cpp:51,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:52,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:54,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:55,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:56,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:58,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:59,1
    - Dst: pldm_base_ver2str
      Src: /src/libpldm/tests/unit/dsp/base.cpp:61,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 63
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_STREQ
    - std::strlen
    - pldm_base_ver2str
    linkageType: ''
    returnType: void
    signature: void TEST(Ver2string, Ver2string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:72,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:73,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:76,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:77,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:80,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:81,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:85,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:86,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:91,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:92,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:98,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackPLDMMessage, BadPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:113,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:116,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:119,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:126,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:128,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:129,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:130,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:131,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:132,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackPLDMMessage, RequestMessageGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:157,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:160,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:162,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:163,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:172,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 177
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PackPLDMMessage, ResponseMessageGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - unpack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackPLDMMessage, BadPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:196,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:197,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:198,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:200,1
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:204,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:206,1
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:213,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:216,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - unpack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackPLDMMessage, RequestMessageGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:232,1
    - Dst: unpack_pldm_header
      Src: /src/libpldm/tests/unit/dsp/base.cpp:238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:241,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:242,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 244
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - unpack_pldm_header
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnpackPLDMMessage, ResponseMessageGoodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:253,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:253,1
    - Dst: encode_get_commands_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:255,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:257,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:258,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - EXPECT_EQ
    - encode_get_commands_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMCommands, testEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:270,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:270,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:271,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:271,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:275,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:275,1
    - Dst: decode_get_commands_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:276,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:281,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_get_commands_req
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMCommands, testDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:290,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:290,1
    - Dst: encode_get_commands_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:297,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:301,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMCommands, testEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:320,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:320,1
    - Dst: decode_get_commands_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:322,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:322,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:325,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 330
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_get_commands_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMCommands, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:344,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:344,1
    - Dst: decode_get_commands_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:347,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:347,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:348,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_get_commands_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMCommands, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:358,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:358,1
    - Dst: encode_get_version_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:364,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:366,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:367,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:368,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:368,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:370,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_get_version_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMVersion, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_version_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:382,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_version_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMVersion, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:395,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:395,1
    - Dst: encode_get_version_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:401,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:403,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:405,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:408,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 411
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - EXPECT_EQ
    - encode_get_version_resp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMVersion, testEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:423,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:423,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:425,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:425,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:427,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:427,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:431,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:431,1
    - Dst: decode_get_version_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:433,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:433,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:436,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:437,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:438,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_req
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMVersion, testDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:455,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:455,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:457,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:457,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:460,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:460,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:465,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:465,1
    - Dst: decode_get_version_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:467,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:467,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:470,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:475,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:476,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 478
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_get_version_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPLDMVersion, testDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:484,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_get_tid_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetTID, testEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:495,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:496,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:497,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:498,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:499,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:499,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:502,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:505,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetTidResp, InvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:511,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:517,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetTidResp, ErrorResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:525,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:532,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetTidResp, GoodResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:542,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:545,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:545,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:547,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:547,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:549,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:549,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:551,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:551,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:552,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:552,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:555,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 558
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - decode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetTidResp, InvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:563,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:567,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:568,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetTidResp, ErrorResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:574,1
    - Dst: decode_pldm_base_get_tid_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:581,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:582,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:583,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 585
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_base_get_tid_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetTidResp, GoodResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:597,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:598,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:602,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:604,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:605,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:606,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:607,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:608,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:609,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:610,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:611,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:612,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:615,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:618,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:619,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:620,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:621,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:622,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:623,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 625
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveRequest, testDecodeRequestPass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:631,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveRequest, testDecodeRequestFailNullData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:638,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:641,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:641,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:642,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveRequest, testDecodeRequestFailBadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:654,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:655,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:659,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:661,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:662,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:663,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:664,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:665,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:668,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 671
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveRequest, testDecodeRequestFailBadTransferFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:683,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:684,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:688,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:690,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:691,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:692,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:693,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:694,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:695,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:696,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:697,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:700,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 703
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveRequest, testDecodeRequestFailBadHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:728,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:730,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:733,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:734,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:735,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:735,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 737
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveRequest, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:752,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:754,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:756,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:758,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 761
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveRequest, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:776,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:778,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 781
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveRequest, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:794,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:795,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:798,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:800,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:801,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:802,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:803,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:804,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:805,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:806,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:807,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:807,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:810,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:812,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:813,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:814,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:815,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:816,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 819
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:826,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, NullMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:835,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:836,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:836,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:837,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 840
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, NullReq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:846,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:847,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:847,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:849,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 852
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, ShortPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:858,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:859,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:861,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, LongPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:873,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:874,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:877,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:879,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:880,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:881,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:882,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:882,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:885,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 888
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, BadTransferOpflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:901,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:902,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:905,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:907,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:908,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:909,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:910,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:911,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:912,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:913,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:914,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:914,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:917,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 920
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, ZeroHandleNextPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:933,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:934,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:937,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:939,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:940,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:941,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:942,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:943,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:944,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:945,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:946,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/base.cpp:946,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:949,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 952
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveReq, ZeroHandleFirstPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:965,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:966,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:968,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:970,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:971,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:972,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:973,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:975,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:976,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 978
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(MultipartReceiveReqRoundTrip, FirstPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:991,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:992,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:994,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:996,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:997,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:999,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1000,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1002,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1004
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(MultipartReceiveReqRoundTrip, NextPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1017,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1018,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1020,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1022,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1023,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1024,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1025,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1026,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1027,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1030
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(MultipartReceiveReqRoundTrip, CurrentPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1042,1
    - Dst: encode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1043,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1045,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1048,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1049,1
    - Dst: decode_pldm_base_multipart_receive_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1051,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1052,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1054,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1055,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1056,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1058,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1060
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - encode_pldm_base_multipart_receive_req
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_receive_req
    linkageType: ''
    returnType: void
    signature: void TEST(MultipartReceiveReqRoundTrip, MatchesLegacyDecoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1075,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1081,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1083,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1084,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1086,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1087,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1088,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1089,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1090,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1090,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1092,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1093,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1095,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1095,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1099,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1103,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1105,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1106,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1107,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1108,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1108,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1110
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::vector::data
    - decode_pldm_base_multipart_receive_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveResponse, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1125,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1131,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1133,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1134,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1136,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1137,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1138,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1139,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1140,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1142,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1143,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1145,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1145,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1152,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1154,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1158
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::vector::data
    - decode_pldm_base_multipart_receive_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveResponse, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1173,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1179,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1181,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1182,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1184,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1185,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1186,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1187,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1188,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1190,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1191,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1193,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1193,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1197,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1201
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::vector::data
    - decode_pldm_base_multipart_receive_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveResponse, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1216,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1228,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1230,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1231,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1233,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1234,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1235,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1236,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1237,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1239,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1239,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1252
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - decode_pldm_base_multipart_receive_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveResponse, BadTestRedundantCheckSum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1266,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1275,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1277,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1278,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1280,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1281,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1282,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1283,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1284,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1288,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1288,1
    - Dst: decode_pldm_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1301
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::vector::data
    - decode_pldm_base_multipart_receive_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartReceiveResponse, BadTestMissingCheckSum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1320,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1348,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1351,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1356,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1356,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1359
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_base_multipart_receive_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveResponse, GoodTestWithChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1385,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1388,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1392,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1392,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1395
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_base_multipart_receive_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveResponse, GoodTestWithoutChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1411,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1416,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1419,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1422,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1423,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1423,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1423,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1426
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_base_multipart_receive_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveResponse, GoodTestCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1445,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1449,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1452,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1455,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1457,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1460,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1462,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1464,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1467,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1471
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - PLDM_MSG_DEFINE_P
    - encode_base_multipart_receive_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveResponse, BadTestUnAllocatedParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1487,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1491,1
    - Dst: encode_base_multipart_receive_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1494,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1497
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - PLDM_MSG_DEFINE_P
    - encode_base_multipart_receive_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartReceiveResponse, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_cc_only_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1505,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1507,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1510,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1511,1
    - Dst: std::vector<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1511,1
    - Dst: ElementsAreArray
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1512,1
    - Dst: encode_cc_only_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1515,1
    - Dst: encode_cc_only_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1517,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1519
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - ElementsAreArray
    - encode_cc_only_resp
    - std::vector<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(CcOnlyResponse, testEncode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1527,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1527,1
    - Dst: encode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1529,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1530,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1532,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1533,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1537,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1538
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - encode_set_tid_req
    - ASSERT_EQ
    - EXPECT_EQ
    - memcmp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1545,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1545,1
    - Dst: encode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1547,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1548,1
    - Dst: encode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1550,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1551,1
    - Dst: encode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1553,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1555
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_set_tid_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1566,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1566,1
    - Dst: decode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1567,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1568,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1570,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1572
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_set_tid_req
    - std::array::data
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1581,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1582,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1585
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - decode_set_tid_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testBadDecodeRequestMsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1592,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1592,1
    - Dst: decode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1594,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1598
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_set_tid_req
    - std::array::data
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testBadDecodeRequestTid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1605,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1605,1
    - Dst: decode_set_tid_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1610
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - decode_set_tid_req
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(SetTID, testBadDecodeRequestMsgSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1635,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1636
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1661,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1662
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateFailInstanceID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1687,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1688
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateFailRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1713,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1714
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateFailType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1739,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1740
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateFailCommand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1765,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1766
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg_hdr_correlate_response
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmMsgHdr, correlateFailRequestIsResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1787,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1789,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1792,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1793,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1794,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1794,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1770
    functionDepth: 1
    functionLinenumber: 1770
    functionLinenumberEnd: 1796
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - encode_pldm_base_negotiate_transfer_params_req
    - ASSERT_EQ
    - EXPECT_EQ
    - std::array::data
    - PLDM_MSG_DEFINE_P
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeNegotiateTransferParamsRequest, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1811,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1813,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1815,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1817,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1820
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_negotiate_transfer_params_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeNegotiateTransferParamsRequest, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1833,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1837,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1840
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_negotiate_transfer_params_req
    linkageType: ''
    returnType: void
    signature: "void TEST(EncodeNegotiateTransferParamsRequest,\n     BadTestInvalidExpectedOutputMsgLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1853,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1858,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1860,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1861,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1863,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1864,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1865,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1867,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1869,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1871,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1871,1
    - Dst: decode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1873,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1876,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1877,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1878,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1879,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1879,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1882
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_base_negotiate_transfer_params_resp
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeNegotiateTransferParamsResponse, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1895,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1900,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1902,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1903,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1905,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1906,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1907,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1909,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1911,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1913,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1913,1
    - Dst: decode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1915,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1918,1
    - Dst: decode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1920,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1924
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_base_negotiate_transfer_params_resp
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeNegotiateTransferParamsResponse, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1938,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1943,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1945,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1946,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1948,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1949,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1950,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1954,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1956,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1956,1
    - Dst: decode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1958,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1962
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_base_negotiate_transfer_params_resp
    linkageType: ''
    returnType: void
    signature: "void TEST(DecodeNegotiateTransferParamsResponse,\n     BadTestInvalidExpectedInputMsgLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1974,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1977,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1983,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1987,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1987,1
    - Dst: decode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1995,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1997,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:1998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2004
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - encode_pldm_base_negotiate_transfer_params_req
    - decode_pldm_base_negotiate_transfer_params_req
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(NegotiateTransferParams, TestDecodeNegotiateTransferParamsReqPass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2016,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2019,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2025,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2029,1
    - Dst: encode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2029,1
    - Dst: decode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2038,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2040,1
    - Dst: decode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2041,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2043,1
    - Dst: decode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2046,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2048,1
    - Dst: decode_pldm_base_negotiate_transfer_params_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2051,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2008
    functionDepth: 1
    functionLinenumber: 2008
    functionLinenumberEnd: 2054
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - encode_pldm_base_negotiate_transfer_params_req
    - decode_pldm_base_negotiate_transfer_params_req
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(NegotiateTransferParams, TestDecodeNegotiateTransferParamsReqFail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2067,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2073,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2076,1
    - Dst: encode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2081,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2083,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2084,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2085,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2086,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2087,1
    - Dst: decode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2092,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2102
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - decode_pldm_base_negotiate_transfer_params_resp
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memcpy
    - encode_pldm_base_negotiate_transfer_params_resp
    linkageType: ''
    returnType: void
    signature: void TEST(NegotiateTransferParams, TestEncodeNegotiateTransferParamsRespPass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2113,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2119,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2122,1
    - Dst: encode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2128,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2130,1
    - Dst: encode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2135,1
    - Dst: encode_pldm_base_negotiate_transfer_params_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2139,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2142
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memcpy
    - encode_pldm_base_negotiate_transfer_params_resp
    linkageType: ''
    returnType: void
    signature: void TEST(NegotiateTransferParams, TestEncodeNegotiateTransferParamsRespFail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2158,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2159,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2160,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2163,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2165,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2167,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2168,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2169,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2170,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2171,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2172,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2173,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2174,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2174,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2175,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2175,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2175,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2176,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2177,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2178,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2179,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2179,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2181,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2186,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2189,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2190,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2191,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2192,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2193,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2193,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2194,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2194,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2194,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2194,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2196
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    - std::array::size
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestPass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2204,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2206,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2209,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2211,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2214,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2216,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2219
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailNullData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2225,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2233
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailBadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2239,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2246,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2247,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2249,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2251,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2253,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2254,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2255,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2256,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2257,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2258,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2259,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2260,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2260,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2261,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2261,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2261,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2262,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2263,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2264,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2265,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2265,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2267,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2237
    functionDepth: 1
    functionLinenumber: 2237
    functionLinenumberEnd: 2270
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailBadPldmType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2276,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2283,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2284,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2286,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2288,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2290,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2291,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2293,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2294,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2295,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2296,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2297,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2298,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2298,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2299,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2299,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2299,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2300,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2301,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2302,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2303,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2303,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2305,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2308
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailBadSectionOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2314,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2321,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2322,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2324,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2326,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2328,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2329,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2331,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2332,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2333,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2334,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2335,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2336,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2336,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2337,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2337,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2337,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2339,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2340,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2341,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2341,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2346
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailBadSectionLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2354,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2355,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2358,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2360,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2362,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2363,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2364,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2365,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2366,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2367,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2368,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2369,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2369,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2370,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2370,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2370,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2371,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2372,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2373,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2373,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2378
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailBadDataLenth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2386,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2387,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2390,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2392,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2394,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2395,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2396,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2397,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2398,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2399,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2400,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2401,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2402,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2403,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2403,1
    - Dst: decode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2408
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_req
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendRequest, testDecodeRequestFailChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2418,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2421,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2421,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2428,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2429,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2430,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2432,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2434,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2436,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2437,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2439,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2440,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2441,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2442,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2443,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2444,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2444,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2445,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2445,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2445,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2447,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2449,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2449,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2451,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2454,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2455,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2456,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2457,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2459,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2460,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2461
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - std::array::size
    - encode_pldm_base_multipart_send_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendRequest, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2468,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2468,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2474,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2475,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2476,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2480,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2484,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2486,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2487,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2465
    functionDepth: 1
    functionLinenumber: 2465
    functionLinenumberEnd: 2493
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - std::array::size
    - encode_pldm_base_multipart_send_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendRequest, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2500,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2500,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2508,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2510,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2497
    functionDepth: 1
    functionLinenumber: 2497
    functionLinenumberEnd: 2513
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - std::array::size
    - encode_pldm_base_multipart_send_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendRequest, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2520,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2520,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2526,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2527,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2528,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2530,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2517
    functionDepth: 1
    functionLinenumber: 2517
    functionLinenumberEnd: 2533
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - std::array::size
    - encode_pldm_base_multipart_send_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendRequest, BadTestInvalidSectionOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2540,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2540,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2546,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2547,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2548,1
    - Dst: encode_pldm_base_multipart_send_req
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2550,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2553
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - std::array::size
    - encode_pldm_base_multipart_send_req
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendRequest, BadTestInvalidSectionLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2560,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2561,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2563,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2564,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2566,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2567,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2568,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2568,1
    - Dst: decode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2570,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2574,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2576
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - decode_pldm_base_multipart_send_resp
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendResponse, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2583,1
    - Dst: decode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2585,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2587,1
    - Dst: decode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2580
    functionDepth: 1
    functionLinenumber: 2580
    functionLinenumberEnd: 2592
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendResponse, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2598,1
    - Dst: decode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2604
      start: 2596
    functionDepth: 1
    functionLinenumber: 2596
    functionLinenumberEnd: 2604
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeMultipartSendResponse, BadTestInvalidExpectedInputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2618,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2619,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2622,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2623,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2624,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2626
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendResponse, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2640,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2641,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2644,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2645,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2646,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2648
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendResponse, GoodTestCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2660,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2662,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2664,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2668,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2670,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2652
    functionDepth: 1
    functionLinenumber: 2652
    functionLinenumberEnd: 2672
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendResponse, BadTestUnAllocatedParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2683,1
    - Dst: encode_pldm_base_multipart_send_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2685,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2688
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_multipart_send_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodeMultipartSendResponse, BadTestInvalidExpectedOutputMsgLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2698,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2700,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2700,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2702,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2703,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2705,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2705,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2708,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2710
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_pldm_types_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetPldmTypesResp, InvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2714,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2720,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2721,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2712
    functionDepth: 1
    functionLinenumber: 2712
    functionLinenumberEnd: 2724
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_get_pldm_types_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetPldmTypesResp, ErrorResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2729,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2734,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2738,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2739,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2740,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2745
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_pldm_base_get_pldm_types_resp
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmBaseGetPldmTypesResp, GoodResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2752,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2752,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2754,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2754,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2756,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2756,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2757,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2758,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2762,1
    - Dst: memset
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2765,1
    - Dst: PLDM_MSG_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2765,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2766,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2747
    functionDepth: 1
    functionLinenumber: 2747
    functionLinenumberEnd: 2770
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_base_get_pldm_types_resp
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memset
    - PLDM_MSG_SIZE
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetPldmTypesResp, InvalidParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2775,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2779,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2780,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2782
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_get_pldm_types_resp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetPldmTypesResp, ErrorResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2786,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2791,1
    - Dst: decode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2795,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2797,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2798,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2799,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/base.cpp:2801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2803
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/base.cpp
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - PLDM_MSG_DEFINE_P
    - decode_pldm_base_get_pldm_types_resp
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmBaseGetPldmTypesResp, GoodResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:16,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:16,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:17,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:19,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:20,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:21,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:22,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 24
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - encode_get_fru_record_table_metadata_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:28,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:29,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:32,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:32,1
    - Dst: encode_get_fru_record_table_metadata_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:33,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_msg*>
    - std::array::data
    - encode_get_fru_record_table_metadata_req
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:43,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:43,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:44,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:46,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:56,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:57,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:58,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:59,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:60,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:65,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:66,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:67,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:68,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:69,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:71,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:75,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:76,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:77,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:78,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:79,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:80,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:81,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:82,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:83,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:87,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:88,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:89,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:90,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:91,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:94,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:95,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:96,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:97,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:98,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:100,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:104,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:105,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:106,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:107,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:108,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:109,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:110,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:111,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:112,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:114,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:115,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 117
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - std::vector::data
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::vector::size
    - reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:124,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:124,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:125,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:127,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:133,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:134,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:135,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:136,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:137,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:142,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:143,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:144,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:145,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:146,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:148,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:153,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:155,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:159,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:161,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:165,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:167,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:171,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:173,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:177,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:179,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:183,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:185,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:189,1
    - Dst: decode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:191,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 196
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_table_metadata_resp
    - std::vector::data
    - ASSERT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::vector::size
    - reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:205,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:205,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:215,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:216,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:217,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:218,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:219,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:221,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:227,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:230,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:231,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:232,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:233,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:234,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:235,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:236,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:237,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:241,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:246,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:251,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:256,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:261,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:267,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:268,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:269,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:270,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:271,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:273,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:278,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:279,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:280,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:281,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:282,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:283,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:284,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:285,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:289,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:294,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:299,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:304,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 311
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:319,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:319,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:324,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:325,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:326,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:327,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:328,1
    - Dst: encode_get_fru_record_table_metadata_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:330,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:336,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:339,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:340,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:341,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:342,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:346,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:351,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:356,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:361,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<pldm_get_fru_record_table_metadata_resp*>
    - encode_get_fru_record_table_metadata_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTableMetadata, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:378,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:378,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:379,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_req*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:382,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:384,1
    - Dst: decode_get_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:391,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:395,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:396,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 398
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_get_fru_record_table_req*>
    - std::array::data
    - ASSERT_EQ
    - decode_get_fru_record_table_req
    - htole32
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:409,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:409,1
    - Dst: decode_get_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:412,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:414,1
    - Dst: decode_get_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:417,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 420
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - ASSERT_EQ
    - decode_get_fru_record_table_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:432,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:432,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:435,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:438,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:442,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:443,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:444,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:445,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:447,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:448,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:448,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 451
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_get_fru_record_table_resp*>
    - std::vector::data
    - ASSERT_EQ
    - encode_get_fru_record_table_resp
    - reinterpret_cast<pldm_msg*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:462,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:462,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:463,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:466,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:467,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:468,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:469,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:470,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:471,1
    - Dst: encode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:473,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 477
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - std::vector::data
    - reinterpret_cast<pldm_msg*>
    - encode_get_fru_record_table_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:487,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:487,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_req*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:490,1
    - Dst: encode_get_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:497,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:499,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:501,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:502,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:503,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:504,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:505,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:509,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:509,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 513
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_get_fru_record_table_req*>
    - encode_get_fru_record_table_req
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:524,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:526,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_table_req
    - std::array::size
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:540,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:543,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:543,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:544,1
    - Dst: reinterpret_cast<pldm_get_fru_record_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:547,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:550,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:552,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:552,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:553,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:562,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:565,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:566,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:567,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:568,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:569,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:570,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:570,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:570,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:571,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:573,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 574
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_get_fru_record_table_resp*>
    - std::vector::data
    - memcmp
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - decode_get_fru_record_table_resp
    - memcpy
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:586,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:589,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:589,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:592,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:594,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:596,1
    - Dst: decode_get_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:599,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:601,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 604
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - ASSERT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_get_fru_record_table_resp
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordTable, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:620,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:620,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:622,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:626,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:627,1
    - Dst: reinterpret_cast<pldm_get_fru_record_by_option_req*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:633,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:633,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:634,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:635,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:635,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:636,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:637,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::array::data
    - reinterpret_cast<pldm_get_fru_record_by_option_req*>
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetFRURecordByOption, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:646,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:649,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:652,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:652,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:654,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 658
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_get_fru_record_by_option_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetFRURecordByOption, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:674,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:674,1
    - Dst: encode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:676,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:680,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:689,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:694,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:696,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:697,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:699,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 701
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - encode_get_fru_record_by_option_req
    - std::array::data
    - EXPECT_EQ
    - decode_get_fru_record_by_option_req
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFRURecordByOption, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:708,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:708,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:717,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:722,1
    - Dst: decode_get_fru_record_by_option_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:724,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 730
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - decode_get_fru_record_by_option_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFRURecordByOption, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:741,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:745,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:745,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:747,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:749,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:749,1
    - Dst: reinterpret_cast<pldm_get_fru_record_by_option_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:753,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:755,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:756,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:757,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:758,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:759,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:761,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:761,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:761,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 764
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_get_fru_record_by_option_resp*>
    - std::array::data
    - EXPECT_EQ
    - encode_get_fru_record_by_option_resp
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:775,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:779,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:779,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:781,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:783,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:785,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:787,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:789,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:789,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 792
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - encode_get_fru_record_by_option_resp
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:803,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:807,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:807,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:809,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:811,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:811,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:813,1
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:820,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:824,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:825,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:826,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:827,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:828,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:828,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:829,1
    - Dst: std::memcmp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:829,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:829,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 830
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - encode_get_fru_record_by_option_resp
    - reinterpret_cast<pldm_msg*>
    - decode_get_fru_record_by_option_resp
    - std::array::size
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:842,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:846,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:846,1
    - Dst: encode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:848,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:850,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:850,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:852,1
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:859,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:863,1
    - Dst: decode_get_fru_record_by_option_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:865,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - encode_get_fru_record_by_option_resp
    - reinterpret_cast<pldm_msg*>
    - decode_get_fru_record_by_option_resp
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:884,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:884,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:885,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:887,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:888,1
    - Dst: reinterpret_cast<struct pldm_set_fru_record_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:892,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:895,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 896
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - encode_set_fru_record_table_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - reinterpret_cast<struct pldm_set_fru_record_table_resp*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetFRURecordTable, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:909,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:909,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:911,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:913,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:914,1
    - Dst: encode_set_fru_record_table_resp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:916,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:918,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 920
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - encode_set_fru_record_table_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetFRURecordTable, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:933,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:933,1
    - Dst: reinterpret_cast<struct pldm_set_fru_record_table_req*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:936,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:938,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:940,1
    - Dst: decode_set_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:946,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:947,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:951,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:953,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:954,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 955
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - reinterpret_cast<struct pldm_set_fru_record_table_req*>
    - decode_set_fru_record_table_req
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetFRURecordTable, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:968,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:968,1
    - Dst: reinterpret_cast<struct pldm_set_fru_record_table_req*>
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:971,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:973,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:975,1
    - Dst: decode_set_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:980,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:983,1
    - Dst: decode_set_fru_record_table_req
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:986,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:988,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 991
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - reinterpret_cast<struct pldm_set_fru_record_table_req*>
    - decode_set_fru_record_table_req
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetFRURecordTable, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1000,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1011,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1012,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1022,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1023,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1033,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1034,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1044,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1045,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1054,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1055,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1065,1
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1070
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - get_fru_record_by_option
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, badArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1085,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1085,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1085,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1089
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, matchBadTlvLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1099,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1099,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1099,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, mismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1115,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1115,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1106
    functionDepth: 1
    functionLinenumber: 1106
    functionLinenumberEnd: 1120
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, match)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1132,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1132,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1132,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1135,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1140
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - get_fru_record_by_option
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, matchFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1152,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1152,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1152,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1155,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1158,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1160
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - get_fru_record_by_option
    - std::vector::data
    - ASSERT_EQ
    - EXPECT_EQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, rsiMatchSecond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1171,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1171,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1175
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, mismatchFruFieldAndLengthOverrun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1186,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1186,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1190
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, mismatchFruFieldLengthExcessive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1201,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1201,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1201,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, matchSmallOutputBufferStatic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_fru_record_by_option
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1216,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1216,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1216,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/fru.cpp:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1220
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/fru.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - get_fru_record_by_option
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFruRecordByOption, matchSmallOutputBufferDynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:29,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:30,1
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:33,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:35,1
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:38,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:40,1
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:43,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:45,1
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:48,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:50,1
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:55,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:57,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_state_effecter_pdr
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPdr, testIncorrectInvocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:69,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:71,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_state_effecter_pdr
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPdr, testReasonableInvocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:81,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:81,1
    - Dst: encode_set_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:84,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:86,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_set_state_effecter_states_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:96,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:96,1
    - Dst: encode_set_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:104,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:105,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:107,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:109,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_set_state_effecter_states_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:134,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:134,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:136,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_state_effecter_states_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:149,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:161,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:161,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:162,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:162,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:164,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:164,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:169,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:169,1
    - Dst: decode_set_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:171,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:172,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:177,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 182
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_state_effecter_states_req
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_state_effecter_states_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:200,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:200,1
    - Dst: decode_set_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:202,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:203,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_state_effecter_states_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateEffecterStates, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:220,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:222,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:222,1
    - Dst: encode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:224,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:228,1
    - Dst: reinterpret_cast<struct pldm_get_pdr_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:234,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:235,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:237,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:238,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:239,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:239,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:240,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:241,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:245,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:245,1
    - Dst: encode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:246,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 250
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - encode_get_pdr_resp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_get_pdr_resp*>
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - std::vector::resize
    - std::vector::size
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:261,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:263,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - encode_get_pdr_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:285,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:285,1
    - Dst: reinterpret_cast<struct pldm_get_pdr_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:288,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:290,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:291,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:293,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:294,1
    - Dst: decode_get_pdr_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:296,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:300,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:301,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 306
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_pdr_req*>
    - std::array::data
    - EXPECT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - decode_get_pdr_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:312,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:312,1
    - Dst: decode_get_pdr_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:314,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:314,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_get_pdr_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:330,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:330,1
    - Dst: encode_get_pdr_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:335,1
    - Dst: reinterpret_cast<struct pldm_get_pdr_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:339,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:339,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:340,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:342,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:343,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_pdr_req*>
    - std::vector::data
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - encode_get_pdr_req
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:356,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:356,1
    - Dst: encode_get_pdr_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:358,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:361,1
    - Dst: encode_get_pdr_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 367
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_req
    - std::vector::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:392,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:392,1
    - Dst: reinterpret_cast<struct pldm_get_pdr_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:395,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:397,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:398,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:400,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:401,1
    - Dst: decode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:404,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:409,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:410,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:411,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:415,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 416
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - reinterpret_cast<struct pldm_get_pdr_resp*>
    - EXPECT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - decode_get_pdr_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:441,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:441,1
    - Dst: reinterpret_cast<struct pldm_get_pdr_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:444,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:446,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:447,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:449,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:450,1
    - Dst: decode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:453,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:453,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:455,1
    - Dst: decode_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:457,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 462
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<struct pldm_get_pdr_resp*>
    - EXPECT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - decode_get_pdr_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:472,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:475,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:477,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:479,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:481,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:482,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:483,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:484,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:485,1
    - Dst: pldm_msgbuf_insert_array_char
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:486,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:488,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:489,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:490,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:490,1
    - Dst: pldm_get_pdr_resp::pldm_get_pdr_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:494,1
    - Dst: decode_get_pdr_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:496,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:498,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:499,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:511,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:514,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 515
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_insert_array_char
    - decode_get_pdr_resp_safe
    - pldm_get_pdr_resp::pldm_get_pdr_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testGoodDecodeResponseSafe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:525,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:527,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:531,1
    - Dst: decode_get_pdr_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:532,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:534,1
    - Dst: decode_get_pdr_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:538,1
    - Dst: decode_get_pdr_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:541,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 544
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - pldm_msg::pldm_msg
    - decode_get_pdr_resp_safe
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDR, testBadDecodeResponseSafeTrivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_pdr_repository_info_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:552,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - encode_get_pdr_repository_info_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_pdr_repository_info_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:562,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_pdr_repository_info_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:581,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:581,1
    - Dst: encode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:583,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:588,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_info_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:591,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:594,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:596,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:597,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:597,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:599,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:599,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:600,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:600,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:601,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 603
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_repository_info_resp
    - std::vector::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_pdr_repository_info_resp*>
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:615,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 620
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_pdr_repository_info_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:636,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:636,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_info_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:639,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:643,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:644,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:645,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:646,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:647,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:659,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:660,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:665,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:667,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:668,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:668,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:669,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:670,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:671,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:672,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 675
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - reinterpret_cast<struct pldm_pdr_repository_info_resp*>
    - memcpy
    - std::array::size
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:683,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:684,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:685,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:691,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:691,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_info_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:694,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:698,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:699,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:714,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:717,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:719,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:720,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:724,1
    - Dst: decode_get_pdr_repository_info_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:727,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:728,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 733
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - reinterpret_cast<struct pldm_pdr_repository_info_resp*>
    - memcpy
    - std::array::size
    - decode_get_pdr_repository_info_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:742,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:745,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:747,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:749,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:750,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:751,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:752,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:754,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:755,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:757,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:758,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:759,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:760,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:761,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:762,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:762,1
    - Dst: decode_get_pdr_repository_info_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:765,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:768,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:769,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:771,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:772,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:773,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:775,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:776,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:777,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 779
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - memcmp
    - decode_get_pdr_repository_info_resp_safe
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testGoodDecodeResponseSafe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_pdr_repository_info_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:788,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:790,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:795,1
    - Dst: decode_get_pdr_repository_info_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:796,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:797,1
    - Dst: decode_get_pdr_repository_info_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:799,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:801,1
    - Dst: decode_get_pdr_repository_info_resp_safe
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:804,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:805,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 807
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_pdr_repository_info_resp_safe
    - pldm_msg::pldm_msg
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetPDRRepositoryInfo, testBadDecodeResponseSafeTrivial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:825,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:825,1
    - Dst: reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:828,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:831,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:833,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:834,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:837,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:838,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:842,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:843,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:844,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 847
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - decode_set_numeric_effecter_value_req
    - std::array::data
    - EXPECT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:854,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:856,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:867,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:867,1
    - Dst: reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:870,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:875,1
    - Dst: decode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:877,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:878,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:880,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 882
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_numeric_effecter_value_req
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:893,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:893,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:895,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:898,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:900,1
    - Dst: reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:904,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:908,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:911,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:913,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 915
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_numeric_effecter_value_req*>
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:922,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:922,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:924,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:926,1
    - Dst: encode_set_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:929,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:931,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 934
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_set_numeric_effecter_value_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:945,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:945,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:949,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:949,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:951,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:954,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 956
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - decode_set_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:964,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:964,1
    - Dst: decode_set_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:966,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:967,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 970
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - decode_set_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:978,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:978,1
    - Dst: encode_set_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:984,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_set_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:990,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_set_numeric_effecter_value_resp
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericEffecterValue, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1003,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1003,1
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1013,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1014,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1018,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1021,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1022,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1023,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1024,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1025,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1026,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1027,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1029,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1030,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1032
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_get_state_sensor_readings_resp
    - reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_state_sensor_readings_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1036,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1040
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_state_sensor_readings_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1063,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1063,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1066,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1071,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1074,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1075,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1081,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1082,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1084,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1085,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1086,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1089
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1099,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1099,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1101,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1104,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1119,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1124,1
    - Dst: decode_get_state_sensor_readings_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1127,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1128,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1129,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1132
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_sensor_readings_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - reinterpret_cast<struct pldm_get_state_sensor_readings_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1144,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1144,1
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1145,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1153,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1154,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1154,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1156
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
    - std::array::data
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - encode_get_state_sensor_readings_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_state_sensor_readings_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1167
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_state_sensor_readings_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1183,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1183,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1187,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1190,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1193,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1194,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1197,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1198,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1199,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1201
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
    - decode_get_state_sensor_readings_req
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1208,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1209,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1211,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1221,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1221,1
    - Dst: reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1225,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1228,1
    - Dst: decode_get_state_sensor_readings_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1231,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1232,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1236
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_state_sensor_readings_req*>
    - decode_get_state_sensor_readings_req
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateSensorReadings, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1245,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1245,1
    - Dst: encode_event_message_buffer_size_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1247,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1250
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_event_message_buffer_size_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EventMessageBufferSize, testGoodEventMessageBufferSizeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1264,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1264,1
    - Dst: reinterpret_cast<struct pldm_event_message_buffer_size_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1267,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1273,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1280
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_event_message_buffer_size_resp
    - std::array::data
    - reinterpret_cast<struct pldm_event_message_buffer_size_resp*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(EventMessageBufferSize, testGoodEventMessageBufferSizeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1294,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1294,1
    - Dst: reinterpret_cast<struct pldm_event_message_buffer_size_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1297,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1304,1
    - Dst: decode_event_message_buffer_size_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1306,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1307,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1309
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_event_message_buffer_size_resp
    - std::array::data
    - reinterpret_cast<struct pldm_event_message_buffer_size_resp*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(EventMessageBufferSize, testBadEventMessageBufferSizeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1319,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1319,1
    - Dst: encode_event_message_supported_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1321,1
    - Dst: reinterpret_cast<struct pldm_event_message_supported_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1325,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1330
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_event_message_supported_req
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_event_message_supported_req*>
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessageSupported, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1341,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1341,1
    - Dst: encode_event_message_supported_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1344,1
    - Dst: encode_event_message_supported_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1346,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1348
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_event_message_supported_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessageSupported, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1371,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1371,1
    - Dst: reinterpret_cast<struct pldm_event_message_supported_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1374,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1381,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1381,1
    - Dst: decode_event_message_supported_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1383,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1384,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1393,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1393,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1395
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_event_message_supported_resp
    - std::vector::data
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_event_message_supported_resp*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessageSupported, testGoodDecodeRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1418,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1418,1
    - Dst: reinterpret_cast<struct pldm_event_message_supported_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1421,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1428,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1428,1
    - Dst: decode_event_message_supported_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1430,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1431,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1436
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_event_message_supported_resp
    - std::vector::data
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_event_message_supported_resp*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessageSupported, testBadSynchConfiguration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1459,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1459,1
    - Dst: reinterpret_cast<struct pldm_event_message_supported_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1462,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1468,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1468,1
    - Dst: decode_event_message_supported_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1470,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1472,1
    - Dst: decode_event_message_supported_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1478,1
    - Dst: decode_event_message_supported_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1480,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1485
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_event_message_supported_resp
    - std::vector::data
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_event_message_supported_resp*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessageSupported, testBadDecodeRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1494,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1496,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1500,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1502,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1503,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1506,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1513,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1514,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1515,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1516,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1517,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1517,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1520,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1523
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - encode_poll_for_platform_event_message_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeRequestFirstPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1532,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1538,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1540,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1541,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1544,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1551,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1552,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1553,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1554,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1555,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1555,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1557,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1559,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1561
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - encode_poll_for_platform_event_message_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeRequestNextPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1570,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1576,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1578,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1579,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1582,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1589,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1590,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1591,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1592,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1593,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1593,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1597,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1599
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - encode_poll_for_platform_event_message_req
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeRequestAckOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1608,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1614,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1618,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1622,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1626,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1630,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1638,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1646,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1650,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1654,1
    - Dst: encode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1658,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1663
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_poll_for_platform_event_message_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1708,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1708,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1720,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1726,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1728,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1729,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1730,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1731,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1732,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1733,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1734,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1735,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1736
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - EXPECT_EQ
    - decode_poll_for_platform_event_message_resp
    - reinterpret_cast<pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodDecodeRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1753,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1753,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1765,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1771,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1772,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1774,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1780,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1780,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1782,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1788,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1789,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1790,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1738
    functionDepth: 1
    functionLinenumber: 1738
    functionLinenumberEnd: 1792
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::vector::data
    - reinterpret_cast<pldm_msg*>
    - decode_poll_for_platform_event_message_resp
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodDecodeAckOnlyRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1827,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1827,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1829,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1833,1
    - Dst: decode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1852
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::vector::data
    - reinterpret_cast<pldm_msg*>
    - decode_poll_for_platform_event_message_resp
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testBadDecodeRespond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1864,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1864,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1871,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1872,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1876,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1877,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1878,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1879,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1881
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_poll_for_platform_event_message_req
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodDecodeRequestFirstPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1893,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1893,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1900,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1901,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1905,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1906,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1907,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1908,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1910
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_poll_for_platform_event_message_req
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodDecodeRequestNextPart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1922,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1922,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1929,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1934,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1935,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1936,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1937,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1939
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_poll_for_platform_event_message_req
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodDecodeRequestAck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1951,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1951,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1958,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1962,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1971,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1972,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1976,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1986,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1987,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:1991,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2001,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2002,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2006,1
    - Dst: decode_poll_for_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2016,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2017,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 2022
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_poll_for_platform_event_message_req
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2042,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2042,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2044,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2048,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2050,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2051,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2054,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2066,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2067,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2068,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2069,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2070,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2071,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2072,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2073,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2075,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2076,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2077,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2077,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2081,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2082,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2083,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2084,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2085,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2086,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2088,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2089
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array_uint8
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - reinterpret_cast<pldm_msg*>
    - encode_poll_for_platform_event_message_resp
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeResposeP1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2102,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2102,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2107,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2109,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2110,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2113,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2119,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2120,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2121,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2122,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2122,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2126,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2128
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - reinterpret_cast<pldm_msg*>
    - encode_poll_for_platform_event_message_resp
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeResposeP2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2141,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2141,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2143,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2146,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2148,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2149,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2152,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2158,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2159,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2160,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2161,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2163,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2165,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2167
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - reinterpret_cast<pldm_msg*>
    - encode_poll_for_platform_event_message_resp
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeResposeP3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2188,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2188,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2190,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2194,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2196,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2197,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2200,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2211,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2212,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2213,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2214,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2215,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2216,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2217,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2218,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2219,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2219,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2221,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2223,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2225,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2169
    functionDepth: 1
    functionLinenumber: 2169
    functionLinenumberEnd: 2230
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_complete
    - reinterpret_cast<pldm_msg*>
    - encode_poll_for_platform_event_message_resp
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_extract_uint32
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testGoodEncodeResposeP4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2248,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2248,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2255,1
    - Dst: encode_poll_for_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2262
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_poll_for_platform_event_message_resp
    linkageType: ''
    returnType: void
    signature: void TEST(PollForPlatformEventMessage, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2277,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2277,1
    - Dst: reinterpret_cast<struct pldm_platform_event_message_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2280,1
    - Dst: decode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2293,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2294,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2298,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2299,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2300,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2302
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_platform_event_message_req*>
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_platform_event_message_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodStateSensorDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2312,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2312,1
    - Dst: decode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2318,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2320,1
    - Dst: decode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2322,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2324,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2328
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_platform_event_message_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2337,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2337,1
    - Dst: encode_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2345,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2346,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2330
    functionDepth: 1
    functionLinenumber: 2330
    functionLinenumberEnd: 2348
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2354
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_platform_event_message_resp
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2363,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2367,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2371,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2374,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2379,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2381,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2382,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2383,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2385,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2386,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2390,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2392,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2392,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2395,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2398,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2400,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2403,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2405,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2406,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2407,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2410,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2411,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2411,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2415,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2417,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2418
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - encode_platform_event_message_req
    - pldm_msgbuf_extract_uint8
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2429,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2431,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2434,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2436,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2439,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2441,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2443,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2445,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2448,1
    - Dst: encode_platform_event_message_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2420
    functionDepth: 1
    functionLinenumber: 2420
    functionLinenumberEnd: 2454
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_platform_event_message_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2468,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2468,1
    - Dst: reinterpret_cast<struct pldm_platform_event_message_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2471,1
    - Dst: decode_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2477,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2484
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_platform_event_message_resp*>
    - std::array::data
    - decode_platform_event_message_resp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2495,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2495,1
    - Dst: reinterpret_cast<struct pldm_platform_event_message_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2498,1
    - Dst: decode_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2503,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2504,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2506,1
    - Dst: decode_platform_event_message_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2508,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2509,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2513
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_platform_event_message_resp*>
    - std::array::data
    - decode_platform_event_message_resp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2524,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2532,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2534,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2537,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2540
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_sensor_event_data
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodSensorEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2550,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2555,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2555,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2558,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2560,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2562,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2562,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2563,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2566,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2570,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2572,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2572,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2574,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2577,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2579,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2579,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2579,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2581,1
    - Dst: decode_sensor_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2584,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2586,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2586,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2587,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2542
    functionDepth: 1
    functionLinenumber: 2542
    functionLinenumberEnd: 2590
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_sensor_event_data
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadSensorEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2609,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2611,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2611,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2611,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2614,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2615,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2616,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2592
    functionDepth: 1
    functionLinenumber: 2592
    functionLinenumberEnd: 2618
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - decode_pldm_message_poll_event_data
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodPldmMsgPollEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2634,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2636,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2638,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2640,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2640,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2640,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2641,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2643,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2645,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2645,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2645,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2647,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2652,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2654,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2654,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2654,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2657,1
    - Dst: decode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2662,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2664,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2664,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2664,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2620
    functionDepth: 1
    functionLinenumber: 2620
    functionLinenumberEnd: 2668
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - decode_pldm_message_poll_event_data
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadPldmMsgPollEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2683,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2685,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2685,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2686,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2688,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2690,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2692,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2695,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2695,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2695,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2696,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2702,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2703,1
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2704,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2705,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2705,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2707,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2671
    functionDepth: 1
    functionLinenumber: 2671
    functionLinenumberEnd: 2710
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint32
    - encode_pldm_message_poll_event_data
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_extract_uint16
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodPldmMsgPollEventDataEncode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2726,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2728,1
    - Dst: encode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2731,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2733,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2733,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2734,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2735,1
    - Dst: encode_pldm_message_poll_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2738,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2740,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2740,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2741,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2743
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - encode_pldm_message_poll_event_data
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadPldmMsgPollEventDataEncode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2752,1
    - Dst: decode_sensor_op_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2761,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2761,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2762,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2764,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2765,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2746
    functionDepth: 1
    functionLinenumber: 2746
    functionLinenumberEnd: 2767
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - decode_sensor_op_data
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodSensorOpEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_sensor_op_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2774,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2776,1
    - Dst: decode_sensor_op_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2781,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2781,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2781,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2784,1
    - Dst: decode_sensor_op_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2787,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2787,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2787,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2790
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_sensor_op_data
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadSensorOpEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2798,1
    - Dst: decode_state_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2810,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2810,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2811,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2813,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2814,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2815,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2792
    functionDepth: 1
    functionLinenumber: 2792
    functionLinenumberEnd: 2817
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_state_sensor_data
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodSensorStateEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_state_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2825,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2827,1
    - Dst: decode_state_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2832,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2832,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2832,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2835,1
    - Dst: decode_state_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2838,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2838,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2838,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2819
    functionDepth: 1
    functionLinenumber: 2819
    functionLinenumberEnd: 2842
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_state_sensor_data
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadStateSensorEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2849,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2861,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2862,1
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2871,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2873,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2876,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2877,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2878,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2879,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2880,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2884,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2885,1
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2893,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2893,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2897,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2898,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2899,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2900,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2901,1
    - Dst: static_cast<int16_t>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2844
    functionDepth: 1
    functionLinenumber: 2844
    functionLinenumberEnd: 2902
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int16_t>
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - htole16
    - htole32
    - decode_numeric_sensor_data
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodNumericSensorEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2915,1
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2919,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2921,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2921,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2923,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2926,1
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2928,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2930,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2932,1
    - Dst: decode_numeric_sensor_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2935,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2937,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2937,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2904
    functionDepth: 1
    functionLinenumber: 2904
    functionLinenumberEnd: 2940
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_numeric_sensor_data
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadNumericSensorEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2950,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2950,1
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2952,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2956,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2960,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 2961
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2968,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2970
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_numeric_effecter_value_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2978,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2978,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2981,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2985,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2989,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2990,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2992,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2972
    functionDepth: 1
    functionLinenumber: 2972
    functionLinenumberEnd: 2994
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
    - decode_get_numeric_effecter_value_req
    - htole16
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3001,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3002,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3004,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3007,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3007,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3010,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3014,1
    - Dst: decode_get_numeric_effecter_value_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3017,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3018,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 2996
    functionDepth: 1
    functionLinenumber: 2996
    functionLinenumberEnd: 3021
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - decode_get_numeric_effecter_value_req
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_req*>
    - htole16
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3037,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3037,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3039,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3042,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3044,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3045,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3049,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3052,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3054,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3055,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3059,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3060,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3023
    functionDepth: 1
    functionLinenumber: 3023
    functionLinenumberEnd: 3064
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - encode_get_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3072,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3072,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3077,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3080,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3082,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3084,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3086,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3088,1
    - Dst: encode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3093,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3096,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3098,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3099,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3066
    functionDepth: 1
    functionLinenumber: 3066
    functionLinenumberEnd: 3101
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - encode_get_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3122,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3122,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3125,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3132,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3133,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3135,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3136,1
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3139,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3145,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3149,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3151,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3103
    functionDepth: 1
    functionLinenumber: 3103
    functionLinenumberEnd: 3152
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
    - std::array::data
    - reinterpret_cast<uint16_t*>
    - EXPECT_EQ
    - htole16
    - decode_get_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3160,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3164,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3179,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3179,1
    - Dst: reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3182,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3189,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3190,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3192,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3193,1
    - Dst: decode_get_numeric_effecter_value_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3196,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3197,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3154
    functionDepth: 1
    functionLinenumber: 3154
    functionLinenumberEnd: 3202
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>
    - std::array::data
    - EXPECT_EQ
    - htole16
    - decode_get_numeric_effecter_value_resp
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetNumericEffecterValue, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3225,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3226,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_change_record_data*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3231,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3235,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3236,1
    - Dst: reinterpret_cast<struct pldm_pdr_repository_change_record_data*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3239,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3242,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3245,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3246,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3251,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3253,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3253,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3258,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3262,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3264,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3269,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3271,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3278,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3278,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3284,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3286,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3289,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3290,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3291,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3293,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3295
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - decode_pldm_pdr_repository_chg_event_data
    - decode_pldm_pdr_repository_change_record_data
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_pdr_repository_change_record_data*>
    - reinterpret_cast<struct pldm_pdr_repository_chg_event_data*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PldmPDRRepositoryChgEventEvent, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3302,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3305,1
    - Dst: decode_pldm_pdr_repository_chg_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3308,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3310,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3312,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3320,1
    - Dst: decode_pldm_pdr_repository_change_record_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3323,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3325,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3325,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3297
    functionDepth: 1
    functionLinenumber: 3297
    functionLinenumberEnd: 3328
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - decode_pldm_pdr_repository_change_record_data
    - decode_pldm_pdr_repository_chg_event_data
    - std::array::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PldmPDRRepositoryChgEventEvent, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3339,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3339,1
    - Dst: encode_get_sensor_reading_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3341,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3345,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3347,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3348,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3348,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3330
    functionDepth: 1
    functionLinenumber: 3330
    functionLinenumberEnd: 3350
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_sensor_reading_req*>
    - std::array::data
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - encode_get_sensor_reading_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_sensor_reading_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3352
    functionDepth: 1
    functionLinenumber: 3352
    functionLinenumberEnd: 3357
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_sensor_reading_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3371,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3371,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3375,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3377,1
    - Dst: decode_get_sensor_reading_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3381,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3381,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3384,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3385,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3359
    functionDepth: 1
    functionLinenumber: 3359
    functionLinenumberEnd: 3387
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_sensor_reading_req*>
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - decode_get_sensor_reading_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3394,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3396,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3405,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3405,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3409,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3411,1
    - Dst: decode_get_sensor_reading_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3414,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3389
    functionDepth: 1
    functionLinenumber: 3389
    functionLinenumberEnd: 3418
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_get_sensor_reading_req*>
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - decode_get_sensor_reading_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3426,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3426,1
    - Dst: encode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3437,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3441,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3442,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3446,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3449,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3451,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3452,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3453,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3454,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3455,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3456,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3457,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3420
    functionDepth: 1
    functionLinenumber: 3420
    functionLinenumberEnd: 3460
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_sensor_reading_resp
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_get_sensor_reading_resp*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3468,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3468,1
    - Dst: encode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3472,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3475,1
    - Dst: encode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3477,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3480,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3482,1
    - Dst: encode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3486,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3489,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3462
    functionDepth: 1
    functionLinenumber: 3462
    functionLinenumberEnd: 3492
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_sensor_reading_resp
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3518,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3518,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3521,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3532,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3533,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3536,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3537,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3542,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3543,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3544,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3545,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3546,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3547,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3548,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3549,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3550,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3494
    functionDepth: 1
    functionLinenumber: 3494
    functionLinenumberEnd: 3553
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - std::array::data
    - decode_get_sensor_reading_resp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_get_sensor_reading_resp*>
    - htole32
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3560,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3561,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3564,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3585,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3585,1
    - Dst: reinterpret_cast<struct pldm_get_sensor_reading_resp*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3588,1
    - Dst: decode_get_sensor_reading_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3600,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3601,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3605,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3608
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - decode_get_sensor_reading_resp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_get_sensor_reading_resp*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetSensorReading, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3627,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3627,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3630,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3632,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3633,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3634,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3637,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3638,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3640,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3611
    functionDepth: 1
    functionLinenumber: 3611
    functionLinenumberEnd: 3642
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    - decode_set_numeric_sensor_enable_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3661,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3661,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3663,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3665
      start: 3646
    functionDepth: 1
    functionLinenumber: 3646
    functionLinenumberEnd: 3665
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    - decode_set_numeric_sensor_enable_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testDecodeInvalidOpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3684,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3684,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3686,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3669
    functionDepth: 1
    functionLinenumber: 3669
    functionLinenumberEnd: 3688
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    - decode_set_numeric_sensor_enable_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testDecodeInvalidEventRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3709,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3709,1
    - Dst: decode_set_state_sensor_enables_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3712,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3713,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3714,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3716,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3717,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3718,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3719,1
    - Dst: decode_set_state_sensor_enables_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3723,1
    - Dst: decode_set_state_sensor_enables_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3726,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3692
    functionDepth: 1
    functionLinenumber: 3692
    functionLinenumberEnd: 3728
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<const pldm_msg*>
    - decode_set_state_sensor_enables_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateSensorEnables, testDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3748,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3748,1
    - Dst: decode_set_state_sensor_enables_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3750,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3752
      start: 3732
    functionDepth: 1
    functionLinenumber: 3732
    functionLinenumberEnd: 3752
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<const pldm_msg*>
    - decode_set_state_sensor_enables_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateSensorEnables, testDecodeInvalidOpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3772,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3772,1
    - Dst: decode_set_state_sensor_enables_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3774,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3756
    functionDepth: 1
    functionLinenumber: 3756
    functionLinenumberEnd: 3776
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<const pldm_msg*>
    - decode_set_state_sensor_enables_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetStateSensorEnables, testDecodeInvalidEventRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3784,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3784,1
    - Dst: encode_get_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3786,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3780
    functionDepth: 1
    functionLinenumber: 3780
    functionLinenumberEnd: 3788
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_event_receiver_req
    - std::array::data
    - ASSERT_EQ
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3795,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3792
    functionDepth: 1
    functionLinenumber: 3792
    functionLinenumberEnd: 3797
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_event_receiver_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3811,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3811,1
    - Dst: encode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3812,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3801
    functionDepth: 1
    functionLinenumber: 3801
    functionLinenumberEnd: 3815
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - pldm_msg::pldm_msg
    - encode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3823,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3823,1
    - Dst: encode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3831,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3833,1
    - Dst: encode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3836,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3819
    functionDepth: 1
    functionLinenumber: 3819
    functionLinenumberEnd: 3839
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - pldm_msg::pldm_msg
    - encode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3854,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3854,1
    - Dst: encode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3857,1
    - Dst: decode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3858,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3860,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3861,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3862,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3843
    functionDepth: 1
    functionLinenumber: 3843
    functionLinenumberEnd: 3866
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_event_receiver_resp
    - std::array::data
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - encode_get_event_receiver_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3879,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3879,1
    - Dst: encode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3881,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3883,1
    - Dst: decode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3885,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3886,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3887,1
    - Dst: decode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3889,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3891,1
    - Dst: decode_get_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3896,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3897,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3870
    functionDepth: 1
    functionLinenumber: 3870
    functionLinenumberEnd: 3899
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_event_receiver_resp
    - std::array::data
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - encode_get_event_receiver_resp
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetEventReceiver, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3905,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3915,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3918,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3919,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3921,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3922,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3924,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3925,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3928,1
    - Dst: decode_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3932,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3933,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3934,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3939,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3943,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3945,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3903
    functionDepth: 1
    functionLinenumber: 3903
    functionLinenumberEnd: 3948
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_set_numeric_sensor_enable_req
    - encode_pldm_platform_set_numeric_sensor_enable_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3955,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3968,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3970,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3976,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3983,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3985,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3992,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3994,1
    - Dst: encode_pldm_platform_set_numeric_sensor_enable_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:3998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3952
    functionDepth: 1
    functionLinenumber: 3952
    functionLinenumberEnd: 4001
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_set_numeric_sensor_enable_req
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4007,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4014,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4017,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 4005
    functionDepth: 1
    functionLinenumber: 4005
    functionLinenumberEnd: 4019
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_set_numeric_sensor_enable_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4025,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4032,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4035,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4037
      start: 4023
    functionDepth: 1
    functionLinenumber: 4023
    functionLinenumberEnd: 4037
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_set_numeric_sensor_enable_resp
    - PLDM_MSG_DEFINE_P
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testGoodDecodeResponseInvalidSensorID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4043,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4052,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4054,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4059,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4064,1
    - Dst: decode_pldm_platform_set_numeric_sensor_enable_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4067,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4071
      start: 4041
    functionDepth: 1
    functionLinenumber: 4041
    functionLinenumberEnd: 4071
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_set_numeric_sensor_enable_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetNumericSensorEnable, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4085,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4085,1
    - Dst: encode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4091,1
    - Dst: reinterpret_cast<struct pldm_set_event_receiver_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4098,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4074
    functionDepth: 1
    functionLinenumber: 4074
    functionLinenumberEnd: 4099
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_event_receiver_req*>
    - encode_set_event_receiver_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4112,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4112,1
    - Dst: encode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4101
    functionDepth: 1
    functionLinenumber: 4101
    functionLinenumberEnd: 4119
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - reinterpret_cast<pldm_msg*>
    - encode_set_event_receiver_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4130,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4130,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4131,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4132,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4121
    functionDepth: 1
    functionLinenumber: 4121
    functionLinenumberEnd: 4137
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4145,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4145,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4147,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4150,1
    - Dst: decode_set_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4152,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4153,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4139
    functionDepth: 1
    functionLinenumber: 4139
    functionLinenumberEnd: 4157
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_set_event_receiver_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4165,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4165,1
    - Dst: encode_set_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4168,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4172
      start: 4159
    functionDepth: 1
    functionLinenumber: 4159
    functionLinenumberEnd: 4172
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_set_event_receiver_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_set_event_receiver_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4174
    functionDepth: 1
    functionLinenumber: 4174
    functionLinenumberEnd: 4178
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_set_event_receiver_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4193,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4193,1
    - Dst: reinterpret_cast<struct pldm_set_event_receiver_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4196,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4201,1
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4207,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4208,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4213,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4216,1
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4220,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4225,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4228
      start: 4180
    functionDepth: 1
    functionLinenumber: 4180
    functionLinenumberEnd: 4228
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_event_receiver_req*>
    - decode_set_event_receiver_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4235,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4237,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4246,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4246,1
    - Dst: reinterpret_cast<struct pldm_set_event_receiver_req*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4249,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4254,1
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4261,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4262,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4265,1
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4268,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4272,1
    - Dst: decode_set_event_receiver_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4230
    functionDepth: 1
    functionLinenumber: 4230
    functionLinenumberEnd: 4282
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - reinterpret_cast<struct pldm_set_event_receiver_req*>
    - decode_set_event_receiver_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetEventReceiver, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4360,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4360,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4360,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4361,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4362,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4364,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4367,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4368,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4369,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4370,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4371,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4372,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4373,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4374,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4376,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4378,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4379,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4381,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4382,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4383,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4384,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4385,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4391,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4392,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4397,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4398,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4399,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4400,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4401,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 4284
    functionDepth: 1
    functionLinenumber: 4284
    functionLinenumberEnd: 4407
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - EXPECT_FLOAT_EQ
    - decode_numeric_sensor_pdr_data
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Uint8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4487,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4487,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4487,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4488,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4491,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4492,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4493,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4494,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4495,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4496,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4497,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4498,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4499,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4500,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4501,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4503
      start: 4409
    functionDepth: 1
    functionLinenumber: 4409
    functionLinenumberEnd: 4503
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Sint8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4595,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4595,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4598,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4599,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4600,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4602,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4604,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4605,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4606,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4611
      start: 4505
    functionDepth: 1
    functionLinenumber: 4505
    functionLinenumberEnd: 4611
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Uint16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4703,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4703,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4703,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4704,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4706,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4707,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4710,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4711,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4712,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4713,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4714,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4716,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4717,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4719
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4719
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Sint16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4835,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4835,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4835,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4836,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4838,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4839,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4840,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4841,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4842,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4843,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4844,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4846,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4847,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4848,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4849,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4851
      start: 4721
    functionDepth: 1
    functionLinenumber: 4721
    functionLinenumberEnd: 4851
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Uint32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4967,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4967,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4967,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4968,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4970,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4971,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4972,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4973,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4975,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4976,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4977,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4978,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4979,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4980,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:4982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4983
      start: 4853
    functionDepth: 1
    functionLinenumber: 4853
    functionLinenumberEnd: 4983
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Sint32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5099,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5099,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5099,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5103,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5105,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5106,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5107,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5108,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5109,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5110,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5111,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5112,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5113,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5115
      start: 4985
    functionDepth: 1
    functionLinenumber: 4985
    functionLinenumberEnd: 5115
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - EXPECT_EQ
    - EXPECT_FLOAT_EQ
    - decode_numeric_sensor_pdr_data
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrData, Real32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_sensor_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5169,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5169,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5171
      start: 5117
    functionDepth: 1
    functionLinenumber: 5117
    functionLinenumberEnd: 5171
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - std::vector::data
    - decode_numeric_sensor_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericSensorPdrDataDeathTest, InvalidSizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5244,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5244,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5247,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5251,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5252,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5253,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5254,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5255,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5258,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5259,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5260,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5261,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5262,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5263,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5264,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5265,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5266,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5267,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5268,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5270,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5271,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5272,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5273,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5281,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5174
    functionDepth: 1
    functionLinenumber: 5174
    functionLinenumberEnd: 5284
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_numeric_effecter_pdr_data
    - std::vector::data
    - EXPECT_EQ
    - EXPECT_FLOAT_EQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Uint8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5360,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5360,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5360,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5361,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5364,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5367,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5368,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5369,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5370,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5371,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5373
      start: 5288
    functionDepth: 1
    functionLinenumber: 5288
    functionLinenumberEnd: 5373
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decode_numeric_effecter_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Sint8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5457,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5457,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5457,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5460,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5461,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5462,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5463,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5464,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5467,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5468,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5470
      start: 5377
    functionDepth: 1
    functionLinenumber: 5377
    functionLinenumberEnd: 5470
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decode_numeric_effecter_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Uint16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5554,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5554,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5554,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5555,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5557,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5559,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5560,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5561,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5562,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5563,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5564,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5565,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5567
      start: 5474
    functionDepth: 1
    functionLinenumber: 5474
    functionLinenumberEnd: 5567
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decode_numeric_effecter_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Sint16Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5665,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5665,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5665,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5668,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5672,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5677,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5680,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5683,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5684,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5685,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5687
      start: 5571
    functionDepth: 1
    functionLinenumber: 5571
    functionLinenumberEnd: 5687
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decode_numeric_effecter_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Uint32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5785,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5785,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5785,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5786,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5787,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5791,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5796,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5799,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5800,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5801,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5802,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5803,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5804,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5691
    functionDepth: 1
    functionLinenumber: 5691
    functionLinenumberEnd: 5806
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::vector::size
    - decode_numeric_effecter_pdr_data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Sint32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_numeric_effecter_pdr_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5905,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5905,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5905,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5906,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5908,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5909,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5910,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5914,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5919,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5922,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5923,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5924,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5925,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5926,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5927,1
    - Dst: EXPECT_FLOAT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5929
      start: 5810
    functionDepth: 1
    functionLinenumber: 5810
    functionLinenumberEnd: 5929
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_numeric_effecter_pdr_data
    - std::vector::data
    - EXPECT_EQ
    - EXPECT_FLOAT_EQ
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodeNumericEffecterPdrData, Real32Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5945,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5945,1
    - Dst: encode_get_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5947,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5951,1
    - Dst: decode_get_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5955,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5956,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5958,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5959,1
    - Dst: decode_get_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5963,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5964,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5967
      start: 5932
    functionDepth: 1
    functionLinenumber: 5932
    functionLinenumberEnd: 5967
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_get_state_effecter_states_req
    - decode_get_state_effecter_states_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testEncodeAndDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5977
      start: 5969
    functionDepth: 1
    functionLinenumber: 5969
    functionLinenumberEnd: 5977
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_state_effecter_states_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_req
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5984,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5985,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:5987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5979
    functionDepth: 1
    functionLinenumber: 5979
    functionLinenumberEnd: 5988
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_effecter_states_req
    - std::array::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6005,1
    - Dst: decltype(expectedResponseMsg)::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6005,1
    - Dst: encode_get_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6014,1
    - Dst: decltype(expectedResponseMsg)::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6015,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6017,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6018,1
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6022,1
    - Dst: decltype(expectedResponseMsg)::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6023,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6025,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6026,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6027,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6028,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6030,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6032,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6034,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6036,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6038,1
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6043,1
    - Dst: decltype(expectedResponseMsg)::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6045,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6049
      start: 5990
    functionDepth: 1
    functionLinenumber: 5990
    functionLinenumberEnd: 6049
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_get_state_effecter_states_resp
    - decltype(expectedResponseMsg)::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decltype(expectedResponseMsg)::size
    - decode_get_state_effecter_states_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testEncodeAndDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6054,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6057
      start: 6051
    functionDepth: 1
    functionLinenumber: 6051
    functionLinenumberEnd: 6057
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_get_state_effecter_states_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6067,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6067,1
    - Dst: decode_get_state_effecter_states_resp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6069,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6070,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6059
    functionDepth: 1
    functionLinenumber: 6059
    functionLinenumberEnd: 6073
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - decode_get_state_effecter_states_resp
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetStateEffecterStates, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - startptr
    argTypes:
    - char16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6083
      start: 6075
    functionDepth: 0
    functionLinenumber: 6075
    functionLinenumberEnd: 6083
    functionName: str16len
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t str16len(char16_t* startptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6121,1
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6127,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6128,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6130,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6130,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6130,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6134,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6138,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6145,1
    - Dst: calloc
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6147,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6150,1
    - Dst: decode_pldm_entity_auxiliary_names_pdr_index
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6152,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6153,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6156,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6157,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6157,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6160,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6163,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6164,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6165,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6165,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6166,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6166,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6171,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6172,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6172,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6175,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6179,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6180,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6181,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6181,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6186,1
    - Dst: strlen
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6186,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6187,1
    - Dst: strncmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6187,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6190,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6193,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6194,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6194,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6195,1
    - Dst: str16len
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6195,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6196,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6196,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6200,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 6085
    functionDepth: 1
    functionLinenumber: 6085
    functionLinenumberEnd: 6202
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - std::vector::data
    - decode_entity_auxiliary_names_pdr
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - free
    - str16len
    - decode_pldm_entity_auxiliary_names_pdr_index
    - strlen
    - strncmp
    - std::vector::size
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(decodeEntityAuxNamePdrData, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6234,1
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6239,1
    - Dst: decode_entity_auxiliary_names_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6241,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6241,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6241,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6244,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6246
      start: 6204
    functionDepth: 1
    functionLinenumber: 6204
    functionLinenumberEnd: 6246
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - decode_entity_auxiliary_names_pdr
    - EXPECT_EQ
    - free
    - std::vector::size
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(decodeEntityAuxNamePdrData, BadTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_platform_cper_event*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6268,1
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6269,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6271,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6273,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6273,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6277,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6279,1
    - Dst: pldm_platform_cper_event_event_data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6281,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6285,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6285,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6248
    functionDepth: 1
    functionLinenumber: 6248
    functionLinenumberEnd: 6290
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_cper_event
    - reinterpret_cast<const void*>
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - pldm_platform_cper_event_event_data
    - EXPECT_NE
    - free
    - std::array::size
    - malloc
    - reinterpret_cast<struct pldm_platform_cper_event*>
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testGoodCperEventDataDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_platform_cper_event*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6308,1
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6309,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6311,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6313,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6315,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6317,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6317,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6319,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6321,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6323,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6323,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6325,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6327,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6329,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6329,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6329,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6331,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6333,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6335,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6335,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6337,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6341,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6343,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6343,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6346,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6351,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6353,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6353,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6356,1
    - Dst: decode_pldm_platform_cper_event
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6359,1
    - Dst: reinterpret_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6361,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6361,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6361,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6364,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6367
      start: 6292
    functionDepth: 1
    functionLinenumber: 6292
    functionLinenumberEnd: 6367
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_cper_event
    - reinterpret_cast<const void*>
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - free
    - std::array::size
    - malloc
    - reinterpret_cast<struct pldm_platform_cper_event*>
    linkageType: ''
    returnType: void
    signature: void TEST(PlatformEventMessage, testBadCperEventDataDecodeRequest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6406,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6406,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6406,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6409,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6410,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6411,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6413,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6418,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6419,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6420,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6421,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6422,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6423,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6424,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6425,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6426,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6428,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6428,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6434,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6435,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6370
    functionDepth: 1
    functionLinenumber: 6370
    functionLinenumberEnd: 6441
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodePldmFileDescriptorPdr, oemFileClassificationPresentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6478,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6480,1
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6482,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6482,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6485
      start: 6445
    functionDepth: 1
    functionLinenumber: 6445
    functionLinenumberEnd: 6485
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - std::vector::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodePldmFileDescriptorPdr, BadTestUnAllocatedPtrParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6524,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6524,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6526
      start: 6489
    functionDepth: 1
    functionLinenumber: 6489
    functionLinenumberEnd: 6526
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodePldmFileDescriptorPdr, BadTestInvalidExpectedParamLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6569,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6569,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6569,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6572
      start: 6530
    functionDepth: 1
    functionLinenumber: 6530
    functionLinenumberEnd: 6572
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - std::vector::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodePldmFileDescriptorPdr, BadTestDataBufferOverLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6614,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6614,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6614,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6617
      start: 6574
    functionDepth: 1
    functionLinenumber: 6574
    functionLinenumberEnd: 6617
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - std::vector::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(decodePldmFileDescriptorPdr, BadTestDataBufferUnderLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6633,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6640,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6640,1
    - Dst: length
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6641,1
    - Dst: empty
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6644,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6648,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6648,1
    - Dst: length
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - ' pdr'
    - ' fileName'
    - ' oemName'
    argTypes:
    - pldm_platform_file_descriptor_pdr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6664
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6664
    functionName: createFileDescriptorPDR
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - reinterpret_cast<const uint8_t*>
    - length
    linkageType: ''
    returnType: void
    signature: "void createFileDescriptorPDR(pldm_platform_file_descriptor_pdr& pdr,\n
      \                            const std::string& fileName,\n                             const
      std::string& oemName)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6633,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6640,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6640,1
    - Dst: length
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6641,1
    - Dst: empty
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6644,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6648,1
    - Dst: c_str
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6648,1
    - Dst: length
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - ' pdr'
    - ' fileName'
    - ' oemName'
    argTypes:
    - pldm_platform_file_descriptor_pdr
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6664
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6664
    functionName: createFileDescriptorPDR
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - empty
    - c_str
    - reinterpret_cast<const uint8_t*>
    - length
    linkageType: ''
    returnType: void
    signature: "void createFileDescriptorPDR(pldm_platform_file_descriptor_pdr& pdr,\n
      \                            const std::string& fileName,\n                             const
      std::string& oemName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6672,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6678,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6678,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6679,1
    - Dst: decode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6682,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6682,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6684,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6686,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6687,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6688,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6689,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6691,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6692,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6693,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6694,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6696,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6700,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6701,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6702,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6703,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6703,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6705,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6706,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6709,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6711,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6713,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6716
      start: 6667
    functionDepth: 1
    functionLinenumber: 6667
    functionLinenumberEnd: 6716
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - memcmp
    - EXPECT_EQ
    - decode_pldm_platform_file_descriptor_pdr
    - std::vector::size
    - createFileDescriptorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, SuccessCase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6725,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6728,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6729,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6729,1
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6733,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6735,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6736,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6737,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6739
      start: 6718
    functionDepth: 1
    functionLinenumber: 6718
    functionLinenumberEnd: 6739
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - EXPECT_EQ
    - std::vector::resize
    - createFileDescriptorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamStringTooLong)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6744,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6745,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6745,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6748
      start: 6741
    functionDepth: 1
    functionLinenumber: 6741
    functionLinenumberEnd: 6748
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - std::vector::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamNullPdrData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6754,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6756,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6758
      start: 6750
    functionDepth: 1
    functionLinenumber: 6750
    functionLinenumberEnd: 6758
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - createFileDescriptorPDR
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamNullRespBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6764,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6768,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6769,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6760
    functionDepth: 1
    functionLinenumber: 6760
    functionLinenumberEnd: 6771
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - createFileDescriptorPDR
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamNullFileNamePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6777,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6779,1
    - Dst: std::string::c_str
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6779,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6785,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6786,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6786,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6792,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6793,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6795
      start: 6773
    functionDepth: 1
    functionLinenumber: 6773
    functionLinenumberEnd: 6795
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - std::string::c_str
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - EXPECT_EQ
    - createFileDescriptorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamInvalidFileNameLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6802,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6806,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6807,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6809
      start: 6797
    functionDepth: 1
    functionLinenumber: 6797
    functionLinenumberEnd: 6809
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - createFileDescriptorPDR
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamNullOemNamePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6815,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6819,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6820,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6822
      start: 6811
    functionDepth: 1
    functionLinenumber: 6811
    functionLinenumberEnd: 6822
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - createFileDescriptorPDR
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamIncorrectHdrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createFileDescriptorPDR
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6828,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6831,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6832,1
    - Dst: encode_pldm_platform_file_descriptor_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6832,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6835
      start: 6824
    functionDepth: 1
    functionLinenumber: 6824
    functionLinenumberEnd: 6835
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_platform_file_descriptor_pdr
    - std::vector::data
    - EXPECT_EQ
    - std::vector::size
    - createFileDescriptorPDR
    linkageType: ''
    returnType: void
    signature: void TEST(EncodePldmFileDescriptorPdr, BadParamBufferTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6891,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6891,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6894,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6894,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6898,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6898,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6900,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6900,1
    - Dst: decode_pldm_platform_redfish_resource_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6907,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6908,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6908,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6909,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6910,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6913,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6914,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6914,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6915,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6916,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6917,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6919,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6921,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6921,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6926,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6927,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6928,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6931,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6937,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6939,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6941,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6942,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6949,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6953,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6954,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6955,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6957,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6958,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6960,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6962,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6962,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6967,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6973,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6974,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6979,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6981
      start: 6838
    functionDepth: 1
    functionLinenumber: 6838
    functionLinenumberEnd: 6981
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    - std::vector::data
    - memcmp
    - EXPECT_EQ
    - static_cast<const uint8_t*>
    - std::vector::size
    - decode_pldm_platform_redfish_resource_pdr
    linkageType: ''
    returnType: void
    signature: void TEST(decodeRedfishResourcePdr, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6937,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6939,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6941,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6948
      start: 6934
    functionDepth: 0
    functionLinenumber: 6934
    functionLinenumberEnd: 6948
    functionName: foreach_pldm_platform_redfish_resource_pdr_additional_resource
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_redfish_resource_pdr_additional_resource(\n
      \       decodedPdr, additional_resource, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6973,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6974,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:6974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6978
      start: 6970
    functionDepth: 0
    functionLinenumber: 6970
    functionLinenumberEnd: 6978
    functionName: foreach_pldm_platform_redfish_resource_pdr_oem_name
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_redfish_resource_pdr_oem_name(decodedPdr,
      oem_name,\n                                                        rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7026,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7026,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7028,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7029,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7031,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7032,1
    - Dst: static_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7034,1
    - Dst: static_cast<const void*>
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7035,1
    - Dst: decode_pldm_platform_redfish_action_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7041,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7041,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7041,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7043,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7044,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7045,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7046,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7047,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7048,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7048,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7050,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7052,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7058,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7064,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7069,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7070,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7070,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7073,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7074,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7074,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7081
      start: 6983
    functionDepth: 1
    functionLinenumber: 6983
    functionLinenumberEnd: 7081
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const void*>
    - decode_pldm_platform_redfish_action_pdr
    - std::vector::data
    - memcmp
    - EXPECT_EQ
    - static_cast<const uint8_t*>
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(decodeRedfishActionPdr, GoodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7060
      start: 7055
    functionDepth: 0
    functionLinenumber: 7055
    functionLinenumberEnd: 7060
    functionName: foreach_pldm_platform_redfish_action_pdr_related_resource_id
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_redfish_action_pdr_related_resource_id(decodedPdr,\n
      \                                                                resourceId,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7069,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7070,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7070,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7073,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7074,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7078
      start: 7067
    functionDepth: 0
    functionLinenumber: 7067
    functionLinenumberEnd: 7078
    functionName: foreach_pldm_platform_redfish_action_pdr_action
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_platform_redfish_action_pdr_action(decodedPdr, action,
      rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7091,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7092,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7094,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7098,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7101,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7104,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7105,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7106,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7109,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7110,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7111,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7112,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7114,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7114,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7125,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7126,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7133,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7141,1
    - Dst: std::move
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7144,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7146,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7146,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7147,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7149,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7150,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7150,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7152,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7153,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7153,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7154,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7156,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7157,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7157,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7158,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7160
      start: 7084
    functionDepth: 1
    functionLinenumber: 7084
    functionLinenumberEnd: 7160
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - size
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - le16toh
    - htole32
    - std::vector::push_back
    - pldm_msgbuf_complete_consumed
    - std::move
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testExtractPossibleStates)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7125,1
    - Dst: push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7126,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7133,1
    - Dst: push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7141,1
    - Dst: std::move
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7142
      start: 7122
    functionDepth: 0
    functionLinenumber: 7122
    functionLinenumberEnd: 7142
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::vector::push_back
    - push_back
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      pdrSize,\n                                                             states,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7134
      start: 7131
    functionDepth: 0
    functionLinenumber: 7131
    functionLinenumberEnd: 7134
    functionName: foreach_pldm_platform_state_effecter_pdr_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_platform_state_effecter_pdr_states(states, bf, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7168,1
    - Dst: foreach_pldm_platform_state_effecter_pdr_possible_states
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7173,1
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7180
      start: 7164
    functionDepth: 0
    functionLinenumber: 7164
    functionLinenumberEnd: 7180
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - foreach_pldm_platform_state_effecter_pdr_possible_states
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testInvalidBufferTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_pldm_platform_state_effecter_pdr_possible_states
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7189,1
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7192,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7196
      start: 7184
    functionDepth: 0
    functionLinenumber: 7184
    functionLinenumberEnd: 7196
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    - foreach_pldm_platform_state_effecter_pdr_possible_states
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testNullPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7204,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7219
      start: 7200
    functionDepth: 0
    functionLinenumber: 7200
    functionLinenumberEnd: 7219
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testZeroCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7215
      start: 7211
    functionDepth: 0
    functionLinenumber: 7211
    functionLinenumberEnd: 7215
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      pdrSize,\n                                                             states,
      rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7229,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7230,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7235,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7238,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7241,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7242,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7243,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7244,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7245,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7247,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7247,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7256,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7257,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7264,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7272,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7272,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7280
      start: 7223
    functionDepth: 1
    functionLinenumber: 7223
    functionLinenumberEnd: 7280
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - le16toh
    - std::vector::push_back
    - pldm_msgbuf_complete_consumed
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testSingleEntry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7256,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7257,1
    - Dst: std::vector::push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7264,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7272,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7272,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7276
      start: 7252
    functionDepth: 0
    functionLinenumber: 7252
    functionLinenumberEnd: 7276
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 2
    functionsReached:
    - ASSERT_EQ
    - le16toh
    - EXPECT_EQ
    - std::vector::push_back
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      pdrSize,\n                                                             states,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7265
      start: 7262
    functionDepth: 0
    functionLinenumber: 7262
    functionLinenumberEnd: 7265
    functionName: foreach_pldm_platform_state_effecter_pdr_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_platform_state_effecter_pdr_states(states, bf, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7291,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7292,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7296,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7299,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7301,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7302,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7303,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7304,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7306,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7306,1
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7313,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7317
      start: 7284
    functionDepth: 1
    functionLinenumber: 7284
    functionLinenumberEnd: 7317
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - pldm_msgbuf_complete_consumed
    - FAIL
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testTruncatedEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7314
      start: 7310
    functionDepth: 0
    functionLinenumber: 7310
    functionLinenumberEnd: 7314
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 2
    functionsReached:
    - FAIL
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      pdrSize,\n                                                             states,
      rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7327,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7328,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7332,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7335,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7337,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7340,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7349,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7349,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7360,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7369,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7371
      start: 7321
    functionDepth: 1
    functionLinenumber: 7321
    functionLinenumberEnd: 7371
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - le16toh
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(StateEffecterPDR, testZeroPossibleStatesSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7349,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7349,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/platform.cpp:7360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7367
      start: 7345
    functionDepth: 0
    functionLinenumber: 7345
    functionLinenumberEnd: 7367
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 2
    functionsReached:
    - le16toh
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_platform_state_effecter_pdr_possible_states(pdr,
      pdrSize,\n                                                             states,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7358
      start: 7355
    functionDepth: 0
    functionLinenumber: 7355
    functionLinenumberEnd: 7358
    functionName: foreach_pldm_platform_state_effecter_pdr_states
    functionSourceFile: /src/libpldm/tests/unit/dsp/platform.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_platform_state_effecter_pdr_states(states, bf, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - pldm_association_pdr_test
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: operator==(pldm_association_pdr_test pdr) const
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(pldm_association_pdr_test pdr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entity
    argTypes:
    - pldm_entity_test
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: operator==(pldm_entity_test entity) const
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(pldm_entity_test entity) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:53,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:54,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - ' entity'
    argTypes:
    - struct pldm_msgbuf_ro*
    - pldm_entity_test
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: getEntity
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: void getEntity(struct pldm_msgbuf_ro* buf, pldm_entity_test& entity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_extract_uint32
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:62,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:63,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:64,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:65,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:66,1
    - Dst: pldm_msgbuf_extract_uint16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:68,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - ' association_pdr_test'
    argTypes:
    - struct pldm_msgbuf_ro*
    - pldm_association_pdr_test
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: getAssociationPdrDetails
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract_uint8
    - pldm_msgbuf_extract_uint32
    - pldm_msgbuf_extract_uint16
    linkageType: ''
    returnType: void
    signature: "void getAssociationPdrDetails(struct pldm_msgbuf_ro* buf,\n                             pldm_association_pdr_test&
      association_pdr_test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAssociationPdrDetails
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:82,1
    - Dst: getEntity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:83,1
    - Dst: pldm_msgbuf_extract_uint8
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:84,1
    - Dst: getEntity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:85,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:87,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:87,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:89,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:90,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - ' association_pdr'
    - ' container_entity1'
    - ' child_entity1'
    argTypes:
    - struct pldm_msgbuf_ro*
    - pldm_association_pdr_test
    - pldm_entity_test
    - pldm_entity_test
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: verifyEntityAssociationPdr
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - getEntity
    - ASSERT_EQ
    - pldm_msgbuf_extract_uint8
    - getAssociationPdrDetails
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: "void verifyEntityAssociationPdr(struct pldm_msgbuf_ro* buf,\n                               const
      pldm_association_pdr_test& association_pdr,\n                               const
      pldm_entity_test& container_entity1,\n                               const pldm_entity_test&
      child_entity1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:96,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:97,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:97,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:98,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:98,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_get_repo_size
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:108,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:108,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:108,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:108,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:111,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:112,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:112,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:115,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:115,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:115,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:120,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:120,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:120,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:120,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:122,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:125,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:125,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:125,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:127,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:128,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:128,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:129,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:129,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:129,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_pdr_get_repo_size
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - std::array::size
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testAdd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:141,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:141,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:141,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:143,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:143,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:144,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:147,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:147,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:147,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:149,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:149,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_pdr_get_repo_size
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - std::array::size
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testAddBufferTooSmall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:158,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:160,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:160,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:160,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:160,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:162,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:162,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:163,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:165,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:166,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:166,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:166,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:166,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:167,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:167,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:167,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:167,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:168,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:168,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:170,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:170,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:171,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:173,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:174,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:174,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:174,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:175,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:175,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:175,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:176,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:176,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:176,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:176,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:177,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:177,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:179,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:179,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:180,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:183,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:183,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:183,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:183,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:184,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:184,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:184,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:185,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:185,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:185,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:186,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:186,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:188,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:188,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:189,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:190,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:190,1
    - Dst: pldm_pdr_remove_pdrs_by_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:191,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:192,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:192,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 194
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_pdr_remove_remote_pdrs
    - std::array::data
    - pldm_pdr_destroy
    - pldm_pdr_remove_pdrs_by_terminus_handle
    - EXPECT_EQ
    - std::array::size
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRRemoveByTerminus, testRemoveByTerminus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:200,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:201,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:202,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:202,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:203,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:205,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:206,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:206,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:206,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:206,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:208,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:208,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:209,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:211,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:212,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:212,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:212,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:212,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:213,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:214,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:214,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:215,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:218,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:218,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:218,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:218,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:219,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:219,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:219,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:219,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:220,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:221,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:221,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:222,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:225,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:225,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:225,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:225,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:226,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:226,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:226,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:226,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:228,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:228,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:229,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:232,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:232,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:232,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:233,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:233,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:233,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:234,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:234,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:234,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:234,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:235,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:235,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:235,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:235,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:237,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:237,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:238,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:238,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:238,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:239,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:239,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:239,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:239,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:240,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:240,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:241,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:244,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:244,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:244,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:244,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:245,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:245,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:245,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:246,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:246,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:246,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:247,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:247,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:247,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:247,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:249,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:250,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:250,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:250,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:251,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:251,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:251,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:251,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:252,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:252,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:253,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:255,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:256,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:256,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:256,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:257,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:257,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:257,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:258,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:258,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:258,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:258,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:259,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:259,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:259,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:259,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:260,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:261,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:261,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:262,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:262,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:262,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:262,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:263,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:263,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:263,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:263,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:264,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:264,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:265,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:267,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:268,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:268,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:268,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:268,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:269,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:269,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:269,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:269,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:270,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:270,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:270,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:270,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:271,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:271,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:271,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:271,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:272,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:273,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:273,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:274,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:274,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:274,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:274,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:275,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:275,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:275,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:275,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:276,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:276,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:277,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:280,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:280,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:280,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:281,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:281,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:281,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:281,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:282,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:282,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:282,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:283,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:283,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:283,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:283,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:285,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:285,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:286,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:286,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:286,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:286,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:287,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:287,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:287,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:288,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:288,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:289,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:291,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:292,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:292,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:292,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:292,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:293,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:293,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:293,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:293,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:294,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:294,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:294,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:294,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:295,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:295,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:295,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:295,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:297,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:297,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:298,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:298,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:298,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:298,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:299,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:299,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:299,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:299,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:300,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:300,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:301,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:304,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:304,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:304,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:304,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:305,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:305,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:305,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:305,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:306,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:306,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:306,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:307,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:307,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:307,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:307,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:309,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:310,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:310,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:310,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:311,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:311,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:311,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:312,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:312,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:313,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:316,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:316,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:316,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:316,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:317,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:317,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:317,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:318,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:318,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:318,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:318,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:319,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:319,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:319,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:319,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:320,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:321,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:322,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:322,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:322,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:323,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:323,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:323,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:324,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:324,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:325,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:327,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:328,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:328,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:328,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:329,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:329,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:329,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:329,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:330,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:330,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:330,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:331,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:331,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:331,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:331,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:332,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:333,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:333,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:334,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:334,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:334,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:334,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:335,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:335,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:335,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:336,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:336,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:337,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:339,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:340,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:340,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:340,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:341,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:341,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:341,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:341,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:342,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:342,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:342,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:343,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:343,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:343,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:343,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:344,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:345,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:345,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:346,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:346,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:346,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:346,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:347,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:347,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:347,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:347,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:348,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:348,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:349,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:352,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:352,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:352,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:353,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:353,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:353,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:354,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:354,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:354,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:355,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:355,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:355,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:355,1
    - Dst: pldm_pdr_remove_remote_pdrs
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:357,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:359,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:359,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:359,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:359,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:361,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:363,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:363,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:363,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:366,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:366,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 150
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 368
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_remove_remote_pdrs
    - pldm_pdr_add
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - std::array::size
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:372,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:377,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:377,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:377,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:380,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:381,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:381,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:385,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:389,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:389,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:389,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:393,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:397,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:397,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:397,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:400,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:400,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:412,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:412,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:412,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:417,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:417,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:417,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:422,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:422,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:422,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:422,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:425,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:425,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:426,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:426,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:427,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:428,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:429,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:430,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:431,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:431,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:431,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:433,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:434,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:435,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:436,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:437,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:438,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:438,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:438,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:440,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:441,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:442,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:443,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:444,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:444,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:444,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:446,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:447,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:448,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:448,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:449,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:451,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:451,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:451,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:453,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:454,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:455,1
    - Dst: pldm_pdr_record_is_remote
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:455,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:456,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:457,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:458,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:458,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:458,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 462
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_pdr_get_repo_size
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - memcmp
    - EXPECT_EQ
    - pldm_pdr_record_is_remote
    - pldm_pdr_destroy
    - EXPECT_NE
    - htole32
    - pldm_pdr_find_record
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testGet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:471,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:471,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:471,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:474,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:475,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:475,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:479,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:483,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:483,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:483,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:490,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:490,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:490,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:495,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:495,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:495,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:495,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:500,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:500,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:500,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:500,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:503,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:504,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:504,1
    - Dst: pldm_pdr_get_next_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:505,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:506,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:507,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:508,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:509,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:509,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:509,1
    - Dst: pldm_pdr_get_next_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:511,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:512,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:513,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:515,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:515,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:515,1
    - Dst: pldm_pdr_get_next_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:517,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:518,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:520,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:521,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:521,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:521,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 525
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_get_next_record
    - pldm_pdr_add
    - pldm_pdr_get_repo_size
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - memcmp
    - EXPECT_EQ
    - pldm_pdr_destroy
    - EXPECT_NE
    - pldm_pdr_find_record
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testGetNext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:529,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:533,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:533,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:536,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:536,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:536,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:540,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:540,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:540,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:540,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:544,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:544,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:544,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:544,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:548,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:548,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:548,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:548,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:554,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:555,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:555,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:559,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:559,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:562,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:563,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:563,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:566,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:567,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:567,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:570,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:572,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:573,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:576,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:577,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:577,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:579,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:580,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:580,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:582,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:583,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:583,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 587
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - reinterpret_cast<pldm_pdr_hdr*>
    - pldm_pdr_init
    - pldm_pdr_add
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_find_record_by_type
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testFindByType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:591,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:594,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:594,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:596,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:597,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:597,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:602,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:604,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:605,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:610,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:611,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:611,1
    - Dst: reinterpret_cast<pldm_pdr_fru_record_set*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:613,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:615,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:615,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:616,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:616,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:617,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:617,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:618,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:618,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:619,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:619,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:623,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:623,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:624,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:625,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:625,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:626,1
    - Dst: pldm_pdr_get_repo_size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:626,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:628,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:629,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:630,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:631,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:633,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:635,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:636,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:636,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:637,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:637,1
    - Dst: reinterpret_cast<pldm_pdr_fru_record_set*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:639,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:641,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:641,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:642,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:643,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:643,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:644,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:644,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:645,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:645,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:648,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:649,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:650,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:651,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:654,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:655,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:656,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:656,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:657,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:657,1
    - Dst: reinterpret_cast<pldm_pdr_fru_record_set*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:659,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:661,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:661,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:662,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:662,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:663,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:663,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:664,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:664,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:665,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:665,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 669
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_pdr_hdr*>
    - pldm_pdr_init
    - reinterpret_cast<pldm_pdr_fru_record_set*>
    - pldm_pdr_get_repo_size
    - pldm_pdr_destroy
    - EXPECT_EQ
    - htole16
    - EXPECT_NE
    - pldm_pdr_add_fru_record_set
    - htole32
    - pldm_pdr_find_record
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testAddFruRecordSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:680,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:680,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:682,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:684,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:684,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:685,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:685,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:686,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:689,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:689,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:693,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:693,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:694,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:697,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:699,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:700,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:701,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:701,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 706
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_init
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_fru_record_set_find_by_rsi
    - pldm_pdr_add_fru_record_set
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, tesFindtFruRecordSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:711,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:715,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:715,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:715,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:718,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:718,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:718,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:718,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:721,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:721,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:721,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:721,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:724,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:724,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:724,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:724,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:727,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:727,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:727,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:727,1
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:730,1
    - Dst: pldm_pdr_find_last_in_range
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:731,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:732,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:733,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:734,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:734,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:735,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:735,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:736,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:736,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:737,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:737,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:738,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:738,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 741
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_find_last_in_range
    - pldm_pdr_get_record_handle
    - pldm_pdr_init
    - pldm_pdr_add
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testFindLastInRange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:746,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:747,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:751,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:751,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:756,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:756,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:756,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:756,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:762,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:765,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:766,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:766,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 770
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - pldm_pdr_delete_by_sensor_id
    - EXPECT_EQ
    - pldm_pdr_destroy
    - EXPECT_NE
    - std::vector::size
    - ASSERT_NE
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testRemoveBySensorIDDecodeFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:774,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:775,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:781,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:783,1
    - Dst: pldm_state_sensor_pdr::pldm_state_sensor_pdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:783,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:788,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:788,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:788,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:788,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:793,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:793,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:793,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:793,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:798,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:798,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:798,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:798,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:803,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:803,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:803,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:806,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:806,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:810,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:811,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:812,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:813,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:813,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:818,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:819,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:820,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:820,1
    - Dst: pldm_pdr_delete_by_sensor_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:822,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:823,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:824,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:825,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:825,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 828
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::vector::data
    - pldm_state_sensor_pdr::pldm_state_sensor_pdr
    - pldm_pdr_delete_by_sensor_id
    - EXPECT_EQ
    - pldm_pdr_destroy
    - std::vector::resize
    - std::vector::size
    - ASSERT_NE
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testRemoveBySensorID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:834,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:841,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:841,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:841,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:848,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:848,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:848,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:855,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:855,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:855,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:863,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:864,1
    - Dst: pldm_pdr_get_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:864,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:869,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:870,1
    - Dst: pldm_pdr_get_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:870,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:875,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:876,1
    - Dst: pldm_pdr_get_terminus_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:876,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 881
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_find_record_by_type
    - pldm_pdr_get_terminus_handle
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testGetTerminusHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:888,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:890,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:890,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:890,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:890,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:894,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:894,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:894,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:898,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:898,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:898,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:898,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:901,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:901,1
    - Dst: pldm_pdr_delete_by_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:904,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:905,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:905,1
    - Dst: pldm_pdr_delete_by_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:907,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:908,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:909,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:909,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 912
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - std::array::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_delete_by_record_handle
    - std::array::size
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testRemoveByRecordHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:916,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:917,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:922,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:922,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:927,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:927,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:927,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:927,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:934,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:937,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:938,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:938,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 941
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_delete_by_effecter_id
    - EXPECT_NE
    - std::vector::size
    - ASSERT_NE
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testRemoveByEffecterIDDecodeFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:945,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:946,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:952,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:954,1
    - Dst: pldm_state_effecter_pdr::pldm_state_effecter_pdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:954,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:959,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:959,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:959,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:964,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:964,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:964,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:964,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:969,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:969,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:969,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:969,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:974,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:974,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:974,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:974,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:977,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:977,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:982,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:983,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:984,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:984,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:988,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:989,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:990,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:991,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:991,1
    - Dst: pldm_pdr_delete_by_effecter_id
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:994,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:995,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:996,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:997,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:997,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1000
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_init
    - pldm_pdr_add
    - pldm_state_effecter_pdr::pldm_state_effecter_pdr
    - std::vector::data
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_delete_by_effecter_id
    - std::vector::resize
    - std::vector::size
    - ASSERT_NE
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRAccess, testRemoveByEffecterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1004,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1005,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1007
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_destroy
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1031,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1033,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1035,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1036,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1038,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1039,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1041,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1042,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1044,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1045,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1047,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1048,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1050,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1051,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1053,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1054,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1056,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1057,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1059,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1061,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1062,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1063,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1064,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1064,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1066,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1066,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1067,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1067,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1068,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1068,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1069,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1069,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1070,1
    - Dst: pldm_entity_is_node_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1070,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1072,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1072,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1074,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1075,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1076,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1077,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1078,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1079,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1079,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1080,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1081,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1082,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1084,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1085,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1086,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1088,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1089,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1091,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1092,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1093,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1095,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1096,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1097,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1098,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1099,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1101,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1102,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1103,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1105,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1106,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1108,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1109,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1110,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1113,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1115,1
    - Dst: pldm_entity_get_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1116,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1117,1
    - Dst: pldm_entity_is_exist_parent
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1120,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1127,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1128,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1129,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1131,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1132,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1134,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1139,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1143,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1145,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1151,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1152,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1153,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1154,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1156,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1158,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1160,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1161,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1162,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1163,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1165,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1166,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1167,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1168,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1170,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1172,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1173,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1176,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1180,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1181,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1182,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1183,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1185,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1187,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1189,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1191,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1192,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1193,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1194,1
    - Dst: pldm_entity_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1195,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1196,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1197,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1198,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1201
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_visit
    - pldm_entity_extract
    - pldm_entity_is_node_parent
    - pldm_entity_is_exist_parent
    - pldm_entity_association_tree_add
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - pldm_entity_get_parent
    - EXPECT_NE
    - free
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testBuild)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1234,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1235,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1238,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1239,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1242,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1243,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1246,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1247,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1250,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1251,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1254,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1255,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1258,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1259,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1262,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1267,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1268,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1269,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1270,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1273,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1277,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1279,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1280,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1283,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1285
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - pldm_entity_association_tree_find
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, findAndAddRemotePDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1297,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1298,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1300,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1303,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1304,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1305,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1307,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1308,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1309,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1312,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1313,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1315,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1316,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1318,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1319,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1321,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1322,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1323,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1324,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1325,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1327,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1329,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1331,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1332,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1333,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1334,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1341,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1342,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1344,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1345,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1347,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1348,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1350,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1355,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1357,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1358,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1359,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1360,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1361,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1362,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1363,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1368,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1369,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1371,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1372,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1374,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1375,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1377,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1378,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1380,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1381,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1382,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1383,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1384,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1385,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1387,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1388,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1394,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1395,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1397
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_visit
    - pldm_entity_association_tree_add
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - free
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testSpecialTrees)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1434,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1436,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1438,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1439,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1441,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1443,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1445,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1446,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1448,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1449,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1451,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1452,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1454,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1456,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1458,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1459,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1461,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1462,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1464,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1465,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1467,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1469,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1471,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1472,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1476,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1476,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1478,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1480,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1482,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1483,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1484,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1484,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1487,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1488,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1489,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1491,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1491,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1501,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1502,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1502,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1507,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1508,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1508,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1509,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1510,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1510,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1513,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1514,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1516,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1520,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1520,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1521,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1521,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1522,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1522,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1524,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1525,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1528,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1529,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1529,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1530,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1530,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1531,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1531,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1535,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1536,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1536,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1537,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1537,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1541,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1542,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1542,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1547,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1548,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1548,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1549,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1550,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1550,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1553,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1554,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1554,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1556,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1559,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1560,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1560,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1561,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1561,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1562,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1562,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1564,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1564,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1568,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1569,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1569,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1570,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1570,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1571,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1571,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1574,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1575,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1575,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1576,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1576,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1577,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1577,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1581,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1582,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1582,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1587,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1588,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1588,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1590,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1590,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1593,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1594,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1594,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1596,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1599,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1600,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1600,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1601,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1602,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1602,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1604,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1604,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1609,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1610,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1611,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1611,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1614,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1615,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1615,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1616,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1616,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1617,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1617,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1621,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1622,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1622,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1627,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1628,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1628,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1629,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1630,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1630,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1633,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1634,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1636,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1639,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1640,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1640,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1641,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1641,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1642,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1644,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1644,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1648,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1649,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1649,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1650,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1650,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1651,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1651,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1654,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1655,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1655,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1656,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1656,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1657,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1657,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1661,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1662,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1662,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1667,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1668,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1668,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1669,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1670,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1670,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1674,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1674,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1676,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1679,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1680,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1680,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1681,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1682,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1682,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1684,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1684,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1688,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1689,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1689,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1690,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1691,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1691,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1696,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1696,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1701,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1702,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1702,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1703,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1704,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1704,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1707,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1708,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1710,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1713,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1714,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1714,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1715,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1716,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1716,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1718,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1718,1
    - Dst: reinterpret_cast<pldm_entity*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1723,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1723,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1724,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1724,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1725,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1725,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1727,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1729,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 199
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1731
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_entity*>
    - reinterpret_cast<pldm_pdr_hdr*>
    - pldm_pdr_get_record_count
    - pldm_pdr_init
    - pldm_entity_get_num_children
    - pldm_entity_association_tree_add
    - ASSERT_EQ
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<uint16_t*>
    - EXPECT_NE
    - pldm_pdr_destroy
    - pldm_entity_association_tree_destroy
    - pldm_pdr_find_record
    - le32toh
    - pldm_entity_association_tree_init
    - pldm_entity_association_pdr_add
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testPDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1750,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1752,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1754,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1756,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1758,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1759,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1761,1
    - Dst: pldm_find_entity_ref_in_tree
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1765,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1767,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1770,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1773,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1773,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1780,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1786,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1790,1
    - Dst: static_cast<uint16_t>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1797,1
    - Dst: verifyEntityAssociationPdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1802,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1806,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1807,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1811,1
    - Dst: static_cast<uint16_t>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1818,1
    - Dst: verifyEntityAssociationPdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1823,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1826,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1828
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_get_record_count
    - pldm_pdr_init
    - verifyEntityAssociationPdr
    - pldm_entity_association_tree_add
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_entity_association_tree_destroy
    - static_cast<uint16_t>
    - pldm_pdr_find_record
    - pldm_find_entity_ref_in_tree
    - ASSERT_NE
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testPDRWithRecordHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1852,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1854,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1856,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1857,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1859,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1860,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1862,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1863,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1865,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1866,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1868,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1869,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1871,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1872,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1874,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1875,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1877,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1878,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1880,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1886,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1887,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1888,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1892,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1893,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1894,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1897,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1898,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1899,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1902,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1903,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1904,1
    - Dst: pldm_entity_association_tree_find
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1908,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1909,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1910,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1913
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_add
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - pldm_entity_association_tree_find
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testFind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1926,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1927,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1929,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1931,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1932,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1934,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1935,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1937,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1938,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1940,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1943,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1944,1
    - Dst: pldm_entity_association_tree_copy_root_check
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1946,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1947,1
    - Dst: pldm_entity_association_tree_visit
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1951,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1953,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1954,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1955,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1956,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1957,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1959
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_visit
    - pldm_entity_association_tree_add
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - free
    - pldm_entity_association_tree_copy_root_check
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testCopyTree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1965,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1968,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1968,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1971,1
    - Dst: reinterpret_cast<pldm_pdr_entity_association*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1975,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1975,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1977,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1979,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1980,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1981,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1984,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1985,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1986,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1988,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1989,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1990,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1992,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1993,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1994,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1996,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1997,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:1998,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2000,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2001,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2002,1
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2006,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2006,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2006,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2007,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2008,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2009,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2010,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2011,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2012,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2013,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2014,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2015,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2016,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2017,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2018,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2019,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2020,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2021,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2022,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2023,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2024,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2025,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 2028
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<pldm_pdr_hdr*>
    - reinterpret_cast<pldm_pdr_entity_association*>
    - std::vector::data
    - EXPECT_EQ
    - htole16
    - free
    - pldm_entity_association_pdr_extract
    - std::vector::resize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testExtract)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2040,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2041,1
    - Dst: pldm_pdr_hdr::pldm_pdr_hdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2041,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2043,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2043,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2046,1
    - Dst: pldm_pdr_entity_association::pldm_pdr_entity_association
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2046,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2047,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2049,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2050,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2051,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2053,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2054,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2055,1
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2059,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2059,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2059,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2061
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_hdr::pldm_pdr_hdr
    - std::vector::data
    - EXPECT_EQ
    - htole16
    - pldm_entity_association_pdr_extract
    - pldm_pdr_entity_association::pldm_pdr_entity_association
    - std::vector::resize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testExtractRejectsOverlongChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2068,1
    - Dst: std::to_string
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2068,1
    - Dst: std::vector::resize
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2071,1
    - Dst: static_cast<size_t>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2071,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2072,1
    - Dst: pldm_pdr_hdr::pldm_pdr_hdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2072,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2074,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2074,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2077,1
    - Dst: pldm_pdr_entity_association::pldm_pdr_entity_association
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2077,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2078,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2080,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2081,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2082,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2085,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2086,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2087,1
    - Dst: pldm_entity_association_pdr_extract
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2092,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2092,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2092,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2094,1
    - Dst: static_cast<size_t>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2095,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2101,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2102,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2105
    functionName: checkExtractValidChildren
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - SCOPED_TRACE
    - pldm_pdr_hdr::pldm_pdr_hdr
    - static_cast<size_t>
    - std::vector::data
    - EXPECT_EQ
    - htole16
    - free
    - pldm_entity_association_pdr_extract
    - pldm_pdr_entity_association::pldm_pdr_entity_association
    - std::vector::resize
    - std::vector::size
    - std::to_string
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void checkExtractValidChildren(uint8_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkExtractValidChildren
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2111,1
    - Dst: checkExtractValidChildren
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2107
    functionDepth: 2
    functionLinenumber: 2107
    functionLinenumberEnd: 2113
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - checkExtractValidChildren
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testExtractValidChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2123,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2124,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2126,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2127,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2129,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2130,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2132,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2133,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2140,1
    - Dst: pldm_is_current_parent_child
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2145,1
    - Dst: pldm_is_current_parent_child
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2145,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2150,1
    - Dst: pldm_is_current_parent_child
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2150,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2153
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_add
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - pldm_is_current_parent_child
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testGetChildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2169,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2170,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2177,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2179,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2181,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2184,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2184,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2189,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2190,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2191,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2191,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2192,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2195,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2196,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2198,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2201,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2201,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2206,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2207,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2208,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2208,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2209,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2213,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2218,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2218,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2223,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2225,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2225,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2226,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2230,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2232,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2235,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2235,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2240,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2241,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2242,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2242,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2243,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2247,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2252,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2252,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2257,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2258,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2259,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2259,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2260,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2263,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2264,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2266,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2268,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2270,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2273,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2273,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2278,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2280,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2280,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2281,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2285,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2287,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2290,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2290,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2297,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2297,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2298,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2301,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2302,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2304,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2306
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_init
    - pldm_entity_association_tree_add
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - pldm_pdr_fru_record_set_find_by_rsi
    - EXPECT_NE
    - pldm_pdr_add_fru_record_set
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testEntityInstanceNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2318,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2319,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2323,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2324,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2327,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2328,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2331,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2333,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2333,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2336,1
    - Dst: pldm_entity_association_pdr_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2337,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2340,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2340,1
    - Dst: pldm_pdr_find_child_container_id_index_range_exclude
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2345,1
    - Dst: pldm_pdr_find_child_container_id_index_range_exclude
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2348,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2350,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2352,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2354
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_count
    - pldm_pdr_init
    - pldm_entity_get_num_children
    - pldm_pdr_destroy
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - pldm_pdr_find_child_container_id_index_range_exclude
    - pldm_entity_association_pdr_add
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testFindChildContainerID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2360,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2366,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2368,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2370,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2371,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2373,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2374,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2376,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2377,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2379,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2381,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2383,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2383,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2386,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2389,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2392,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2396,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2396,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2401,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2402,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2405,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2406,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2409,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2412,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2413,1
    - Dst: reinterpret_cast<pldm_pdr_hdr*>
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2416,1
    - Dst: pldm_pdr_find_record
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2419,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2420,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2422,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2423,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2425
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - reinterpret_cast<pldm_pdr_hdr*>
    - pldm_pdr_get_record_count
    - pldm_pdr_init
    - pldm_entity_association_tree_add
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - free
    - pldm_pdr_find_record
    - malloc
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testNodeAddCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2431,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2438,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2439,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2441,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2442,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2444,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2445,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2447,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2448,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2450,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2451,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2453,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2455,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2457,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2457,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2460,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2460,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2463,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2463,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2466,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2469,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2469,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2476,1
    - Dst: pldm_entity_association_pdr_add_contained_entity_to_remote_pdr
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2476,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2480,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2481,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2428
    functionDepth: 1
    functionLinenumber: 2428
    functionLinenumberEnd: 2483
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_init
    - pldm_entity_association_tree_add
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - free
    - pldm_entity_association_pdr_add_contained_entity_to_remote_pdr
    - malloc
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testAddContainedEntityRemotePDR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2490,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2497,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2498,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2500,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2501,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2503,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2504,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2506,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2507,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2509,1
    - Dst: pldm_entity_association_tree_add
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2510,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2512,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2516,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2516,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2519,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2522,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2522,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2525,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2525,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2528,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2528,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2540,1
    - Dst: pldm_entity_association_pdr_create_new
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2540,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2544,1
    - Dst: free
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2546,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2547,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2549
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_init
    - pldm_entity_association_tree_add
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - free
    - pldm_entity_association_pdr_create_new
    - malloc
    - pldm_entity_association_tree_init
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testAddContainedEntityNew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2561,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2562,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2566,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2567,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2570,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2571,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2574,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2575,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2578,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2580,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2580,1
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2583,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2585,1
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2585,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2589,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2596,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2599,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2603,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2606,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2610,1
    - Dst: pldm_entity_association_pdr_remove_contained_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2613,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2617,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2617,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2619,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2621
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    - pldm_pdr_get_record_count
    - pldm_pdr_init
    - pldm_entity_get_num_children
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - EXPECT_NE
    - pldm_entity_association_pdr_remove_contained_entity
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testRemoveContainedEntity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2625,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2628,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2629,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2632,1
    - Dst: pldm_pdr_add_fru_record_set
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2635,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2636,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2636,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2639,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2641,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2642,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2643,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2643,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2649,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2651,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2652,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2653,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2655,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2657,1
    - Dst: pldm_pdr_get_record_handle
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2658,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2659,1
    - Dst: pldm_pdr_fru_record_set_find_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2661,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2663,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2665,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2667,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2668,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2672,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2674,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2675,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2676,1
    - Dst: pldm_pdr_remove_fru_record_set_by_rsi
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2678,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2680,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2683,1
    - Dst: pldm_pdr_get_record_count
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2683,1
    - Dst: pldm_pdr_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2623
    functionDepth: 1
    functionLinenumber: 2623
    functionLinenumberEnd: 2686
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_record_handle
    - pldm_pdr_init
    - pldm_pdr_destroy
    - EXPECT_EQ
    - pldm_pdr_fru_record_set_find_by_rsi
    - EXPECT_NE
    - pldm_pdr_add_fru_record_set
    - pldm_pdr_remove_fru_record_set_by_rsi
    - pldm_pdr_get_record_count
    linkageType: ''
    returnType: void
    signature: void TEST(PDRUpdate, testRemoveFruRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2691,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2692,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2694,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2696,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2697,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2698,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2700,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2701,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2702,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2704,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2705,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2706,1
    - Dst: pldm_entity_association_tree_init
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2708,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2709,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2711,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2712,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2714,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2716,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2717,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2719,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2721,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2722,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2724,1
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2726,1
    - Dst: std::unique_ptr::get
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2727,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2729,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2731,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2731,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2739,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2740,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2740,1
    - Dst: pldm_entity_association_tree_delete_node
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2747,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2748,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2748,1
    - Dst: pldm_entity_association_tree_destroy
      Src: /src/libpldm/tests/unit/dsp/pdr.cpp:2751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2688
    functionDepth: 1
    functionLinenumber: 2688
    functionLinenumberEnd: 2752
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/pdr.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - pldm_entity_get_num_children
    - pldm_entity_association_tree_delete_node
    - EXPECT_EQ
    - pldm_entity_association_tree_destroy
    - malloc
    - ASSERT_NE
    - pldm_entity_association_tree_init
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: void
    signature: void TEST(EntityAssociationPDR, testDeleteNode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:19,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_date_time_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetDateTime, testEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:37,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:37,1
    - Dst: encode_get_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:39,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:42,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:43,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:45,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:45,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:47,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:47,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:50,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:50,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:53,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:53,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:56,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:56,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:60,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:61,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 65
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - encode_get_date_time_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetDateTime, testEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:79,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:88,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:88,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:90,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:90,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:93,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:93,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:96,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:96,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:99,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:99,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:102,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:102,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:108,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:108,1
    - Dst: decode_get_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:110,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:115,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:116,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:119,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 121
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_get_date_time_resp
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<pldm_msg*>
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetDateTime, testDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:132,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:132,1
    - Dst: encode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:134,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:136,1
    - Dst: reinterpret_cast<struct pldm_only_cc_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - encode_set_date_time_resp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_only_cc_resp*>
    - reinterpret_cast<struct pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:153,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:153,1
    - Dst: encode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:154,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:155,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:157,1
    - Dst: encode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:158,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:159,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - encode_set_date_time_resp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:171,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:171,1
    - Dst: reinterpret_cast<struct pldm_only_cc_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:174,1
    - Dst: decode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:179,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:182,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_only_cc_resp*>
    - reinterpret_cast<struct pldm_msg*>
    - decode_set_date_time_resp
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:194,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:194,1
    - Dst: decode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:195,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:195,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:197,1
    - Dst: decode_set_date_time_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:199,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:199,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - decode_set_date_time_resp
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:219,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:219,1
    - Dst: encode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:220,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:224,1
    - Dst: reinterpret_cast<struct pldm_set_date_time_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:229,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:230,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:231,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:232,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:232,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:233,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:234,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:234,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - pldm_bcd_bcd2dec16
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_set_date_time_req*>
    - le16toh
    - pldm_bcd_bcd2dec8
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testGoodEncodeRequset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:254,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:254,1
    - Dst: encode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:256,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:258,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:259,1
    - Dst: encode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:261,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:263,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:264,1
    - Dst: encode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:266,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:268,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 270
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_date_time_req
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testBadEncodeRequset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:284,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:284,1
    - Dst: reinterpret_cast<struct pldm_set_date_time_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:287,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:293,1
    - Dst: decode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:302,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:302,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:307,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:308,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:309,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:310,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 313
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_set_date_time_req*>
    - htole16
    - reinterpret_cast<struct pldm_msg*>
    - std::array::size
    - decode_set_date_time_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:322,1
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:328,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:328,1
    - Dst: decode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:330,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:330,1
    - Dst: decode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:334,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:334,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:336,1
    - Dst: decode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:338,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:340,1
    - Dst: decode_set_date_time_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:342,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 346
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - htole16
    - reinterpret_cast<struct pldm_msg*>
    - std::array::size
    - decode_set_date_time_req
    linkageType: ''
    returnType: void
    signature: void TEST(SetDateTime, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:354,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:354,1
    - Dst: encode_get_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:361,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:362,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:365,1
    - Dst: reinterpret_cast<struct pldm_get_bios_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:369,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:371,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:372,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:372,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:373,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:374,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:374,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:374,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 375
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - encode_get_bios_table_resp
    - le32toh
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    - reinterpret_cast<struct pldm_get_bios_table_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:383,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:384,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_table_resp
    - std::array::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:398,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:398,1
    - Dst: encode_get_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:399,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:402,1
    - Dst: reinterpret_cast<struct pldm_get_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:407,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<struct pldm_get_bios_table_req*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - le32toh
    - encode_get_bios_table_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:418,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encode_get_bios_table_req
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:436,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:436,1
    - Dst: reinterpret_cast<struct pldm_get_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:439,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:441,1
    - Dst: decode_get_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:445,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:445,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:449,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:451,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 453
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<struct pldm_get_bios_table_req*>
    - EXPECT_EQ
    - decode_get_bios_table_req
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:466,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:466,1
    - Dst: reinterpret_cast<struct pldm_get_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:469,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:471,1
    - Dst: decode_get_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:475,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:475,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:479,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:480,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:481,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 483
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<struct pldm_get_bios_table_req*>
    - EXPECT_EQ
    - decode_get_bios_table_req
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:526,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:526,1
    - Dst: "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:529,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:533,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:535,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:537,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:541,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:542,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:543,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 545
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - std::array::data
    - EXPECT_EQ
    - htole16
    - htole32
    - reinterpret_cast<pldm_msg*>
    - "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:561,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:561,1
    - Dst: "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:564,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:568,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:572,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:575,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:578,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:580,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 584
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_get_bios_attribute_current_value_by_handle_req
    - std::array::data
    - EXPECT_EQ
    - htole32
    - reinterpret_cast<pldm_msg*>
    - "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:596,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:596,1
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:597,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:600,1
    - Dst: "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:604,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:607,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:608,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:609,1
    - Dst: le16toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 610
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - std::array::data
    - EXPECT_EQ
    - le16toh
    - reinterpret_cast<pldm_msg*>
    - "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_req*>"
    - le32toh
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_bios_attribute_current_value_by_handle_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:618,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_get_bios_attribute_current_value_by_handle_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:637,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:637,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:639,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:643,1
    - Dst: "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_resp*>"
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:647,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:651,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:652,1
    - Dst: le32toh
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:652,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:653,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:654,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 656
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_resp*>"
    - EXPECT_EQ
    - le32toh
    - reinterpret_cast<pldm_msg*>
    - encode_get_bios_current_value_by_handle_resp
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:664,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:667,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:674,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:674,1
    - Dst: encode_get_bios_current_value_by_handle_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:675,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 679
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_get_bios_current_value_by_handle_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:691,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:691,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:692,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:695,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:696,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:698,1
    - Dst: reinterpret_cast<struct pldm_set_bios_attribute_current_value_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:702,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:705,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:705,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:706,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:707,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 709
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_set_bios_attribute_current_value_req*>
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - encode_set_bios_attribute_current_value_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:720,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:720,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:724,1
    - Dst: encode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:725,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:728,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:729,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - encode_set_bios_attribute_current_value_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:744,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:744,1
    - Dst: reinterpret_cast<struct pldm_set_bios_attribute_current_value_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:747,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:749,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:751,1
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:756,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:757,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:760,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:761,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:762,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:763,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:764,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 765
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_set_bios_attribute_current_value_req*>
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - decode_set_bios_attribute_current_value_req
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:775,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:775,1
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:777,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:779,1
    - Dst: decode_set_bios_attribute_current_value_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:780,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:781,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 784
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - decode_set_bios_attribute_current_value_req
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:796,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:796,1
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:797,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:799,1
    - Dst: reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:803,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:805,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:806,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 807
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - encode_set_bios_attribute_current_value_resp
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_set_bios_attribute_current_value_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:814,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_bios_attribute_current_value_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:827,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:827,1
    - Dst: reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:830,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:834,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:838,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:839,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:842,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:843,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 845
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
    - std::array::data
    - EXPECT_EQ
    - decode_set_bios_attribute_current_value_resp
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:856,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:856,1
    - Dst: reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:859,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:863,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:865,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:867,1
    - Dst: decode_set_bios_attribute_current_value_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:869,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:870,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 874
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<struct pldm_set_bios_attribute_current_value_resp*>
    - std::array::data
    - EXPECT_EQ
    - decode_set_bios_attribute_current_value_resp
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBiosAttributeCurrentValue, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:886,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:886,1
    - Dst: reinterpret_cast<struct pldm_get_bios_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:890,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:893,1
    - Dst: decode_get_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:902,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:903,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:906,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:907,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:908,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:909,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 911
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - ASSERT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - decode_get_bios_table_resp
    - std::array::size
    - reinterpret_cast<struct pldm_get_bios_table_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSTable, testDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:926,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:926,1
    - Dst: "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_resp*>"
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:930,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:935,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:937,1
    - Dst: decode_get_bios_attribute_current_value_by_handle_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:943,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:944,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:947,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:948,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:949,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:951,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:952,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 954
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - memcmp
    - "reinterpret_cast<\n            struct pldm_get_bios_attribute_current_value_by_handle_resp*>"
    - EXPECT_EQ
    - decode_get_bios_attribute_current_value_by_handle_resp
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetBIOSAttributeCurrentValueByHandle, testDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:967,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:967,1
    - Dst: encode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:968,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:971,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:972,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:974,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:978,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:981,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:982,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:983,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:984,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 985
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_bios_table_req
    - reinterpret_cast<struct pldm_set_bios_table_req*>
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testGoodEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:998,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:998,1
    - Dst: encode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1000,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1002,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1003,1
    - Dst: encode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1005,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1008,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1009,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1011
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_bios_table_req
    - std::array::data
    - reinterpret_cast<uint8_t*>
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testBadEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1020,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1020,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1023,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1026,1
    - Dst: decode_set_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1031,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1031,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1034,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1035,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1037
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_set_bios_table_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - std::array::size
    - reinterpret_cast<struct pldm_set_bios_table_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1046,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1046,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1049,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1052,1
    - Dst: decode_set_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1057,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1059,1
    - Dst: decode_set_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1061,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1061,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1064
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_set_bios_table_resp
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - std::array::size
    - reinterpret_cast<struct pldm_set_bios_table_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1075,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1075,1
    - Dst: encode_set_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1076,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1078,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_resp*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1082,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1083,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1084,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - encode_set_bios_table_resp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - reinterpret_cast<struct pldm_set_bios_table_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testGoodEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_set_bios_table_resp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1089,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - encode_set_bios_table_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testBadEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1104,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1104,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1107,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1108,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1111,1
    - Dst: decode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1117,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1121,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1122,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1123,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1126,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1127
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_set_bios_table_req
    - reinterpret_cast<struct pldm_set_bios_table_req*>
    - std::array::data
    - memcmp
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testGoodDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1140,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1140,1
    - Dst: reinterpret_cast<struct pldm_set_bios_table_req*>
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1143,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1144,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1147,1
    - Dst: decode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1153,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1153,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1156,1
    - Dst: decode_set_bios_table_req
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1159,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1160,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/bios.cpp:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1163
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios.cpp
    functionUses: 0
    functionsReached:
    - decode_set_bios_table_req
    - reinterpret_cast<struct pldm_set_bios_table_req*>
    - std::array::data
    - EXPECT_EQ
    - reinterpret_cast<struct pldm_msg*>
    - htole32
    - memcpy
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(SetBIOSTable, testBadDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: pldm_edac_crc32
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table_iter.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t pldm_edac_crc32(const void* data LIBPLDM_CC_UNUSED,\n                         size_t
      size LIBPLDM_CC_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/tests/unit/dsp/bios_table_iter.c:37,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/tests/unit/dsp/bios_table_iter.c:51,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/tests/unit/dsp/bios_table_iter.c:53,1
    - Dst: exit
      Src: /src/libpldm/tests/unit/dsp/bios_table_iter.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/libpldm/tests/unit/dsp/bios_table_iter.c
    functionUses: 0
    functionsReached:
    - exit
    - pldm_bios_table_iter_is_end
    - pldm_bios_table_iter_free
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:34,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:35,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:36,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:37,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:38,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:39,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:40,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - command
    argTypes:
    - void*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: check_response
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void check_response(const void* data, uint8_t command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:79,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:90,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:90,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:91,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:94,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:95,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:96,1
    - Dst: begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:97,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:98,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:99,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:106,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:106,1
    - Dst: begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:109,1
    - Dst: end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:111,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:113,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:114,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 120
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - decode_pldm_package_header_info
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - std::equal
    - end
    - std::string_view::size
    - std::array::size
    - begin
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, goodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:126,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:139,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:139,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:141,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:143,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:143,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:146,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:148,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:148,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:149,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, invalidArguments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:158,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:171,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:171,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:173,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:175,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:175,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:177,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:179,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:181,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:183,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:183,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 187
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, invalidPackageLengths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:193,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:206,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:206,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:207,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 210
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, unspecifiedPackageHeaderIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:216,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:229,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:229,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:230,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 233
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, incongruentPackageHeaderFormatRevision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:239,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:252,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:252,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:253,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 256
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, invalidPackageVersionStringType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:262,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:275,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:275,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, invalidPackageVersionStringLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:285,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:298,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:298,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:299,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, corruptPackageVersionStringLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:308,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:321,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:321,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:322,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 325
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, invalidComponentBitmapBitLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:331,1
    - Dst: decode_pldm_package_header_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:344,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:344,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:345,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_package_header_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePackageHeaderInfo, badChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:372,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:373,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:373,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:388,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:389,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:389,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:394,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:399,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:404,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:408,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:411,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:411,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:412,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:413,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:415,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:418,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:418,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:421,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:423,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:429,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:432,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:433,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:436,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:437,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:438,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:438,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:440,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:440,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:442,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:442,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:443,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:444,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:446,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 447
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - reinterpret_cast<const char*>
    - decode_descriptor_type_length_value
    - std::array::data
    - std::array::end
    - ASSERT_EQ
    - EXPECT_EQ
    - std::array::begin
    - std::vector::begin
    - std::equal
    - std::vector::size
    - std::string_view::size
    - std::array::size
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, goodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:469,1
    - Dst: pldm_descriptor_tlv
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:470,1
    - Dst: pldm_descriptor_tlv
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:471,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:471,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:486,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:487,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:487,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:491,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:492,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:493,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:497,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:500,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:502,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:506,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:509,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:509,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:510,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:511,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:513,1
    - Dst: std::vector::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:516,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:516,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:519,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:521,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:527,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:530,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:531,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:536,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:536,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:538,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:538,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:540,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 542
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - pldm_descriptor_tlv
    - reinterpret_cast<const char*>
    - decode_descriptor_type_length_value
    - std::array::data
    - std::array::end
    - EXPECT_EQ
    - std::array::begin
    - std::vector::begin
    - std::equal
    - std::vector::size
    - std::string_view::size
    - std::array::size
    - std::vector::end
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, goodPathNofwDevicePkgData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:558,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:559,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:562,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:564,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:565,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:565,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:568,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:570,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:571,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:574,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:576,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:577,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:577,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:580,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:582,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:583,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:583,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:586,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:588,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:589,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:592,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:594,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:595,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:595,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:598,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:600,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:601,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:601,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:604,1
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:606,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:607,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 611
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::array::size
    - std::array::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, ErrorPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:626,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:627,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:627,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 631
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::array::data
    - std::array::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, invalidComponentImageSetVersionStringLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:646,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:647,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:647,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 651
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::array::data
    - std::array::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, shortBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:666,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:667,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:667,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 671
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::array::data
    - std::array::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, recordLengthMismatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_firmware_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:693,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:694,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:694,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 698
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_firmware_device_id_record
    - std::array::data
    - std::array::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeFirmwareDeviceIdRecord, invalidFirmwareDevicePackageDataLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_vendor_defined_descriptor_title_data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:717,1
    - Dst: pldm_vendor_defined_descriptor_title_data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:719,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:721,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:721,1
    - Dst: pldm_descriptor_tlv
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:724,1
    - Dst: pldm_descriptor_tlv
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:725,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:726,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:726,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:744,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:745,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:747,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:751,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:752,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:754,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:755,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:757,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:757,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:761,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:762,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:763,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:764,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:766,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:766,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:770,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:771,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:777,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:781,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:783,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:784,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:784,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:787,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:789,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:791,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:792,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:793,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:793,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:796,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 805
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - pldm_descriptor_tlv
    - reinterpret_cast<const char*>
    - decode_descriptor_type_length_value
    - std::array::data
    - std::array::end
    - pldm_vendor_defined_descriptor_title_data
    - EXPECT_EQ
    - std::array::begin
    - std::equal
    - decode_vendor_defined_descriptor_value
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDescriptors, goodPath3Descriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:816,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:817,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:819,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:821,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:821,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:822,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:824,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:826,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:826,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:827,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:829,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:831,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:832,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:834,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:836,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:836,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:837,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:839,1
    - Dst: decode_descriptor_type_length_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:844,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:844,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 848
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - std::array::size
    - EXPECT_EQ
    - decode_descriptor_type_length_value
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDescriptors, errorPathDecodeDescriptorTLV)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:860,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:861,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:863,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:865,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:866,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:866,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:869,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:871,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:872,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:872,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:874,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:876,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:877,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:877,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:879,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:881,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:882,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:882,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:884,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:886,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:887,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:891,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:893,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:894,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:894,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:897,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:902,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:903,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:903,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:906,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:911,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:912,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 916
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_vendor_defined_descriptor_value
    - std::array::size
    - std::array::data
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeDescriptors, errorPathVendorDefinedDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:935,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:945,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:945,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:945,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:948,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:949,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:950,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:951,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:952,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:953,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:955,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:956,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:957,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:958,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:961,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:965,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 968
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - decode_pldm_comp_image_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeComponentImageInfo, goodPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:976,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:985,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:985,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:987,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:989,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:989,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:990,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:992,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:994,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:994,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:995,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:997,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:999,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:999,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1003,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1005,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1005,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1006,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1008,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1015,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1015,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1016,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1018,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1027,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1027,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1028,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1030,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1032,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1032,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1033,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1035,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1042,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1042,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1043,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1045,1
    - Dst: decode_pldm_comp_image_info
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1052,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1052,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1053,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 1056
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_comp_image_info
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodeComponentImageInfo, errorPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1062,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1062,1
    - Dst: encode_query_device_identifiers_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1066,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1068,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1069,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1070,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1071,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1073
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_query_device_identifiers_req
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDeviceIdentifiers, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_query_device_identifiers_resp*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1084,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1085,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1088,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1092,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1092,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1097,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1097,1
    - Dst: decode_query_device_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1103,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1107,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1108,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1109,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1110,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1111,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1112,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1114,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1117
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - decode_query_device_identifiers_resp
    - std::array::data
    - std::array::end
    - EXPECT_EQ
    - std::array::begin
    - reinterpret_cast<pldm_msg*>
    - htole32
    - std::equal
    - std::array::size
    - reinterpret_cast<struct pldm_query_device_identifiers_resp*>
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDeviceIdentifiers, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1123,1
    - Dst: encode_query_device_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1137,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1139,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1140,1
    - Dst: std::span<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1140,1
    - Dst: ElementsAreArray<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1141,1
    - Dst: check_response
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1171
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - check_response
    - std::span<uint8_t>
    - encode_query_device_identifiers_resp
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - EXPECT_THAT
    - ElementsAreArray<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDeviceIdentifiers, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1178,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1178,1
    - Dst: encode_get_firmware_parameters_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1181,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1183,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1185,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1186,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1188
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1213,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1214,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1226,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1226,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1244,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1244,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1255,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1256,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1260,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1265,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1268,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1269,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1270,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1271,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1272,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1273,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1278,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1281,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1283,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1285,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1285,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1288,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1289
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - reinterpret_cast<const char*>
    - std::array::data
    - std::array::end
    - EXPECT_EQ
    - std::array::begin
    - std::equal
    - std::string_view::size
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, decodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1303,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1303,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1314,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1314,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1320,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1325,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1339,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1341,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1342,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1343,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1346,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1354,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1356
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - reinterpret_cast<const char*>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, decodeResponseZeroCompCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1370,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1380,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1380,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1396,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1401,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1405,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1406,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1407,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1409,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1412,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1414,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1419
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - reinterpret_cast<const char*>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::size
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: "void TEST(GetFirmwareParameters,\n     decodeResponseNoPendingCompImageVersionStrZeroCompCount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1428,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1428,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1434,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1435,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1439,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1441
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, decodeResponseErrorCompletionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1453,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1453,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1459,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1460,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1463,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1465,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1466,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1469,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1471,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1474,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1476,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1477,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1479,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1481,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1484,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1486,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1489,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1491,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1492,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1495,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1497,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1498,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1501,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1509,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1509,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1510,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1511,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1514,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1523,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1523,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1524,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1525,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1528,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1537,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1537,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1538,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1539,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1542,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1550,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1550,1
    - Dst: decode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1551,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1552,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1556
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_get_firmware_parameters_resp
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathdecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1562,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1574,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1574,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1575,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1575,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1576,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1579,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1579,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1580,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1580,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1581,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1583,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1585,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1590,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1591,1
    - Dst: std::span<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1591,1
    - Dst: ElementsAreArray<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1592,1
    - Dst: check_response
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1644
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - EXPECT_THAT
    - static_cast<uint8_t>
    - std::span<uint8_t>
    - check_response
    - EXPECT_EQ
    - std::string_view::data
    - PLDM_MSG_DEFINE_P
    - std::string_view::size
    - memcpy
    - ElementsAreArray<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1651,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1662,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1662,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1663,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1663,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1664,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1668,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1670,1
    - Dst: check_response
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1672
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - check_response
    - static_cast<uint8_t>
    - EXPECT_EQ
    - std::string_view::data
    - PLDM_MSG_DEFINE_P
    - std::string_view::size
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, goodPathEncodeResponseNoPending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1678,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1676
    functionDepth: 1
    functionLinenumber: 1676
    functionLinenumberEnd: 1684
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathEncodeResponseNullRespData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1690,1
    - Dst: static_cast<pldm_firmware_update_string_type>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1696,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1698,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1702,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1705
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - static_cast<pldm_firmware_update_string_type>
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathEncodeResponseInvalidActiveStrType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1711,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1718,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1722,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1725
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - memcpy
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathEncodeResponseActiveStrTypeUnknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1731,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1741,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1744
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathEncodeResponseActiveStrLenZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1750,1
    - Dst: memcpy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1757,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1762,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1765
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - memcpy
    - PLDM_MSG_DEFINE_P
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, errorPathEncodeResponsePendingStrTypeNonUnknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<struct pldm_component_parameter_entry*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1793,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1793,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1795,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1796,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1798,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1801,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1803,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1806,1
    - Dst: htole16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1808,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1810,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1813,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1813,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1816,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1816,1
    - Dst: decode_get_firmware_parameters_resp_comp_entry
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1823,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1824,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1827,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1829,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1830,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1831,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1836,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1839,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1841,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1843,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1843,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1848,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1851,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1853,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1855,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1860,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1865,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1868,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1868,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1869,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1871,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1871,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1872,1
    - Dst: std::vector::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1878,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1903,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1904,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1905,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1907,1
    - Dst: encode_get_firmware_parameters_resp_comp_entry
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1910,1
    - Dst: std::vector::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1913,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1914,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1914,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1914,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1914,1
    - Dst: std::vector::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1916
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - EXPECT_TRUE
    - std::vector::data
    - std::array::data
    - memcmp
    - std::array::end
    - EXPECT_EQ
    - htole16
    - encode_get_firmware_parameters_resp_comp_entry
    - std::array::begin
    - htole32
    - std::vector::begin
    - std::equal
    - std::vector::size
    - reinterpret_cast<struct pldm_component_parameter_entry*>
    - decode_get_firmware_parameters_resp_comp_entry
    linkageType: ''
    returnType: void
    signature: void TEST(GetFirmwareParameters, goodPathDecodeComponentParameterEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1923,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1923,1
    - Dst: encode_query_downstream_devices_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1925,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1927,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1928,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1929,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 1932
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    - encode_query_downstream_devices_req
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamDevices, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_query_downstream_devices_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1938,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1941
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_query_downstream_devices_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamDevices, encodeRequestInvalidData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1960,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1961,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1961,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1962,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1963,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1965,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1966,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1967,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1968,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1969,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1970,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1970,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1973,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1973,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1976,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1977,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1979,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1980,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1981,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1983,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1985,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1988
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_devices_resp
    - std::array::data
    - ASSERT_EQ
    - EXPECT_EQ
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_insert_uint32
    - reinterpret_cast<pldm_msg*>
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamDevices, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2006,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2007,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2007,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2008,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2009,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2010,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2011,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2012,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2013,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2014,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2015,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2015,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2018,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2018,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2021,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2022,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2025
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_devices_resp
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - reinterpret_cast<pldm_msg*>
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamDevices, decodeRequestUndefinedValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2045,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2046,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2046,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2047,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2048,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2050,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2051,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2052,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2053,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2055,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2056,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2056,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2059,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2059,1
    - Dst: decode_query_downstream_devices_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2062,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2066
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_devices_resp
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - EXPECT_EQ
    - reinterpret_cast<pldm_msg*>
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamDevices, decodeRequestErrorBufSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2072,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2076,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2078,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2079,1
    - Dst: std::span<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2079,1
    - Dst: ElementsAreArray<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2082
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::span<uint8_t>
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - encode_query_downstream_identifiers_req
    - EXPECT_THAT
    - ElementsAreArray<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2095,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2095,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2097,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2099,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2101,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2103,1
    - Dst: encode_query_downstream_identifiers_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2105,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2108
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_query_downstream_identifiers_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, encodeRequestInvalidErrorPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2118,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2121,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2124,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2126,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2128,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2129,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2130,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2131,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2132,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2134,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2134,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2136,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2140,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2141,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2145,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2149
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseNoDevices)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2159,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2163,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2166,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2168,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2170,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2171,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2172,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2173,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2174,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2176,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2176,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2178,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2180,1
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2184,1
    - Dst: ASSERT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2187
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - PLDM_MSG_DEFINE_P
    - pldm_msgbuf_complete_consumed
    - FAIL
    - ASSERT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseNoDevicesBadCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2185
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2196,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2202,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2205,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2208,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2209,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2211,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2212,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2213,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2214,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2215,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2218,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2219,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2222,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2223,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2224,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2226,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2226,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2228,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2232,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2235,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2236,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2246,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2251,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2252,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2255,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2258
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseOneDeviceOneDescriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2245,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2246,1
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2251,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2252,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2256
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - htole32
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2251,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2252,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2254
    functionName: foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - htole32
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2284,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2290,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2293,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2296,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2297,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2299,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2300,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2301,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2302,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2303,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2306,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2307,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2310,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2311,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2312,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2315,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2316,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2319,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2320,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2321,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2323,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2323,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2325,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2329,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2338,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2345,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2355,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2364,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2365,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2369,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2265
    functionDepth: 1
    functionLinenumber: 2265
    functionLinenumberEnd: 2371
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    - ASSERT_LT
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseTwoDevicesOneDescriptorEach)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2338,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2343,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2345,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2355,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2364,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2368
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2350,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2355,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2356,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2363
    functionName: foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2394,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2400,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2403,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2406,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2407,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2409,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2410,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2411,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2412,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2413,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2416,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2417,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2420,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2421,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2422,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2425,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2426,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2427,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2430,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2431,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2434,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2435,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2436,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2438,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2438,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2440,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2443,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2444,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2453,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2453,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2460,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2470,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2479,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2483,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2484,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2486
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    - ASSERT_LT
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseTwoDevicesTwoOneDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2453,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2453,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2460,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2470,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2449
    functionDepth: 0
    functionLinenumber: 2449
    functionLinenumberEnd: 2482
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2470,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2478
    functionName: foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2509,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2515,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2518,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2521,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2522,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2524,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2525,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2526,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2527,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2528,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2531,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2532,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2535,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2536,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2537,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2540,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2541,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2544,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2545,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2546,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2549,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2550,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2551,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2553,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2553,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2555,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2558,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2559,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2568,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2568,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2575,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2585,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2586,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2594,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2598,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2599,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2601
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - decode_query_downstream_identifiers_resp
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    - ASSERT_LT
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeResponseTwoDevicesOneTwoDescriptors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2568,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2568,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2573,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2575,1
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2585,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2586,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2597
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2580,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2585,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2586,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2593
    functionName: foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - ASSERT_LT
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2609,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2612,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2614,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2618,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2620,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2621,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2625,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2603
    functionDepth: 1
    functionLinenumber: 2603
    functionLinenumberEnd: 2629
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_query_downstream_identifiers_resp
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeRequestErrorPaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2645,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2649,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2650,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2655,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2656,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2658,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2659,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2660,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2661,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2662,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2663,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2665,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2665,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2670,1
    - Dst: static_cast<uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2670,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2673,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2676
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_span_remaining
    - static_cast<uint8_t*>
    - decode_query_downstream_identifiers_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_NE
    - PLDM_MSG_DEFINE_P
    - htole32
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeRequestErrorDownstreamDevicesSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2689,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2693,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2694,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2697,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2698,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2700,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2701,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2702,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2703,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2705,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2706,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2706,1
    - Dst: decode_query_downstream_identifiers_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2712
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - decode_query_downstream_identifiers_resp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - htole32
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(QueryDownstreamIdentifiers, decodeRequestErrorBufSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2723,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2723,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2725,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2733
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_downstream_firmware_parameters_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2745,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2745,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2747,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2735
    functionDepth: 1
    functionLinenumber: 2735
    functionLinenumberEnd: 2750
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_downstream_firmware_parameters_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, encodeRequestInvalidTransferOperationFlag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2764,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2764,1
    - Dst: encode_get_downstream_firmware_parameters_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2766,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2752
    functionDepth: 1
    functionLinenumber: 2752
    functionLinenumberEnd: 2769
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_downstream_firmware_parameters_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, encodeRequestErrorBufSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2788,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2789,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2792,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2793,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2796,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2797,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2798,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2801,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2802,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2805,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2808,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2809,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2810,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2811,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2812,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2815,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2816,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2817,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2818,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2819,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2822,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2823,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2826,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2828,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2829,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2831,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2833,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2834,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2839,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2842,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2843,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2844,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2846,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2847,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2853,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2854,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2856,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2858,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2859,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2860,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2861,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2863,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2864,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2865,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2866,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2866,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2868,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2868,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2872,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2874
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm__msgbuf_insert_array_void
    - EXPECT_FALSE
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_get_downstream_firmware_parameters_resp
    - EXPECT_STREQ
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, goodPathDecodeResponseOneEntry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2853,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2854,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2855,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2856,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2858,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2859,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2860,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2861,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2863,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2864,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2865,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2866,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2866,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2868,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2871
    functionName: foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - memcmp
    - EXPECT_STREQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(iter, entry, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2885,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2897,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2898,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2901,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2902,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2905,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2906,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2907,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2910,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2911,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2947,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2950,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2951,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2952,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2953,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2955,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2958,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2959,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2960,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2962,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2964,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2967,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2968,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2971,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2974,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2975,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2978,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2981,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2982,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2987,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2990,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2991,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2992,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2994,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:2995,1
    - Dst: ASSERT_LE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3001,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3003,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3005,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3007,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3009,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3011,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3013,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3015,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3017,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3019,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3021,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3023,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3025,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3025,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3028,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3028,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3033,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3034,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 2876
    functionDepth: 1
    functionLinenumber: 2876
    functionLinenumberEnd: 3035
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - static_cast<size_t>
    - pldm__msgbuf_insert_array_void
    - ASSERT_LE
    - EXPECT_FALSE
    - memcmp
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - PLDM_MSG_DEFINE_P
    - decode_get_downstream_firmware_parameters_resp
    - EXPECT_STREQ
    - pldm_msgbuf_complete_consumed
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, goodPathDecodeResponseTwoEntries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3001,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3003,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3005,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3007,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3009,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3011,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3013,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3015,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3017,1
    - Dst: EXPECT_STREQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3019,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3021,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3023,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3025,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3025,1
    - Dst: EXPECT_FALSE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3028,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3032
    functionName: foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - ASSERT_LE
    - EXPECT_FALSE
    - memcmp
    - EXPECT_EQ
    - EXPECT_STREQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(iter, entry, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3061,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3062,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3062,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3063,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3064,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3066,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3067,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3068,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3069,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3070,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3071,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3071,1
    - Dst: std::fill_n
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3076,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3076,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3082,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3082,1
    - Dst: decode_get_downstream_firmware_parameters_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3086,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3088,1
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3096
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - std::array::data
    - ASSERT_EQ
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - EXPECT_EQ
    - pldm_msgbuf_complete
    - reinterpret_cast<pldm_msg*>
    - decode_get_downstream_firmware_parameters_resp
    - FAIL
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(GetDownstreamFirmwareParameters, decodeResponseInvalidLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3094
    functionName: foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - FAIL
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_downstream_device_parameters_entry(iter, entry, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3107,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3107,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3111,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3111,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3118,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3118,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3120,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3098
    functionDepth: 1
    functionLinenumber: 3098
    functionLinenumberEnd: 3133
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::data
    - reinterpret_cast<pldm_msg*>
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void TEST(RequestUpdate, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3143,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3143,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3147,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3147,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3151,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3154,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3154,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3161,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3169,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3172,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3172,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3179,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3181,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3185,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3188,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3192,1
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3193,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3193,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3196,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3201,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3205,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3210,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3219,1
    - Dst: encode_request_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3135
    functionDepth: 1
    functionLinenumber: 3135
    functionLinenumberEnd: 3228
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_request_update_req
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::data
    - reinterpret_cast<pldm_msg*>
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void TEST(RequestUpdate, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3240,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3240,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3245,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3246,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3248,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3249,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3250,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3251,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3255,1
    - Dst: encode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3262,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3264,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3265,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3265,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3266,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3266,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3266,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3267,1
    - Dst: check_response
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3268,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3280,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3280,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3281,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3282,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3284,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3230
    functionDepth: 1
    functionLinenumber: 3230
    functionLinenumberEnd: 3286
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - check_response
    - std::array::data
    - std::array::end
    - EXPECT_EQ
    - std::array::size
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - std::equal
    - decode_request_update_resp
    - reinterpret_cast<const pldm_msg*>
    - encode_request_update_resp
    linkageType: ''
    returnType: void
    signature: void TEST(RequestUpdate, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3296,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3296,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3301,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3302,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3304,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3306,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3307,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3309,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3311,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3312,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3314,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3316,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3319,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3321,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3323,1
    - Dst: decode_request_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3325,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3326,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3329
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - decode_request_update_resp
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(RequestUpdate, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3339,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3339,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3348,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3332
    functionDepth: 1
    functionLinenumber: 3332
    functionLinenumberEnd: 3356
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_request_downstream_device_update_req
    - EXPECT_EQ
    - std::array::data
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(RequestDownstreamDeviceUpdate, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3374,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3374,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3376,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3378,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3379,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3381,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3383,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3385,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3388,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3392,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3395,1
    - Dst: static_cast<size_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3398,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3399,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3401,1
    - Dst: static_cast<size_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3403,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3406,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3409,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3411,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3416,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3418,1
    - Dst: encode_request_downstream_device_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3420,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3360
    functionDepth: 1
    functionLinenumber: 3360
    functionLinenumberEnd: 3423
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::array::data
    - EXPECT_EQ
    - pldm_msg::pldm_msg
    - encode_request_downstream_device_update_req
    linkageType: ''
    returnType: void
    signature: void TEST(RequestDownstreamDeviceUpdate, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3437,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3437,1
    - Dst: decode_request_downstream_device_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3445,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3448,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3449,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3451,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3453,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3460,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3460,1
    - Dst: decode_request_downstream_device_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3468,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3427
    functionDepth: 1
    functionLinenumber: 3427
    functionLinenumberEnd: 3473
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - decode_request_downstream_device_update_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(RequestDownstreamDeviceUpdate, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3483,1
    - Dst: pldm_msg::pldm_msg
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3483,1
    - Dst: decode_request_downstream_device_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3491,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3493,1
    - Dst: decode_request_downstream_device_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3495,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3497,1
    - Dst: decode_request_downstream_device_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3499,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3477
    functionDepth: 1
    functionLinenumber: 3477
    functionLinenumberEnd: 3502
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::array::data
    - decode_request_downstream_device_update_resp
    - pldm_msg::pldm_msg
    linkageType: ''
    returnType: void
    signature: void TEST(RequestDownstreamDeviceUpdate, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3512,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3512,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3515,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3515,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3522,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3522,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3524,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3529,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3536,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3541,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3541,1
    - Dst: std::copy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3542,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3542,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3542,1
    - Dst: decode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3544,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3544,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3545,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3547,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3548,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3549,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3550,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3551,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3552,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3553,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3554,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3554,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3505
    functionDepth: 1
    functionLinenumber: 3505
    functionLinenumberEnd: 3558
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - EXPECT_TRUE
    - static_cast<uint8_t>
    - std::array::data
    - std::array::end
    - ASSERT_EQ
    - EXPECT_EQ
    - decode_pass_component_table_req
    - std::string_view::data
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - reinterpret_cast<pldm_msg*>
    - encode_pass_component_table_req
    - std::equal
    - std::string_view::size
    - std::array::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST(PassComponentTable, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3567,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3567,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3570,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3570,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3577,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3577,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3579,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3584,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3587,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3592,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3594,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3594,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3601,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3608,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3610,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3615,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3617,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3622,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3624,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3629,1
    - Dst: encode_pass_component_table_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3631,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3637
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - static_cast<uint8_t>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::data
    - reinterpret_cast<pldm_msg*>
    - encode_pass_component_table_req
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void TEST(PassComponentTable, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3646,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3646,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3652,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3656,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3657,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3658,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3659,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3666,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3666,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3667,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3671,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3672,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3673,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3674,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3681,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3681,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3683,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3687,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3639
    functionDepth: 1
    functionLinenumber: 3639
    functionLinenumberEnd: 3689
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_pass_component_table_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PassComponentTable, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3698,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3698,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3704,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3707,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3712,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3714,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3717,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3719,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3722,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3724,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3726,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3728,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3731,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3738,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3738,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3739,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3742,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3749,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3749,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3750,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3753,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3760,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3760,1
    - Dst: decode_pass_component_table_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3761,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3691
    functionDepth: 1
    functionLinenumber: 3691
    functionLinenumberEnd: 3765
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_pass_component_table_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(PassComponentTable, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3771,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3780,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3782,1
    - Dst: EXPECT_THAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3784,1
    - Dst: std::span<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3785,1
    - Dst: ElementsAreArray<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3788
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_pldm_fwup_update_security_revision_req
    - std::span<uint8_t>
    - ASSERT_EQ
    - PLDM_MSG_DEFINE_P
    - EXPECT_THAT
    - ElementsAreArray<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateSecurityRevision, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3794,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3805,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3807,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3811,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3813,1
    - Dst: encode_pldm_fwup_update_security_revision_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3817,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3820
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - PLDM_MSG_DEFINE_P
    - encode_pldm_fwup_update_security_revision_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateSecurityRevision, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3828,1
    - Dst: std::copy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3831,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3831,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3831,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3833,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3835,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3836,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3839,1
    - Dst: std::copy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3842,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3842,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3842,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3845,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3847,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3849
      start: 3822
    functionDepth: 1
    functionLinenumber: 3822
    functionLinenumberEnd: 3849
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_fwup_update_security_revision_resp
    - std::array::end
    - ASSERT_EQ
    - EXPECT_EQ
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateSecurityRevision, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3854,1
    - Dst: std::copy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3856,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3856,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3856,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3861,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3863,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3866,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3868,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3871,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3873,1
    - Dst: decode_pldm_fwup_update_security_revision_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3876,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3851
    functionDepth: 1
    functionLinenumber: 3851
    functionLinenumberEnd: 3879
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_fwup_update_security_revision_resp
    - std::array::end
    - EXPECT_EQ
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateSecurityRevision, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3890,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3890,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3893,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3893,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3900,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3900,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3902,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3907,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3915,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3920,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3920,1
    - Dst: std::copy
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3921,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3921,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3921,1
    - Dst: decode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3922,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3922,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3925,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3926,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3927,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3928,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3929,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3930,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3931,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3932,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3933,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3933,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3881
    functionDepth: 1
    functionLinenumber: 3881
    functionLinenumberEnd: 3937
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - encode_update_component_req
    - static_cast<uint8_t>
    - EXPECT_TRUE
    - std::array::data
    - std::array::end
    - ASSERT_EQ
    - EXPECT_EQ
    - std::string_view::data
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - reinterpret_cast<pldm_msg*>
    - decode_update_component_req
    - std::equal
    - std::string_view::size
    - std::array::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateComponent, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3948,1
    - Dst: std::string_view::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3948,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3951,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3951,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3958,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3958,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3960,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3965,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3968,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3973,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3975,1
    - Dst: std::string_view::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3975,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3977,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3982,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3984,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3989,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3991,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3996,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:3998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4003,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4005,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4010,1
    - Dst: encode_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4012,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4018
      start: 3939
    functionDepth: 1
    functionLinenumber: 3939
    functionLinenumberEnd: 4018
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - encode_update_component_req
    - static_cast<uint8_t>
    - std::array::data
    - EXPECT_EQ
    - std::string_view::data
    - reinterpret_cast<pldm_msg*>
    - std::string_view::size
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateComponent, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4029,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4029,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4037,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4042,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4043,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4044,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4045,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4046,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4047,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4056,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4056,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4063,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4064,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4065,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4066,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4067,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4073,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4073,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4075,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4082
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4082
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_update_component_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateComponent, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4092,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4092,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4104,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4106,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4110,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4116,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4122,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4124,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4128,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4130,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4134,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4136,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4140,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4142,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4146,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4153,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4153,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4154,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4158,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4165,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4165,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4166,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4170,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4177,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4177,1
    - Dst: decode_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4178,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4183
      start: 4084
    functionDepth: 1
    functionLinenumber: 4084
    functionLinenumberEnd: 4183
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_update_component_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UpdateComponent, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4194,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4194,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4198,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4202,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4203,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4205
      start: 4185
    functionDepth: 1
    functionLinenumber: 4185
    functionLinenumberEnd: 4205
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode_request_firmware_data_req
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(RequestFirmwareData, goodPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4214,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4214,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4218,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4221,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4223,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4226,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4231,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4236,1
    - Dst: decode_request_firmware_data_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4238,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4242
      start: 4207
    functionDepth: 1
    functionLinenumber: 4207
    functionLinenumberEnd: 4242
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode_request_firmware_data_req
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(RequestFirmwareData, errorPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4263,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4263,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4264,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4267,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4268,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4275,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4275,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4276,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4279,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4244
    functionDepth: 1
    functionLinenumber: 4244
    functionLinenumberEnd: 4281
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_request_firmware_data_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(RequestFirmwareData, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4287,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4287,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4288,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4289,1
    - Dst: encode_request_firmware_data_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4291,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4293
      start: 4283
    functionDepth: 1
    functionLinenumber: 4283
    functionLinenumberEnd: 4293
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_request_firmware_data_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(RequestFirmwareData, errorPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4302,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4302,1
    - Dst: decode_transfer_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4305,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4307,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4308,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4314,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4314,1
    - Dst: decode_transfer_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4315,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4317,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4295
    functionDepth: 1
    functionLinenumber: 4295
    functionLinenumberEnd: 4319
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_transfer_complete_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TransferComplete, goodPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4327,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4327,1
    - Dst: decode_transfer_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4330,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4331,1
    - Dst: decode_transfer_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4333,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4334,1
    - Dst: decode_transfer_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4336,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4321
    functionDepth: 1
    functionLinenumber: 4321
    functionLinenumberEnd: 4338
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_transfer_complete_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TransferComplete, errorPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4350,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4350,1
    - Dst: encode_transfer_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4351,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4353,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4354,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4362,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4362,1
    - Dst: encode_transfer_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4368
      start: 4340
    functionDepth: 1
    functionLinenumber: 4340
    functionLinenumberEnd: 4368
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_transfer_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TransferComplete, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4375,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4375,1
    - Dst: encode_transfer_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4376,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4377,1
    - Dst: encode_transfer_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4379,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4370
    functionDepth: 1
    functionLinenumber: 4370
    functionLinenumberEnd: 4381
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_transfer_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TransferComplete, errorPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4390,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4390,1
    - Dst: decode_verify_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4395,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4396,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4402,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4402,1
    - Dst: decode_verify_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4403,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4405,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 4383
    functionDepth: 1
    functionLinenumber: 4383
    functionLinenumberEnd: 4407
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_verify_complete_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(VerifyComplete, goodPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4414,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4414,1
    - Dst: decode_verify_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4418,1
    - Dst: decode_verify_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4420,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4421,1
    - Dst: decode_verify_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4423,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4425
      start: 4409
    functionDepth: 1
    functionLinenumber: 4409
    functionLinenumberEnd: 4425
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_verify_complete_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(VerifyComplete, errorPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4437,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4437,1
    - Dst: encode_verify_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4438,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4440,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4441,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4449,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4449,1
    - Dst: encode_verify_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4450,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4452,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4454
      start: 4427
    functionDepth: 1
    functionLinenumber: 4427
    functionLinenumberEnd: 4454
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_verify_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(VerifyComplete, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4461,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4461,1
    - Dst: encode_verify_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4462,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4463,1
    - Dst: encode_verify_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4467
      start: 4456
    functionDepth: 1
    functionLinenumber: 4456
    functionLinenumberEnd: 4467
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_verify_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(VerifyComplete, errorPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4479,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4479,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4485,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4486,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4487,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4495,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4495,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4496,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4499,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4500,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4469
    functionDepth: 1
    functionLinenumber: 4469
    functionLinenumberEnd: 4502
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode_apply_complete_req
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ApplyComplete, goodPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4509,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4509,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4513,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4516,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4518,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4520,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4522,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4524,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4526,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4528,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4534,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4534,1
    - Dst: decode_apply_complete_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4535,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4504
    functionDepth: 1
    functionLinenumber: 4504
    functionLinenumberEnd: 4539
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - decode_apply_complete_req
    - reinterpret_cast<const pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ApplyComplete, errorPathDecodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4551,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4551,1
    - Dst: encode_apply_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4552,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4554,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4555,1
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4563,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4563,1
    - Dst: encode_apply_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4564,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4566,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4541
    functionDepth: 1
    functionLinenumber: 4541
    functionLinenumberEnd: 4568
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_apply_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ApplyComplete, goodPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4575,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4575,1
    - Dst: encode_apply_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4576,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4577,1
    - Dst: encode_apply_complete_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4579,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4570
    functionDepth: 1
    functionLinenumber: 4570
    functionLinenumberEnd: 4581
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_apply_complete_resp
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ApplyComplete, errorPathEncodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4589,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4589,1
    - Dst: encode_activate_firmware_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4591,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4594,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4583
    functionDepth: 1
    functionLinenumber: 4583
    functionLinenumberEnd: 4599
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ActivateFirmware, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4605,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4605,1
    - Dst: encode_activate_firmware_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4607,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4610,1
    - Dst: encode_activate_firmware_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4612,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4614,1
    - Dst: encode_activate_firmware_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4616,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4619
      start: 4601
    functionDepth: 1
    functionLinenumber: 4601
    functionLinenumberEnd: 4619
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_activate_firmware_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ActivateFirmware, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4628,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4628,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4633,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4637,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4638,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4639,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4645,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4645,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4647,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4651,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4653
      start: 4621
    functionDepth: 1
    functionLinenumber: 4621
    functionLinenumberEnd: 4653
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_activate_firmware_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ActivateFirmware, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4661,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4661,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4666,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4669,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4671,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4674,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4676,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4679,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4683,1
    - Dst: decode_activate_firmware_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4685,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4689
      start: 4655
    functionDepth: 1
    functionLinenumber: 4655
    functionLinenumberEnd: 4689
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<const pldm_msg*>
    - decode_activate_firmware_resp
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ActivateFirmware, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4696,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4696,1
    - Dst: encode_get_status_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4698,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4700,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4691
    functionDepth: 1
    functionLinenumber: 4691
    functionLinenumberEnd: 4704
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStatus, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4710,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4710,1
    - Dst: encode_get_status_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4712,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4713,1
    - Dst: encode_get_status_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4717
      start: 4706
    functionDepth: 1
    functionLinenumber: 4706
    functionLinenumberEnd: 4717
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_get_status_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(GetStatus, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4727,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4727,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4738,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4739,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4743,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4744,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4745,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4746,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4747,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4748,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4749,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4750,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4751,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4762,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4762,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4764,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4765,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4769,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4770,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4771,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4772,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4774,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4775,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4776,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4777,1
    - Dst: PLDM_MSG_DEFINE_P
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4781,1
    - Dst: encode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4793,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4795,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4796,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4796,1
    - Dst: EXPECT_TRUE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4797,1
    - Dst: std::equal
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4797,1
    - Dst: std::array::begin
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4797,1
    - Dst: std::array::end
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4798,1
    - Dst: check_response
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4799,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4807,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4807,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4808,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4809,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4812,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4719
    functionDepth: 1
    functionLinenumber: 4719
    functionLinenumberEnd: 4814
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - check_response
    - std::array::data
    - std::array::end
    - EXPECT_EQ
    - std::array::size
    - std::array::begin
    - PLDM_MSG_DEFINE_P
    - encode_get_status_resp
    - std::equal
    - decode_get_status_resp
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetStatus, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4830,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4830,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4832,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4833,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4836,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4838,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4839,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4842,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4844,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4848,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4850,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4851,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4854,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4856,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4857,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4860,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4862,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4863,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4866,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4868,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4869,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4872,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4874,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4875,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4878,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4880,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4881,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4884,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4886,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4887,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4890,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4897,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4897,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4898,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4899,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4902,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4909,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4909,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4910,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4914,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4921,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4921,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4922,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4926,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4933,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4933,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4934,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4935,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4938,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4945,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4945,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4946,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4947,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4950,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4957,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4957,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4958,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4959,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4962,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4969,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4969,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4970,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4971,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4974,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4983,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4983,1
    - Dst: decode_get_status_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4984,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4985,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4816
    functionDepth: 1
    functionLinenumber: 4816
    functionLinenumberEnd: 4989
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - decode_get_status_resp
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(GetStatus, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4996,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4996,1
    - Dst: encode_cancel_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:4998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5000,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5004
      start: 4991
    functionDepth: 1
    functionLinenumber: 4991
    functionLinenumberEnd: 5004
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_cancel_update_component_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdateComponent, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5010,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5010,1
    - Dst: encode_cancel_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5012,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5014,1
    - Dst: encode_cancel_update_component_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5016,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 5006
    functionDepth: 1
    functionLinenumber: 5006
    functionLinenumberEnd: 5019
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - encode_cancel_update_component_req
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdateComponent, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5027,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5028,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5029,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5030,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5032,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5033,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5038,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5039,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5040,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5041,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5043,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5045
      start: 5021
    functionDepth: 1
    functionLinenumber: 5021
    functionLinenumberEnd: 5045
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - decode_cancel_update_component_resp
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdateComponent, testGoodDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5054,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5054,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5056,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5057,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5059,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5061,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5063,1
    - Dst: decode_cancel_update_component_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5065,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5066,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5047
    functionDepth: 1
    functionLinenumber: 5047
    functionLinenumberEnd: 5069
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - decode_cancel_update_component_resp
    - reinterpret_cast<const pldm_msg*>
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdateComponent, testBadDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5076,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5076,1
    - Dst: encode_cancel_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5071
    functionDepth: 1
    functionLinenumber: 5071
    functionLinenumberEnd: 5084
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdate, goodPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5090,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5090,1
    - Dst: encode_cancel_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5094,1
    - Dst: encode_cancel_update_req
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5099
      start: 5086
    functionDepth: 1
    functionLinenumber: 5086
    functionLinenumberEnd: 5099
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - encode_cancel_update_req
    - std::array::data
    - reinterpret_cast<pldm_msg*>
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdate, errorPathEncodeRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5109,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5109,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5113,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5114,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5116,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5117,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5118,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5120,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5129,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5129,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5130,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5131,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5134,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5137,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5144,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5144,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5145,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5146,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5150
      start: 5101
    functionDepth: 1
    functionLinenumber: 5101
    functionLinenumberEnd: 5150
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - reinterpret_cast<const pldm_msg*>
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdate, goodPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5158,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5158,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5163,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5164,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5166,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5168,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5171,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5173,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5174,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5176,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5178,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5179,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5181,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5183,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5184,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5186,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5192,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5192,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5193,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5194,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5196,1
    - Dst: reinterpret_cast<const pldm_msg*>
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5203,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5203,1
    - Dst: decode_cancel_update_resp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5204,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5205,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5152
    functionDepth: 1
    functionLinenumber: 5152
    functionLinenumberEnd: 5208
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    - reinterpret_cast<const pldm_msg*>
    - decode_cancel_update_resp
    linkageType: ''
    returnType: void
    signature: void TEST(CancelUpdate, errorPathDecodeResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5212,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5218,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5219,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5221,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5223,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5225,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5227,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5229,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5231,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5233,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5210
    functionDepth: 1
    functionLinenumber: 5210
    functionLinenumberEnd: 5236
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - EXPECT_EQ
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, badArguments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5258,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5238
    functionDepth: 1
    functionLinenumber: 5238
    functionLinenumberEnd: 5261
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, unsupportedPinVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5296,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5298,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5300,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5303
      start: 5263
    functionDepth: 1
    functionLinenumber: 5263
    functionLinenumberEnd: 5303
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, badPinRevision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5338,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5340,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5305
    functionDepth: 1
    functionLinenumber: 5305
    functionLinenumberEnd: 5345
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, badPinMagic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5353,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5354,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5356,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5359,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5360,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5363,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5383
      start: 5347
    functionDepth: 1
    functionLinenumber: 5347
    functionLinenumberEnd: 5383
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - EXPECT_EQ
    - LIBPLDM_SIZEAT
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, unsupportedPinIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5396,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5402,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5402,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5402,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5385
    functionDepth: 1
    functionLinenumber: 5385
    functionLinenumberEnd: 5405
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
    - std::array::data
    - EXPECT_EQ
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, oldConsumer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5430,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5438,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5438,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5438,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5440,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5442,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5442,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5442,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5444,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5446,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5451,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5451,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5452,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5452,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5452,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5453,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5456,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5457,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5459,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5459,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5462,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5463,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5464,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5473,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5475,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5475,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5479,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5480,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5481,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5489,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5497,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5501,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5503,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5504,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5512,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5516,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5518,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5520,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5522,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5523,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5525,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5527,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5528,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5528,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5534,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5537
      start: 5407
    functionDepth: 1
    functionLinenumber: 5407
    functionLinenumberEnd: 5537
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - decode_pldm_firmware_update_package
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, v1h1fd1fdd1cii)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5471,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5473,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5474,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5475,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5475,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5478,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5479,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5480,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5481,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5482,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5489,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5467
    functionDepth: 0
    functionLinenumber: 5467
    functionLinenumberEnd: 5500
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5489,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5490,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5496
      start: 5484
    functionDepth: 0
    functionLinenumber: 5484
    functionLinenumberEnd: 5496
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5512,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5514,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5516,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5518,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5520,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5522,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5523,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5525,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5527,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5528,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5533
      start: 5510
    functionDepth: 0
    functionLinenumber: 5510
    functionLinenumberEnd: 5533
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5562,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5569,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5569,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5569,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5571,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5573,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5573,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5573,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5575,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5577,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5582,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5582,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5583,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5583,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5583,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5584,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5587,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5588,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5589,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5590,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5590,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5593,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5594,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5595,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5596,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5602,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5604,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5605,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5606,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5606,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5610,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5611,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5612,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5613,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5620,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5621,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5628,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5632,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5634,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5635,1
    - Dst: foreach_pldm_package_downstream_device_id_record
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5637,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5639
      start: 5539
    functionDepth: 1
    functionLinenumber: 5539
    functionLinenumberEnd: 5639
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - foreach_pldm_package_downstream_device_id_record
    - decode_pldm_firmware_update_package
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, invalidDownstreamDeviceIteration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5602,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5603,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5604,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5605,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5606,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5606,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5609,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5610,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5611,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5612,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5613,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5620,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5621,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5631
      start: 5598
    functionDepth: 0
    functionLinenumber: 5598
    functionLinenumberEnd: 5631
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5620,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5621,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5627
      start: 5615
    functionDepth: 0
    functionLinenumber: 5615
    functionLinenumberEnd: 5627
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5665,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5675,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5675,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5675,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5677,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5679,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5679,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5679,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5681,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5683,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5688,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5688,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5689,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5689,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5689,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5690,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5693,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5694,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5695,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5696,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5696,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5699,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5700,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5701,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5702,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5710,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5711,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5712,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5712,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5716,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5717,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5718,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5719,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5726,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5734,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5738,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5740,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5741,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5752,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5756,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5758,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5759,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5767,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5769,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5771,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5775,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5777,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5778,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5780,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5782,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5783,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5783,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5789,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5641
    functionDepth: 1
    functionLinenumber: 5641
    functionLinenumberEnd: 5792
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
    - decode_pldm_firmware_update_package
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, p2v1h1fd1fdd1cii)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5708,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5709,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5710,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5711,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5712,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5712,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5715,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5716,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5717,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5718,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5719,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5726,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5737
      start: 5704
    functionDepth: 0
    functionLinenumber: 5704
    functionLinenumberEnd: 5737
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5726,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5727,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5721
    functionDepth: 0
    functionLinenumber: 5721
    functionLinenumberEnd: 5733
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5755
      start: 5743
    functionDepth: 0
    functionLinenumber: 5743
    functionLinenumberEnd: 5755
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 1
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5751
      start: 5747
    functionDepth: 0
    functionLinenumber: 5747
    functionLinenumberEnd: 5751
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(pkg,
      ddrec,\n                                                                    desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5767,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5769,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5771,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5773,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5775,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5777,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5778,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5780,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5782,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5783,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5788
      start: 5765
    functionDepth: 0
    functionLinenumber: 5765
    functionLinenumberEnd: 5788
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5829,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5839,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5839,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5839,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5841,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5843,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5843,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5843,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5845,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5847,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5852,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5852,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5853,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5853,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5853,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5854,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5857,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5858,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5859,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5860,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5860,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5863,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5864,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5865,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5866,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5872,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5873,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5874,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5875,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5876,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5876,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5879,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5880,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5881,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5882,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5883,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5890,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5891,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5898,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5902,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5904,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5905,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5913,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5914,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5916,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5917,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5921,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5924,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5925,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5926,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5927,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5934,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5935,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5942,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5946,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5948,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5949,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5982,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5983,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5984,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5986,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5988,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5989,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5991,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5993,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5995,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5996,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5999,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6002,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6002,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6008,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6011
      start: 5794
    functionDepth: 1
    functionLinenumber: 5794
    functionLinenumberEnd: 6011
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
    - decode_pldm_firmware_update_package
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::at
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, v2h1fd1fdd1dd1ddd2cii)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5872,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5873,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5874,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5875,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5876,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5876,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5879,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5880,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5881,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5882,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5883,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5890,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5891,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5901
      start: 5868
    functionDepth: 0
    functionLinenumber: 5868
    functionLinenumberEnd: 5901
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5890,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5891,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5897
      start: 5885
    functionDepth: 0
    functionLinenumber: 5885
    functionLinenumberEnd: 5897
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5911,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5912,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5913,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5914,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5916,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5917,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5921,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5923,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5924,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5925,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5926,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5927,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5934,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5935,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5907
    functionDepth: 0
    functionLinenumber: 5907
    functionLinenumberEnd: 5945
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5934,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5935,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5941
      start: 5929
    functionDepth: 0
    functionLinenumber: 5929
    functionLinenumberEnd: 5941
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(pkg,
      ddrec,\n                                                                    desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5982,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5983,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5984,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5986,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5988,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5989,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5991,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5993,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5995,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5996,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5998,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:5999,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6001,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6002,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6007
      start: 5976
    functionDepth: 0
    functionLinenumber: 5976
    functionLinenumberEnd: 6007
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - at
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR03H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6050,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6060,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6060,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6060,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6062,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6064,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6064,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6064,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6066,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6068,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6073,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6073,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6074,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6074,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6074,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6075,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6078,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6079,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6080,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6081,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6081,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6084,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6085,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6086,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6087,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6095,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6097,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6097,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6101,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6102,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6103,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6111,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6119,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6123,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6125,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6126,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6132,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6134,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6137,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6145,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6146,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6155,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6163,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6167,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6169,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6170,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6190,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6190,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6199,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6199,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6208,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6209,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6210,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6219,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6221,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6225,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6228,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6233,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6233,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6239,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6013
    functionDepth: 1
    functionLinenumber: 6013
    functionLinenumberEnd: 6242
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - decode_pldm_firmware_update_package
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR03H
    - EXPECT_NE
    - std::array::at
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, v3h1fd1fdd1dd1ddd2cii)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6093,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6094,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6095,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6096,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6097,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6097,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6100,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6101,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6102,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6103,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6104,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6111,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6122
      start: 6089
    functionDepth: 0
    functionLinenumber: 6089
    functionLinenumberEnd: 6122
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6111,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6112,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6118
      start: 6106
    functionDepth: 0
    functionLinenumber: 6106
    functionLinenumberEnd: 6118
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6132,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6133,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6134,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6135,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6137,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6138,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6142,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6144,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6145,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6146,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6147,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6148,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6155,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6166
      start: 6128
    functionDepth: 0
    functionLinenumber: 6128
    functionLinenumberEnd: 6166
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6155,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6156,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6162
      start: 6150
    functionDepth: 0
    functionLinenumber: 6150
    functionLinenumberEnd: 6162
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(pkg,
      ddrec,\n                                                                    desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6208,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6209,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6210,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6212,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6214,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6215,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6217,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6219,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6221,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6222,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6224,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6225,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6227,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6228,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6228,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6231,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6233,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6202
    functionDepth: 0
    functionLinenumber: 6202
    functionLinenumberEnd: 6238
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - at
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6283,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6293,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6293,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6293,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6295,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6297,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6297,1
    - Dst: data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6297,1
    - Dst: size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6299,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6301,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6306,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6306,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6307,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6307,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6307,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6308,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6311,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6312,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6313,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6314,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6314,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6317,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6318,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6319,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6320,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6329,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6330,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6331,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6332,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6332,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6336,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6337,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6339,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6342,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6351,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6359,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6363,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6365,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6366,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6374,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6379,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6384,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6387,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6388,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6393,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6403,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6411,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6415,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6417,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6418,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6438,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6438,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6447,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6447,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6456,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6457,1
    - Dst: std::array::at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6460,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6462,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6463,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6467,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6469,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6470,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6473,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6475,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6476,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6476,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6479,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6481,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6481,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6488,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6491
      start: 6244
    functionDepth: 1
    functionLinenumber: 6244
    functionLinenumberEnd: 6491
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - size
    - data
    - decode_pldm_firmware_update_package
    - std::array::data
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    - std::array::at
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, v4h1fd1fdd1dd1ddd2cii)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6328,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6329,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6330,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6331,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6332,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6332,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6335,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6336,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6337,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6338,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6339,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6340,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6342,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6342,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6351,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6362
      start: 6322
    functionDepth: 0
    functionLinenumber: 6322
    functionLinenumberEnd: 6362
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6351,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6352,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6358
      start: 6346
    functionDepth: 0
    functionLinenumber: 6346
    functionLinenumberEnd: 6358
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6374,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6375,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6376,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6377,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6379,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6380,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6384,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6386,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6387,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6388,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6389,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6390,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6391,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6393,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6393,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6403,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6414
      start: 6368
    functionDepth: 0
    functionLinenumber: 6368
    functionLinenumberEnd: 6414
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 1
    functionsReached:
    - EXPECT_NE
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6403,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6404,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6398
    functionDepth: 0
    functionLinenumber: 6398
    functionLinenumberEnd: 6410
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(pkg,
      ddrec,\n                                                                    desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6456,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6457,1
    - Dst: at
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6458,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6460,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6462,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6463,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6465,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6467,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6469,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6470,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6472,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6473,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6475,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6476,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6476,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6479,1
    - Dst: EXPECT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6481,1
    - Dst: memcmp
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6487
      start: 6450
    functionDepth: 0
    functionLinenumber: 6450
    functionLinenumberEnd: 6487
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - at
    - memcmp
    - ASSERT_EQ
    - EXPECT_EQ
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6530,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6535,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6535,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6535,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6537,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6543
      start: 6493
    functionDepth: 1
    functionLinenumber: 6493
    functionLinenumberEnd: 6543
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - std::array::data
    - ASSERT_EQ
    - EXPECT_NE
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, downstreamDeviceBeforeFirmwareDevice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6541
      start: 6539
    functionDepth: 0
    functionLinenumber: 6539
    functionLinenumberEnd: 6541
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6582,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6587,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6587,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6587,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6589,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6595
      start: 6545
    functionDepth: 1
    functionLinenumber: 6545
    functionLinenumberEnd: 6595
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - std::array::data
    - ASSERT_EQ
    - EXPECT_NE
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - std::array::size
    linkageType: ''
    returnType: void
    signature: void TEST(DecodePldmFirmwareUpdatePackage, componentImageInfosBeforeFirmwareDevice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6591
    functionDepth: 0
    functionLinenumber: 6591
    functionLinenumberEnd: 6593
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6636,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6641,1
    - Dst: std::array::data
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6641,1
    - Dst: std::array::size
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6641,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6643,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6653,1
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6655,1
    - Dst: EXPECT_NE
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6661
      start: 6597
    functionDepth: 1
    functionLinenumber: 6597
    functionLinenumberEnd: 6661
    functionName: TEST
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - decode_pldm_firmware_update_package
    - std::array::data
    - ASSERT_EQ
    - EXPECT_NE
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - std::array::size
    linkageType: ''
    returnType: void
    signature: "void TEST(DecodePldmFirmwareUpdatePackage,\n     p4v2ComponentImageInfosBeforeDownstreamDevice)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/libpldm/tests/unit/dsp/firmware_update.cpp:6653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6654
      start: 6645
    functionDepth: 0
    functionLinenumber: 6645
    functionLinenumberEnd: 6654
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6652
      start: 6649
    functionDepth: 0
    functionLinenumber: 6649
    functionLinenumberEnd: 6652
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(pkg,
      fdrec,\n                                                                  desc,
      rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6659
      start: 6657
    functionDepth: 0
    functionLinenumber: 6657
    functionLinenumberEnd: 6659
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tests/unit/dsp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:25,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:29,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:32,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - head
    - _buf
    - len
    - tail
    argTypes:
    - char*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: pd_print_bytes
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void pd_print_bytes(const char *head, const void *_buf, size_t len,\n\t\t\t
      \  const char *tail)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:44,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:48,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - head
    - field
    - tail
    argTypes:
    - char*
    - struct variable_field*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: pd_print_variable_field
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - fwrite
    - printf
    linkageType: ''
    returnType: void
    signature: "void pd_print_variable_field(const char *head,\n\t\t\t\t    const
      struct variable_field *field,\n\t\t\t\t    const char *tail)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pd_print_variable_field
      Src: /src/libpldm/tools/pd.c:62,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - head
    - type
    - string
    - tail
    argTypes:
    - char*
    - size_t
    - struct variable_field*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: pd_print_typed_string
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - pd_print_variable_field
    - printf
    linkageType: ''
    returnType: void
    signature: "void pd_print_typed_string(const char *head, size_t type,\n\t\t\t\t
      \ const struct variable_field *string,\n\t\t\t\t  const char *tail)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:75,1
    - Dst: assert
      Src: /src/libpldm/tools/pd.c:78,1
    - Dst: memcpy
      Src: /src/libpldm/tools/pd.c:83,1
    - Dst: le32toh
      Src: /src/libpldm/tools/pd.c:84,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:85,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:89,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - head
    - desc
    - tail
    argTypes:
    - char*
    - struct pldm_descriptor*
    - char*
    assertStmts:
    - condition: (desc)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/libpldm/tools/pd.c
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: pd_print_descriptor
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - le32toh
    - printf
    linkageType: ''
    returnType: void
    signature: "void pd_print_descriptor(const char *head,\n\t\t\t\tconst struct pldm_descriptor
      *desc,\n\t\t\t\tconst char *tail)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
      Src: /src/libpldm/tools/pd.c:104,1
    - Dst: calloc
      Src: /src/libpldm/tools/pd.c:116,1
    - Dst: err
      Src: /src/libpldm/tools/pd.c:118,1
    - Dst: fread
      Src: /src/libpldm/tools/pd.c:121,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/tools/pd.c:122,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:125,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:126,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:131,1
    - Dst: pd_print_bytes
      Src: /src/libpldm/tools/pd.c:132,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:134,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:136,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:142,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:143,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:145,1
    - Dst: pd_print_bytes
      Src: /src/libpldm/tools/pd.c:149,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:154,1
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:158,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:161,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:162,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:166,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:169,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:170,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:179,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:180,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:182,1
    - Dst: pd_print_bytes
      Src: /src/libpldm/tools/pd.c:187,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:191,1
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:195,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:198,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:199,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:203,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:206,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:207,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:214,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:215,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:217,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:219,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:221,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:223,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:225,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:228,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:231,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:234,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:235,1
    - Dst: free
      Src: /src/libpldm/tools/pd.c:241,1
    - Dst: exit
      Src: /src/libpldm/tools/pd.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - calloc
    - pd_print_descriptor
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
    - decode_pldm_firmware_update_package
    - pd_print_bytes
    - fwrite
    - exit
    - printf
    - free
    - strerrorname_np
    - pd_print_typed_string
    - fread
    - warnx
    - err
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:142,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:143,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:145,1
    - Dst: pd_print_bytes
      Src: /src/libpldm/tools/pd.c:149,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:154,1
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:158,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:161,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:162,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 167
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - pd_print_descriptor
    - pd_print_bytes
    - printf
    - strerrorname_np
    - pd_print_typed_string
    - fwrite
    - warnx
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_firmware_device_id_record(pkg, fdrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - pd_print_descriptor
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(\n\t\t\tpkg,
      fdrec, desc, rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:179,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:180,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:182,1
    - Dst: pd_print_bytes
      Src: /src/libpldm/tools/pd.c:187,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:191,1
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:195,1
    - Dst: warnx
      Src: /src/libpldm/tools/pd.c:198,1
    - Dst: strerrorname_np
      Src: /src/libpldm/tools/pd.c:199,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 1
    functionsReached:
    - pd_print_descriptor
    - pd_print_bytes
    - printf
    - strerrorname_np
    - pd_print_typed_string
    - fwrite
    - warnx
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_downstream_device_id_record(pkg, ddrec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pd_print_descriptor
      Src: /src/libpldm/tools/pd.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - pd_print_descriptor
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(\n\t\t\tpkg,
      ddrec, desc, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:214,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:215,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:217,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:219,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:221,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:223,1
    - Dst: printf
      Src: /src/libpldm/tools/pd.c:225,1
    - Dst: pd_print_typed_string
      Src: /src/libpldm/tools/pd.c:228,1
    - Dst: fwrite
      Src: /src/libpldm/tools/pd.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/tools/pd.c
    functionUses: 0
    functionsReached:
    - fwrite
    - pd_print_typed_string
    - printf
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - struct pldm_responder_cookie*
    - struct pldm_responder_cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: pldm_responder_cookie_eq
    functionSourceFile: /src/libpldm/src/responder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm_responder_cookie_eq(const struct pldm_responder_cookie *left,\n\t\t\t\t
      \    const struct pldm_responder_cookie *right)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_responder_cookie_eq
      Src: /src/libpldm/src/responder.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - jar
    - cookie
    argTypes:
    - struct pldm_responder_cookie*
    - struct pldm_responder_cookie*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 42
    functionName: pldm_responder_cookie_track
    functionSourceFile: /src/libpldm/src/responder.c
    functionUses: 3
    functionsReached:
    - pldm_responder_cookie_eq
    linkageType: ''
    returnType: int
    signature: "int pldm_responder_cookie_track(struct pldm_responder_cookie *jar,\n\t\t\t\tstruct
      pldm_responder_cookie *cookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_responder_cookie_eq
      Src: /src/libpldm/src/responder.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - jar
    - tid
    - instance_id
    - type
    - command
    argTypes:
    - struct pldm_responder_cookie*
    - pldm_tid_t
    - pldm_instance_id_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: pldm_responder_cookie_untrack
    functionSourceFile: /src/libpldm/src/responder.c
    functionUses: 4
    functionsReached:
    - pldm_responder_cookie_eq
    linkageType: ''
    returnType: struct pldm_responder_cookie
    signature: "struct pldm_responder_cookie *\npldm_responder_cookie_untrack(struct
      pldm_responder_cookie *jar, pldm_tid_t tid,\n\t\t\t      pldm_instance_id_t
      instance_id, uint8_t type,\n\t\t\t      uint8_t command)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/api.h:27,1
    - Dst: assert
      Src: /src/libpldm/src/api.h:45,1
    - Dst: assert
      Src: /src/libpldm/src/api.h:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts:
    - condition: (err < 0)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/libpldm/src/api.h
    - condition: (rc > 0)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/libpldm/src/api.h
    - condition: (false)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/libpldm/src/api.h
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: pldm_xlate_errno
    functionSourceFile: /src/libpldm/src/api.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: enum pldm_completion_codes
    signature: enum pldm_completion_codes pldm_xlate_errno(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libpldm/src/array.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32_extend
      Src: /src/libpldm/src/edac.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pldm_edac_crc32
    functionSourceFile: /src/libpldm/src/edac.c
    functionUses: 29
    functionsReached:
    - pldm_edac_crc32_extend
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_edac_crc32(const void *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - crc
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: pldm_edac_crc32_extend
    functionSourceFile: /src/libpldm/src/edac.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_edac_crc32_extend(const void *data, size_t
      size, uint32_t crc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/src/edac.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - expected
    - data
    - size
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: pldm_edac_crc32_validate
    functionSourceFile: /src/libpldm/src/edac.c
    functionUses: 0
    functionsReached:
    - pldm_edac_crc32
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_edac_crc32_validate(uint32_t expected, const
      void *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: pldm_edac_crc8
    functionSourceFile: /src/libpldm/src/edac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_edac_crc8(const void *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: PLDM__MSGBUF_DEFINE_P
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM__MSGBUF_DEFINE_P(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: PLDM_MSGBUF_RO_DEFINE_P
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSGBUF_RO_DEFINE_P(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: PLDM_MSGBUF_RW_DEFINE_P
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSGBUF_RW_DEFINE_P(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - minsize
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: pldm_msgbuf_init_errno
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 198
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_init_errno(ctx, minsize, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: pldm_msgbuf_discard
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_discard(ctx, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: pldm_msgbuf_complete
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_complete(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: pldm_msgbuf_complete_consumed
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_complete_consumed(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pldm_msgbuf_validate
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_validate(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: pldm_msgbuf_consumed
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_consumed(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: pldm__msgbuf_invalidate
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm__msgbuf_invalidate(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - required
    - ','
    - cursor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: pldm_msgbuf_span_required
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_span_required(ctx, required, cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - trailer
    - ','
    - cursor
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: pldm_msgbuf_span_until
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_span_until(ctx, trailer, cursor, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - cursor
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: pldm_msgbuf_span_string_utf16
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_span_string_utf16(ctx, cursor, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - cursor
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: pldm_msgbuf_span_remaining
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_span_remaining(ctx, cursor, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - cursor
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: pldm_msgbuf_span_string_ascii
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_span_string_ascii(ctx, cursor, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ty
    - ','
    - fn
    - ','
    - dst
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: pldm_msgbuf_extract_typecheck
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_typecheck(ty, fn, dst, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pldm_msgbuf_extract_uint8
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint8(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pldm_msgbuf_extract_int8
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int8(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: pldm_msgbuf_extract_uint16
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint16(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pldm_msgbuf_extract_int16
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int16(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pldm_msgbuf_extract_uint32
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: pldm_msgbuf_extract_int32
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_int32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pldm_msgbuf_extract_real32
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_real32(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: pldm_msgbuf_extract
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: pldm_msgbuf_extract_p
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_p(ctx, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: pldm_msgbuf_insert
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_insert(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - count
    - ','
    - src
    - ','
    - src_count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: pldm_msgbuf_insert_array
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_insert_array(dst, count, src, src_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: pldm_msgbuf_field_begin
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_field_begin(ctx, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: pldm_msgbuf_field_end
    functionSourceFile: /src/libpldm/src/msgbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_field_end(ctx, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: LIBPLDM_CC_CLEANUP
    functionSourceFile: /src/libpldm/src/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBPLDM_CC_CLEANUP(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: LIBPLDM_CC_NONNULL_ARGS
    functionSourceFile: /src/libpldm/src/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBPLDM_CC_NONNULL_ARGS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pldm_require_obj_type
    functionSourceFile: /src/libpldm/src/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_require_obj_type(obj, type)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - month
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 35
    functionName: day_map
    functionSourceFile: /src/libpldm/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int day_map(uint8_t month)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: day_map
      Src: /src/libpldm/src/utils.c:43,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 6
    argNames:
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: is_time_legal
    functionSourceFile: /src/libpldm/src/utils.c
    functionUses: 1
    functionsReached:
    - day_map
    linkageType: ''
    returnType: bool
    signature: "bool is_time_legal(uint8_t seconds, uint8_t minutes, uint8_t hours,
      uint8_t day,\n\t\t   uint8_t month, uint16_t year)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - transfer_flag
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: is_transfer_flag_valid
    functionSourceFile: /src/libpldm/src/utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_transfer_flag_valid(uint8_t transfer_flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_cc_only_resp
      Src: /src/libpldm/src/control.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ccode
    - req_hdr
    - resp
    - resp_payload_len
    argTypes:
    - uint8_t
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: pldm_control_reply_error
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - encode_cc_only_resp
    linkageType: ''
    returnType: int
    signature: "int pldm_control_reply_error(uint8_t ccode,\n\t\t\t\t    const struct
      pldm_header_info *req_hdr,\n\t\t\t\t    struct pldm_msg *resp,\n\t\t\t\t    size_t
      *resp_payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:60,1
    - Dst: encode_pldm_base_get_tid_resp
      Src: /src/libpldm/src/control.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: pldm_control_get_tid
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_tid_resp
    - pldm_control_reply_error
    linkageType: ''
    returnType: int
    signature: "int pldm_control_get_tid(const struct pldm_header_info *hdr,\n\t\t\t\tconst
      struct pldm_msg *req LIBPLDM_CC_UNUSED,\n\t\t\t\tsize_t req_payload_len, struct
      pldm_msg *resp,\n\t\t\t\tsize_t *resp_payload_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_version_req
      Src: /src/libpldm/src/control.c:80,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:83,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:89,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:104,1
    - Dst: encode_get_version_resp
      Src: /src/libpldm/src/control.c:118,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 6
    argNames:
    - control
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_control*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 126
    functionName: pldm_control_get_version
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - encode_get_version_resp
    - decode_get_version_req
    - pldm_control_reply_error
    linkageType: ''
    returnType: int
    signature: "int pldm_control_get_version(struct pldm_control *control,\n\t\t\t\t
      \   const struct pldm_header_info *hdr,\n\t\t\t\t    const struct pldm_msg *req,\n\t\t\t\t
      \   size_t req_payload_len,\n\t\t\t\t    struct pldm_msg *resp,\n\t\t\t\t    size_t
      *resp_payload_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:137,1
    - Dst: encode_pldm_base_get_pldm_types_resp
      Src: /src/libpldm/src/control.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - control
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_control*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: pldm_control_get_types
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - encode_pldm_base_get_pldm_types_resp
    - pldm_control_reply_error
    linkageType: ''
    returnType: int
    signature: "int pldm_control_get_types(struct pldm_control *control,\n\t\t\t\t
      \ const struct pldm_header_info *hdr,\n\t\t\t\t  const struct pldm_msg *req
      LIBPLDM_CC_UNUSED,\n\t\t\t\t  size_t req_payload_len, struct pldm_msg *resp,\n\t\t\t\t
      \ size_t *resp_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_commands_req
      Src: /src/libpldm/src/control.c:165,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:167,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:181,1
    - Dst: encode_get_commands_resp
      Src: /src/libpldm/src/control.c:193,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - control
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_control*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 200
    functionName: pldm_control_get_commands
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - encode_get_commands_resp
    - decode_get_commands_req
    - pldm_control_reply_error
    linkageType: ''
    returnType: int
    signature: "int pldm_control_get_commands(struct pldm_control *control,\n\t\t\t\t
      \    const struct pldm_header_info *hdr,\n\t\t\t\t     const struct pldm_msg
      *req,\n\t\t\t\t     size_t req_payload_len,\n\t\t\t\t     struct pldm_msg *resp,\n\t\t\t\t
      \    size_t *resp_payload_len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header
      Src: /src/libpldm/src/control.c:223,1
    - Dst: pldm_control_get_tid
      Src: /src/libpldm/src/control.c:240,1
    - Dst: pldm_control_get_version
      Src: /src/libpldm/src/control.c:244,1
    - Dst: pldm_control_get_types
      Src: /src/libpldm/src/control.c:249,1
    - Dst: pldm_control_get_commands
      Src: /src/libpldm/src/control.c:253,1
    - Dst: pldm_control_reply_error
      Src: /src/libpldm/src/control.c:258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - control
    - req_msg
    - req_len
    - resp_msg
    - resp_len
    argTypes:
    - struct pldm_control*
    - void*
    - size_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 267
    functionName: pldm_control_handle_msg
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - pldm_control_get_version
    - pldm_control_get_commands
    - pldm_control_get_tid
    - unpack_pldm_header
    - pldm_control_reply_error
    - pldm_control_get_types
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_control_handle_msg(struct pldm_control *control,
      const void *req_msg,\n\t\t\t    size_t req_len, void *resp_msg, size_t *resp_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpldm/src/control.c:278,1
    - Dst: pldm_control_add_type
      Src: /src/libpldm/src/control.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - control
    - pldm_control_size
    argTypes:
    - struct pldm_control*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: pldm_control_setup
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 0
    functionsReached:
    - memset
    - pldm_control_add_type
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_control_setup(struct pldm_control *control,
      size_t pldm_control_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - control
    - pldm_type
    - versions
    - versions_count
    - commands
    argTypes:
    - struct pldm_control*
    - uint8_t
    - void*
    - size_t
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 321
    functionName: pldm_control_add_type
    functionSourceFile: /src/libpldm/src/control.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_control_add_type(struct pldm_control *control,
      uint8_t pldm_type,\n\t\t\t  const void *versions, size_t versions_count,\n\t\t\t
      \ const bitfield8_t *commands)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bcd
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: pldm_bcd_bcd2dec8
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_bcd2dec8(uint8_t bcd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: pldm_bcd_dec2bcd8
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_dec2bcd8(uint8_t dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/bcd.c:19,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/bcd.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bcd
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: pldm_bcd_bcd2dec16
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 6
    functionsReached:
    - pldm_bcd_bcd2dec8
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_bcd2dec16(uint16_t bcd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/bcd.c:26,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/bcd.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: pldm_bcd_dec2bcd16
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 1
    functionsReached:
    - pldm_bcd_dec2bcd8
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_dec2bcd16(uint16_t dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/src/bcd.c:33,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/src/bcd.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bcd
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: pldm_bcd_bcd2dec32
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 1
    functionsReached:
    - pldm_bcd_bcd2dec16
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_bcd2dec32(uint32_t bcd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bcd_dec2bcd16
      Src: /src/libpldm/src/bcd.c:40,1
    - Dst: pldm_bcd_dec2bcd16
      Src: /src/libpldm/src/bcd.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dec
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: pldm_bcd_dec2bcd32
    functionSourceFile: /src/libpldm/src/bcd.c
    functionUses: 1
    functionsReached:
    - pldm_bcd_dec2bcd16
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bcd_dec2bcd32(uint32_t dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _Static_assert
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _Static_assert(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - LIBPLDM_CC_UNUSED
    argTypes:
    - void*
    - intmax_t
    assertStmts:
    - condition: (cursor == NULL && remaining == INTMAX_MIN)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: pldm__msgbuf_cleanup
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_cleanup(const void *cursor LIBPLDM_CC_UNUSED,\n\t\t\t
      \ intmax_t remaining LIBPLDM_CC_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_cleanup
      Src: /src/libpldm/src/msgbuf/core.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: pldm__msgbuf_rw_cleanup
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_cleanup
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_rw_cleanup(struct pldm_msgbuf_rw *ctx
      LIBPLDM_CC_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_cleanup
      Src: /src/libpldm/src/msgbuf/core.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: pldm__msgbuf_ro_cleanup
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_cleanup
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_ro_cleanup(struct pldm_msgbuf_ro *ctx
      LIBPLDM_CC_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - intmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: pldm__msgbuf_set_invalid
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_set_invalid(intmax_t *remaining)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: pldm__msgbuf_rw_invalidate
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_set_invalid
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_rw_invalidate(struct pldm_msgbuf_rw
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: pldm__msgbuf_ro_invalidate
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_set_invalid
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_ro_invalidate(struct pldm_msgbuf_ro
      *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:138,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:143,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - cursor
    - remaining
    - minsize
    - buf
    - len
    argTypes:
    - uint8_t**
    - intmax_t*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: pldm__msgbuf_init_errno
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    linkageType: ''
    returnType: int
    signature: "int pldm__msgbuf_init_errno(const uint8_t **cursor, intmax_t *remaining,\n\t\t\tsize_t
      minsize, const void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_init_errno
      Src: /src/libpldm/src/msgbuf/core.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - minsize
    - buf
    - len
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: pldm_msgbuf_rw_init_errno
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_init_errno
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_rw_init_errno(struct pldm_msgbuf_rw *ctx, size_t minsize,\n\t\t\t
      \ const void *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_init_errno
      Src: /src/libpldm/src/msgbuf/core.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - minsize
    - buf
    - len
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: pldm_msgbuf_ro_init_errno
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_init_errno
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_ro_init_errno(struct pldm_msgbuf_ro *ctx, size_t minsize,\n\t\t\t
      \ const void *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_validate
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: 'LIBPLDM_CC_NONNULL LIBPLDM_CC_ALWAYS_INLINE

      LIBPLDM_CC_WARN_UNUSED_RESULT

      // NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)

      int pldm__msgbuf_validate(intmax_t remaining)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_validate
      Src: /src/libpldm/src/msgbuf/core.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: pldm_msgbuf_ro_validate
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_validate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_ro_validate(struct pldm_msgbuf_ro *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_validate
      Src: /src/libpldm/src/msgbuf/core.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: pldm_msgbuf_rw_validate
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_validate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_rw_validate(struct pldm_msgbuf_rw *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - remaining
    argTypes:
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_consumed
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: 'LIBPLDM_CC_NONNULL LIBPLDM_CC_ALWAYS_INLINE

      LIBPLDM_CC_WARN_UNUSED_RESULT

      // NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)

      int pldm__msgbuf_consumed(intmax_t remaining)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_consumed
      Src: /src/libpldm/src/msgbuf/core.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: pldm_msgbuf_ro_consumed
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_ro_consumed(struct pldm_msgbuf_ro *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_consumed
      Src: /src/libpldm/src/msgbuf/core.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: pldm_msgbuf_rw_consumed
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_rw_consumed(struct pldm_msgbuf_rw *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cursor
    - remaining
    - error
    argTypes:
    - uint8_t**
    - intmax_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_discard
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: 'LIBPLDM_CC_NONNULL LIBPLDM_CC_ALWAYS_INLINE

      LIBPLDM_CC_WARN_UNUSED_RESULT

      // NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)

      int pldm__msgbuf_discard(const uint8_t **cursor, intmax_t *remaining, int error)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_discard
      Src: /src/libpldm/src/msgbuf/core.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - struct pldm_msgbuf_rw*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: pldm_msgbuf_rw_discard
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_discard
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_rw_discard(struct pldm_msgbuf_rw *ctx,
      int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_discard
      Src: /src/libpldm/src/msgbuf/core.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - error
    argTypes:
    - struct pldm_msgbuf_ro*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: pldm_msgbuf_ro_discard
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_discard
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_ro_discard(struct pldm_msgbuf_ro *ctx,
      int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_discard
      Src: /src/libpldm/src/msgbuf/core.h:338,1
    - Dst: pldm_msgbuf_rw_validate
      Src: /src/libpldm/src/msgbuf/core.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: pldm_msgbuf_rw_complete
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm_msgbuf_rw_discard
    - pldm_msgbuf_rw_validate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_rw_complete(struct pldm_msgbuf_rw *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_discard
      Src: /src/libpldm/src/msgbuf/core.h:353,1
    - Dst: pldm_msgbuf_ro_validate
      Src: /src/libpldm/src/msgbuf/core.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: pldm_msgbuf_ro_complete
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm_msgbuf_ro_validate
    - pldm_msgbuf_ro_discard
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_ro_complete(struct pldm_msgbuf_ro *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_discard
      Src: /src/libpldm/src/msgbuf/core.h:372,1
    - Dst: pldm_msgbuf_rw_consumed
      Src: /src/libpldm/src/msgbuf/core.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_rw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: pldm_msgbuf_rw_complete_consumed
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm_msgbuf_rw_discard
    - pldm_msgbuf_rw_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_rw_complete_consumed(struct pldm_msgbuf_rw
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_discard
      Src: /src/libpldm/src/msgbuf/core.h:391,1
    - Dst: pldm_msgbuf_ro_consumed
      Src: /src/libpldm/src/msgbuf/core.h:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: pldm_msgbuf_ro_complete_consumed
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm_msgbuf_ro_discard
    - pldm_msgbuf_ro_consumed
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_ro_complete_consumed(struct pldm_msgbuf_ro
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:490,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:491,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: pldm__msgbuf_extract_uint8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint8(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:511,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:512,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 524
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 524
    functionName: pldm__msgbuf_extract_int8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_int8(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:540,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:544,1
    - Dst: le16toh
      Src: /src/libpldm/src/msgbuf/core.h:547,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:550,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: pldm__msgbuf_extract_uint16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - le16toh
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint16(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:578,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:579,1
    - Dst: le16toh
      Src: /src/libpldm/src/msgbuf/core.h:580,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:581,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 593
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 593
    functionName: pldm__msgbuf_extract_int16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - le16toh
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_int16(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:608,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:609,1
    - Dst: le32toh
      Src: /src/libpldm/src/msgbuf/core.h:610,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:611,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 623
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 623
    functionName: pldm__msgbuf_extract_uint32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - le32toh
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint32(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:638,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:639,1
    - Dst: le32toh
      Src: /src/libpldm/src/msgbuf/core.h:640,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:641,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 653
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 653
    functionName: pldm__msgbuf_extract_int32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - le32toh
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_int32(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:671,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:672,1
    - Dst: le32toh
      Src: /src/libpldm/src/msgbuf/core.h:673,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:674,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - void*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 670
        line_start: 670
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 686
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 686
    functionName: pldm__msgbuf_extract_real32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - memcpy
    - pldm__msgbuf_ro_invalidate
    - le32toh
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_real32(struct pldm_msgbuf_ro
      *ctx, void *dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:705,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:710,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:711,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - count
    - dst
    - dst_count
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void*
    - size_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 709
        line_start: 709
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 723
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 723
    functionName: pldm__msgbuf_extract_array_void
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - pldm__msgbuf_ro_invalidate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm__msgbuf_extract_array_void(struct pldm_msgbuf_ro
      *ctx, size_t count,\n\t\t\t\tvoid *dst, size_t dst_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_array_void
      Src: /src/libpldm/src/msgbuf/core.h:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - count
    - dst
    - dst_count
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 728
    functionDepth: 3
    functionLinenumber: 728
    functionLinenumberEnd: 735
    functionName: pldm_msgbuf_extract_array_char
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 5
    functionsReached:
    - pldm__msgbuf_extract_array_void
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_extract_array_char(struct pldm_msgbuf_ro
      *ctx, size_t count,\n\t\t\t       char *dst, size_t dst_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_array_void
      Src: /src/libpldm/src/msgbuf/core.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - count
    - dst
    - dst_count
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 747
    functionName: pldm_msgbuf_extract_array_uint8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 7
    functionsReached:
    - pldm__msgbuf_extract_array_void
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_extract_array_uint8(struct pldm_msgbuf_ro
      *ctx, size_t count,\n\t\t\t\tuint8_t *dst, size_t dst_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - count
    - ','
    - dst
    - ','
    - dst_count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: pldm_msgbuf_extract_array
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_array(ctx, count, dst, dst_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole64
      Src: /src/libpldm/src/msgbuf/core.h:772,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:780,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:781,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - uint64_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 793
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 793
    functionName: pldm_msgbuf_insert_uint64
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - htole64
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_uint64(struct pldm_msgbuf_rw
      *ctx, const uint64_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:800,1
    - Dst: htole32
      Src: /src/libpldm/src/msgbuf/core.h:801,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:809,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:810,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - real32_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: pldm_msgbuf_insert_real32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - htole32
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_real32(struct pldm_msgbuf_rw
      *ctx, const real32_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/src/msgbuf/core.h:828,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:836,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:837,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - uint32_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 835
        line_start: 835
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 849
      start: 824
    functionDepth: 2
    functionLinenumber: 824
    functionLinenumberEnd: 849
    functionName: pldm_msgbuf_insert_uint32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 40
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - htole32
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_uint32(struct pldm_msgbuf_rw
      *ctx, const uint32_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/src/msgbuf/core.h:855,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:863,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:864,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - uint16_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 876
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 876
    functionName: pldm_msgbuf_insert_uint16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 35
    functionsReached:
    - htole16
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_uint16(struct pldm_msgbuf_rw
      *ctx, const uint16_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:888,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:889,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - uint8_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 887
        line_start: 887
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 901
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 901
    functionName: pldm_msgbuf_insert_uint8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 55
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_uint8(struct pldm_msgbuf_rw *ctx,
      const uint8_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/src/msgbuf/core.h:907,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:915,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:916,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - int32_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 928
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 928
    functionName: pldm_msgbuf_insert_int32
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 3
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - htole32
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_int32(struct pldm_msgbuf_rw *ctx,
      const int32_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/src/msgbuf/core.h:934,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:942,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:943,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - int16_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 941
        line_start: 941
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 955
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 955
    functionName: pldm_msgbuf_insert_int16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 2
    functionsReached:
    - htole16
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_msgbuf_insert_int16(struct pldm_msgbuf_rw *ctx,
      const int16_t src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:967,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:968,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - int8_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 980
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 980
    functionName: pldm_msgbuf_insert_int8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 2
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_insert_int8(struct pldm_msgbuf_rw *ctx,\n\t\t\t\t\t\t
      \    const int8_t src)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:999,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1004,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:1005,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - count
    - src
    - src_count
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void*
    - size_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1017
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1017
    functionName: pldm__msgbuf_insert_array_void
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 2
    functionsReached:
    - memcpy
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm__msgbuf_insert_array_void(struct pldm_msgbuf_rw
      *ctx, size_t count,\n\t\t\t       const void *src, size_t src_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/src/msgbuf/core.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - count
    - src
    - src_count
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: pldm_msgbuf_insert_array_char
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 3
    functionsReached:
    - pldm__msgbuf_insert_array_void
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_insert_array_char(struct pldm_msgbuf_rw
      *ctx, size_t count,\n\t\t\t      const char *src, size_t src_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/src/msgbuf/core.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - count
    - src
    - src_count
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: pldm_msgbuf_insert_array_uint8
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 23
    functionsReached:
    - pldm__msgbuf_insert_array_void
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_insert_array_uint8(struct pldm_msgbuf_rw
      *ctx, size_t count,\n\t\t\t       const uint8_t *src, size_t src_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1045,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1050,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - remaining
    - required
    - cursor
    argTypes:
    - uint8_t**
    - intmax_t*
    - size_t
    - void**
    assertStmts:
    - condition: (*buf)
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1065
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1065
    functionName: pldm__msgbuf_span_required
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    - assert
    linkageType: ''
    returnType: int
    signature: "int pldm__msgbuf_span_required(const uint8_t **buf, intmax_t *remaining,\n\t\t\t
      \  size_t required, const void **cursor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_required
      Src: /src/libpldm/src/msgbuf/core.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - required
    - cursor
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1074
    functionName: pldm_msgbuf_ro_span_required
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_required
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_ro_span_required(struct pldm_msgbuf_ro *ctx, size_t
      required,\n\t\t\t     const void **cursor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_required
      Src: /src/libpldm/src/msgbuf/core.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - required
    - cursor
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1084
    functionName: pldm_msgbuf_rw_span_required
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_required
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_rw_span_required(struct pldm_msgbuf_rw *ctx, size_t
      required,\n\t\t\t     void **cursor)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1095,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1097,1
    - Dst: strnlen
      Src: /src/libpldm/src/msgbuf/core.h:1099,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1101,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1108,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - remaining
    - cursor
    - length
    argTypes:
    - uint8_t**
    - intmax_t*
    - void**
    - size_t*
    assertStmts:
    - condition: (*buf)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/libpldm/src/msgbuf/core.h
    - condition: (*buf)
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1129
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1129
    functionName: pldm__msgbuf_span_string_ascii
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    - strnlen
    - assert
    linkageType: ''
    returnType: int
    signature: "int pldm__msgbuf_span_string_ascii(const uint8_t **buf, intmax_t *remaining,\n\t\t\t
      \      const void **cursor, size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_string_ascii
      Src: /src/libpldm/src/msgbuf/core.h:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1139
    functionName: pldm_msgbuf_rw_span_string_ascii
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_string_ascii
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_rw_span_string_ascii(struct pldm_msgbuf_rw *ctx, void
      **cursor,\n\t\t\t\t size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_string_ascii
      Src: /src/libpldm/src/msgbuf/core.h:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1148
    functionName: pldm_msgbuf_ro_span_string_ascii
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_string_ascii
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_ro_span_string_ascii(struct pldm_msgbuf_ro *ctx,\n\t\t\t\t
      const void **cursor, size_t *length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1161,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1163,1
    - Dst: memmem
      Src: /src/libpldm/src/msgbuf/core.h:1180,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1189,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1197,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1202,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - buf
    - remaining
    - cursor
    - length
    argTypes:
    - uint8_t**
    - intmax_t*
    - void**
    - size_t*
    assertStmts:
    - condition: (*buf)
      pos:
        line_end: 1162
        line_start: 1162
        source_file: /src/libpldm/src/msgbuf/core.h
    - condition: (*buf)
      pos:
        line_end: 1201
        line_start: 1201
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1223
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1223
    functionName: pldm__msgbuf_span_string_utf16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    - memmem
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_span_string_utf16(const uint8_t
      **buf, intmax_t *remaining,\n\t\t\t\t   const void **cursor, size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_string_utf16
      Src: /src/libpldm/src/msgbuf/core.h:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1232
    functionName: pldm_msgbuf_ro_span_string_utf16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_string_utf16
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_ro_span_string_utf16(struct pldm_msgbuf_ro *ctx,\n\t\t\t\t
      const void **cursor, size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_string_utf16
      Src: /src/libpldm/src/msgbuf/core.h:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    functionName: pldm_msgbuf_rw_span_string_utf16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_string_utf16
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_rw_span_string_utf16(struct pldm_msgbuf_rw *ctx, void
      **cursor,\n\t\t\t\t size_t *length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - remaining
    - cursor
    - len
    argTypes:
    - uint8_t**
    - intmax_t*
    - void**
    - size_t*
    assertStmts:
    - condition: (*buf)
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1261
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1261
    functionName: pldm__msgbuf_span_remaining
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm__msgbuf_span_remaining(const uint8_t **buf,
      intmax_t *remaining,\n\t\t\t    const void **cursor, size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_remaining
      Src: /src/libpldm/src/msgbuf/core.h:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - len
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: pldm_msgbuf_rw_span_remaining
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_remaining
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_rw_span_remaining(struct pldm_msgbuf_rw
      *ctx, void **cursor,\n\t\t\t      size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_remaining
      Src: /src/libpldm/src/msgbuf/core.h:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cursor
    - len
    argTypes:
    - struct pldm_msgbuf_ro*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1280
    functionName: pldm_msgbuf_ro_span_remaining
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_remaining
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_ro_span_remaining(struct pldm_msgbuf_ro
      *ctx, const void **cursor,\n\t\t\t      size_t *len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1290,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1297,1
    - Dst: pldm__msgbuf_set_invalid
      Src: /src/libpldm/src/msgbuf/core.h:1316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - buf
    - remaining
    - trailer
    - cursor
    - length
    argTypes:
    - uint8_t**
    - intmax_t*
    - size_t
    - void**
    - size_t*
    assertStmts:
    - condition: (*buf)
      pos:
        line_end: 1296
        line_start: 1296
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1317
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1317
    functionName: pldm__msgbuf_span_until
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_set_invalid
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_span_until(const uint8_t **buf,
      intmax_t *remaining,\n\t\t\t    size_t trailer, const void **cursor, size_t
      *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_until
      Src: /src/libpldm/src/msgbuf/core.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - trailer
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1326
    functionName: pldm_msgbuf_ro_span_until
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_until
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_ro_span_until(struct pldm_msgbuf_ro *ctx, size_t trailer,\n\t\t\t
      \     const void **cursor, size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_span_until
      Src: /src/libpldm/src/msgbuf/core.h:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - trailer
    - cursor
    - length
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1336
    functionName: pldm_msgbuf_rw_span_until
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 1
    functionsReached:
    - pldm__msgbuf_span_until
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_rw_span_until(struct pldm_msgbuf_rw *ctx, size_t trailer,\n\t\t\t
      \     void **cursor, size_t *length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cursor
    - len
    argTypes:
    - struct pldm_msgbuf_rw*
    - void**
    - size_t*
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 1346
        line_start: 1346
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1352
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1352
    functionName: pldm_msgbuf_peek_remaining
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_peek_remaining(struct pldm_msgbuf_rw
      *ctx, void **cursor,\n\t\t\t   size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1360,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1365,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - count
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    assertStmts:
    - condition: (ctx->cursor)
      pos:
        line_end: 1364
        line_start: 1364
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1377
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1377
    functionName: pldm_msgbuf_skip
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_rw_invalidate
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_skip(struct pldm_msgbuf_rw *ctx,\n\t\t\t\t\t
      \     size_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_rw_validate
      Src: /src/libpldm/src/msgbuf/core.h:1403,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1405,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1411,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - orig_len
    - ret_used_len
    argTypes:
    - struct pldm_msgbuf_rw*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1417
    functionName: pldm_msgbuf_complete_used
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_rw_invalidate
    - pldm_msgbuf_rw_validate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_complete_used(struct pldm_msgbuf_rw
      *ctx, size_t orig_len,\n\t\t\t      size_t *ret_used_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1431
    functionName: pldm_msgbuf_copy
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_copy(dst, src, type, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1439,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1440,1
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1447,1
    - Dst: memcpy
      Src: /src/libpldm/src/msgbuf/core.h:1448,1
    - Dst: pldm__msgbuf_ro_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1459,1
    - Dst: pldm__msgbuf_rw_invalidate
      Src: /src/libpldm/src/msgbuf/core.h:1465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - dst
    - src
    - size
    - description LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_msgbuf_rw*
    - struct pldm_msgbuf_ro*
    - size_t
    - char*
    assertStmts:
    - condition: (src->cursor && dst->cursor)
      pos:
        line_end: 1446
        line_start: 1446
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1469
      start: 1431
    functionDepth: 2
    functionLinenumber: 1431
    functionLinenumberEnd: 1469
    functionName: pldm__msgbuf_copy
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    - pldm__msgbuf_rw_invalidate
    - pldm__msgbuf_ro_invalidate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm__msgbuf_copy(struct pldm_msgbuf_rw *dst, struct
      pldm_msgbuf_ro *src,\n\t\t  size_t size, const char *description LIBPLDM_CC_UNUSED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_string_ascii
      Src: /src/libpldm/src/msgbuf/core.h:1481,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/src/msgbuf/core.h:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1487
    functionName: pldm_msgbuf_copy_string_ascii
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 5
    functionsReached:
    - pldm__msgbuf_insert_array_void
    - pldm_msgbuf_ro_span_string_ascii
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_copy_string_ascii(struct pldm_msgbuf_rw
      *dst,\n\t\t\t      struct pldm_msgbuf_ro *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_ro_span_string_utf16
      Src: /src/libpldm/src/msgbuf/core.h:1499,1
    - Dst: pldm__msgbuf_insert_array_void
      Src: /src/libpldm/src/msgbuf/core.h:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct pldm_msgbuf_rw*
    - struct pldm_msgbuf_ro*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1489
    functionDepth: 3
    functionLinenumber: 1489
    functionLinenumberEnd: 1505
    functionName: pldm_msgbuf_copy_string_utf16
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 5
    functionsReached:
    - pldm__msgbuf_insert_array_void
    - pldm_msgbuf_ro_span_string_utf16
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_copy_string_utf16(struct pldm_msgbuf_rw
      *dst,\n\t\t\t      struct pldm_msgbuf_ro *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1519
    functionName: pldm_msgbuf_extract_uint8_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint8_to_size(ctx, dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/src/msgbuf/core.h:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1519
    functionDepth: 3
    functionLinenumber: 1519
    functionLinenumberEnd: 1536
    functionName: pldm__msgbuf_extract_uint8_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint8_to_size(struct pldm_msgbuf_ro
      *ctx, size_t *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1550
    functionName: pldm_msgbuf_extract_uint16_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint16_to_size(ctx, dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/src/msgbuf/core.h:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1550
    functionDepth: 3
    functionLinenumber: 1550
    functionLinenumberEnd: 1567
    functionName: pldm__msgbuf_extract_uint16_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint16
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint16_to_size(struct pldm_msgbuf_ro
      *ctx, size_t *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1581
    functionName: pldm_msgbuf_extract_uint32_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_uint32_to_size(ctx, dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/src/msgbuf/core.h:1589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1581
    functionDepth: 3
    functionLinenumber: 1581
    functionLinenumberEnd: 1598
    functionName: pldm__msgbuf_extract_uint32_to_size
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint32
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm__msgbuf_extract_uint32_to_size(struct pldm_msgbuf_ro
      *ctx, size_t *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/msgbuf/core.h:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - cursor
    - remaining
    - field
    argTypes:
    - void*
    - intmax_t
    - struct variable_field*
    assertStmts:
    - condition: (remaining <= (intmax_t)SIZE_MAX)
      pos:
        line_end: 1619
        line_start: 1619
        source_file: /src/libpldm/src/msgbuf/core.h
    constantsTouched: []
    func_position:
      end: 1632
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1632
    functionName: pldm__msgbuf_field_begin
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm__msgbuf_field_begin(const void *cursor, intmax_t
      remaining,\n\t\t\t     struct variable_field *field)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - cursor
    - remaining
    - field
    argTypes:
    - void*
    - intmax_t
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1678
    functionName: LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_field_end
    functionSourceFile: /src/libpldm/src/msgbuf/core.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL LIBPLDM_CC_ALWAYS_INLINE\nLIBPLDM_CC_WARN_UNUSED_RESULT\n//
      NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp)\nint
      pldm__msgbuf_field_end(const void *cursor, intmax_t remaining,\n\t\t\t   struct
      variable_field *field)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:16,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:17,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:18,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:19,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - hdr
    - lower
    - upper
    argTypes:
    - struct pldm_msgbuf_ro*
    - struct pldm_value_pdr_hdr*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 34
    functionName: pldm_msgbuf_extract_value_pdr_hdr
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_msgbuf_extract_value_pdr_hdr(struct pldm_msgbuf_ro
      *ctx,\n\t\t\t\t  struct pldm_value_pdr_hdr *hdr, size_t lower,\n\t\t\t\t  size_t
      upper)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:43,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:45,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:47,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:49,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:51,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/msgbuf/platform.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - tag
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_sensor_readings_data_type
    - union_sensor_data_size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: pldm_msgbuf_extract_sensor_data
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_extract
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_extract_sensor_data(struct pldm_msgbuf_ro
      *ctx,\n\t\t\t\tenum pldm_sensor_readings_data_type tag,\n\t\t\t\tunion_sensor_data_size
      *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/src/msgbuf/platform.h:71,1
    - Dst: pldm__msgbuf_extract_int8
      Src: /src/libpldm/src/msgbuf/platform.h:73,1
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/src/msgbuf/platform.h:75,1
    - Dst: pldm__msgbuf_extract_int16
      Src: /src/libpldm/src/msgbuf/platform.h:77,1
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/src/msgbuf/platform.h:79,1
    - Dst: pldm__msgbuf_extract_int32
      Src: /src/libpldm/src/msgbuf/platform.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - tag
    - val
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_sensor_readings_data_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: pldm_msgbuf_extract_sensor_value
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    - pldm__msgbuf_extract_int16
    - pldm__msgbuf_extract_uint16
    - pldm__msgbuf_extract_int8
    - pldm__msgbuf_extract_uint32
    - pldm__msgbuf_extract_int32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_extract_sensor_value(struct pldm_msgbuf_ro
      *ctx,\n\t\t\t\t enum pldm_sensor_readings_data_type tag,\n\t\t\t\t void *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - tag
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pldm_msgbuf_extract_range_field_format
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_range_field_format(ctx, tag, dst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/src/msgbuf/platform.h:96,1
    - Dst: pldm__msgbuf_extract_int8
      Src: /src/libpldm/src/msgbuf/platform.h:100,1
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/src/msgbuf/platform.h:104,1
    - Dst: pldm__msgbuf_extract_int16
      Src: /src/libpldm/src/msgbuf/platform.h:108,1
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/src/msgbuf/platform.h:112,1
    - Dst: pldm__msgbuf_extract_int32
      Src: /src/libpldm/src/msgbuf/platform.h:116,1
    - Dst: pldm__msgbuf_extract_real32
      Src: /src/libpldm/src/msgbuf/platform.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - tag
    - rff
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_range_field_format
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: pldm__msgbuf_extract_range_field_format
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    - pldm__msgbuf_extract_real32
    - pldm__msgbuf_extract_int16
    - pldm__msgbuf_extract_uint16
    - pldm__msgbuf_extract_int8
    - pldm__msgbuf_extract_uint32
    - pldm__msgbuf_extract_int32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_extract_range_field_format(\n\tstruct
      pldm_msgbuf_ro *ctx, enum pldm_range_field_format tag, void *rff)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/src/msgbuf/platform.h:135,1
    - Dst: pldm__msgbuf_extract_int8
      Src: /src/libpldm/src/msgbuf/platform.h:137,1
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/src/msgbuf/platform.h:139,1
    - Dst: pldm__msgbuf_extract_int16
      Src: /src/libpldm/src/msgbuf/platform.h:141,1
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/src/msgbuf/platform.h:143,1
    - Dst: pldm__msgbuf_extract_int32
      Src: /src/libpldm/src/msgbuf/platform.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - tag
    - dst
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_effecter_data_size
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: pldm_msgbuf_extract_effecter_value
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    - pldm__msgbuf_extract_int16
    - pldm__msgbuf_extract_uint16
    - pldm__msgbuf_extract_int8
    - pldm__msgbuf_extract_uint32
    - pldm__msgbuf_extract_int32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm_msgbuf_extract_effecter_value(struct
      pldm_msgbuf_ro *ctx,\n\t\t\t\t   enum pldm_effecter_data_size tag, void *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - tag
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: pldm_msgbuf_extract_effecter_data
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pldm_msgbuf_extract_effecter_data(ctx, tag, dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_uint8
      Src: /src/libpldm/src/msgbuf/platform.h:161,1
    - Dst: pldm__msgbuf_extract_int8
      Src: /src/libpldm/src/msgbuf/platform.h:165,1
    - Dst: pldm__msgbuf_extract_uint16
      Src: /src/libpldm/src/msgbuf/platform.h:169,1
    - Dst: pldm__msgbuf_extract_int16
      Src: /src/libpldm/src/msgbuf/platform.h:173,1
    - Dst: pldm__msgbuf_extract_uint32
      Src: /src/libpldm/src/msgbuf/platform.h:177,1
    - Dst: pldm__msgbuf_extract_int32
      Src: /src/libpldm/src/msgbuf/platform.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - tag
    - ed
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_effecter_data_size
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 187
    functionName: pldm__msgbuf_extract_effecter_data
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_uint8
    - pldm__msgbuf_extract_int16
    - pldm__msgbuf_extract_uint16
    - pldm__msgbuf_extract_int8
    - pldm__msgbuf_extract_uint32
    - pldm__msgbuf_extract_int32
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: "LIBPLDM_CC_ALWAYS_INLINE pldm__msgbuf_extract_effecter_data(struct
      pldm_msgbuf_ro *ctx,\n\t\t\t\t   enum pldm_effecter_data_size tag, void *ed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm__msgbuf_extract_range_field_format
      Src: /src/libpldm/src/msgbuf/platform.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - _rff
    argTypes:
    - struct pldm_msgbuf_ro*
    - enum pldm_range_field_format
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: pldm_msgbuf_typecheck_range_field_format
    functionSourceFile: /src/libpldm/src/msgbuf/platform.h
    functionUses: 0
    functionsReached:
    - pldm__msgbuf_extract_range_field_format
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_typecheck_range_field_format(struct pldm_msgbuf_ro
      *ctx,\n\t\t\t\t\t enum pldm_range_field_format tag,\n\t\t\t\t\t void *_rff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/host.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - version_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 34
    functionName: encode_get_alert_status_req
    functionSourceFile: /src/libpldm/src/oem/ibm/host.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_alert_status_req(uint8_t instance_id,
      uint8_t version_id,\n\t\t\t\tstruct pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/host.c:59,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/host.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - rack_entry
    - pri_cec_node
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: decode_get_alert_status_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/host.c
    functionUses: 6
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_alert_status_resp(const struct pldm_msg
      *msg,\n\t\t\t\t size_t payload_length,\n\t\t\t\t uint8_t *completion_code, uint32_t
      *rack_entry,\n\t\t\t\t uint32_t *pri_cec_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - version_id
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: decode_get_alert_status_req
    functionSourceFile: /src/libpldm/src/oem/ibm/host.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_alert_status_req(const struct pldm_msg
      *msg,\n\t\t\t\tsize_t payload_length, uint8_t *version_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/host.c:100,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/host.c:109,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/host.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - instance_id
    - completion_code
    - rack_entry
    - pri_cec_node
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: encode_get_alert_status_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/host.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_alert_status_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t\t uint32_t rack_entry, uint32_t pri_cec_node,\n\t\t\t\t
      struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:25,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:26,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:27,1
    - Dst: le64toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - msg
    - payload_length
    - file_handle
    - offset
    - length
    - address
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 31
    functionName: decode_rw_file_memory_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 18
    functionsReached:
    - le32toh
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_memory_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint32_t *file_handle, uint32_t *offset,\n\t\t\t
      \     uint32_t *length, uint64_t *address)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:47,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: encode_rw_file_memory_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 18
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_memory_resp(uint8_t instance_id,
      uint8_t command,\n\t\t\t       uint8_t completion_code, uint32_t length,\n\t\t\t
      \      struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:77,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:84,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:85,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:86,1
    - Dst: htole64
      Src: /src/libpldm/src/oem/ibm/file_io.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 7
    argNames:
    - instance_id
    - command
    - file_handle
    - offset
    - length
    - address
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint64_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: encode_rw_file_memory_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole64
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_memory_req(uint8_t instance_id,
      uint8_t command,\n\t\t\t      uint32_t file_handle, uint32_t offset,\n\t\t\t
      \     uint32_t length, uint64_t address,\n\t\t\t      struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: decode_rw_file_memory_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_memory_resp(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *completion_code,\n\t\t\t
      \      uint32_t *length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_opflag
    - table_type
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: decode_get_file_table_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_file_table_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint32_t *transfer_handle,\n\t\t\t
      \     uint8_t *transfer_opflag, uint8_t *table_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:154,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:164,1
    - Dst: memcpy
      Src: /src/libpldm/src/oem/ibm/file_io.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - table_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: encode_get_file_table_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_get_file_table_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t       uint32_t next_transfer_handle,\n\t\t\t
      \      uint8_t transfer_flag, const uint8_t *table_data,\n\t\t\t       size_t
      table_size, struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:186,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - transfer_handle
    - transfer_opflag
    - table_type
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: encode_get_file_table_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_file_table_req(uint8_t instance_id,
      uint32_t transfer_handle,\n\t\t\t      uint8_t transfer_opflag, uint8_t table_type,\n\t\t\t
      \     struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 7
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - file_table_data_start_offset
    - file_table_length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: decode_get_file_table_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 6
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_file_table_resp(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *completion_code,\n\t\t\t
      \      uint32_t *next_transfer_handle,\n\t\t\t       uint8_t *transfer_flag,\n\t\t\t
      \      uint8_t *file_table_data_start_offset,\n\t\t\t       size_t *file_table_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:255,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:256,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - file_handle
    - offset
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 260
    functionName: decode_read_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_read_file_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t uint32_t *file_handle, uint32_t *offset,\n\t\t\t
      uint32_t *length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:279,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:287,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:288,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - instance_id
    - file_handle
    - offset
    - length
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: encode_read_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_read_file_req(uint8_t instance_id, uint32_t
      file_handle,\n\t\t\t uint32_t offset, uint32_t length, struct pldm_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - length
    - file_data_offset
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 320
    functionName: decode_read_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_read_file_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t  uint8_t *completion_code, uint32_t *length,\n\t\t\t
      \ size_t *file_data_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:335,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 349
    functionName: encode_read_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_read_file_resp(uint8_t instance_id, uint8_t
      completion_code,\n\t\t\t  uint32_t length, struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:367,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:368,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - msg
    - payload_length
    - file_handle
    - offset
    - length
    - file_data_offset
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 377
    functionName: decode_write_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_write_file_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t  uint32_t *file_handle, uint32_t *offset,\n\t\t\t
      \ uint32_t *length, size_t *file_data_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:397,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:405,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:406,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - instance_id
    - file_handle
    - offset
    - length
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 410
    functionName: encode_write_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_write_file_req(uint8_t instance_id, uint32_t
      file_handle,\n\t\t\t  uint32_t offset, uint32_t length,\n\t\t\t  struct pldm_msg
      *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:427,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 433
    functionName: decode_write_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_write_file_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t   uint8_t *completion_code, uint32_t *length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:448,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 462
    functionName: encode_write_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_write_file_resp(uint8_t instance_id, uint8_t
      completion_code,\n\t\t\t   uint32_t length, struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:482,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:483,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:484,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:485,1
    - Dst: le64toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 7
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - offset
    - length
    - address
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 489
    functionName: decode_rw_file_by_type_memory_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_by_type_memory_req(const struct
      pldm_msg *msg,\n\t\t\t\t      size_t payload_length,\n\t\t\t\t      uint16_t
      *file_type,\n\t\t\t\t      uint32_t *file_handle, uint32_t *offset,\n\t\t\t\t
      \     uint32_t *length, uint64_t *address)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:505,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 518
    functionName: encode_rw_file_by_type_memory_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_by_type_memory_resp(uint8_t instance_id,
      uint8_t command,\n\t\t\t\t       uint8_t completion_code, uint32_t length,\n\t\t\t\t
      \      struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:535,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:542,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:543,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:544,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:545,1
    - Dst: htole64
      Src: /src/libpldm/src/oem/ibm/file_io.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 8
    argNames:
    - instance_id
    - command
    - file_type
    - file_handle
    - offset
    - length
    - address
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint64_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 549
    functionName: encode_rw_file_by_type_memory_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole16
    - htole64
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_by_type_memory_req(uint8_t instance_id,
      uint8_t command,\n\t\t\t\t      uint16_t file_type, uint32_t file_handle,\n\t\t\t\t
      \     uint32_t offset, uint32_t length,\n\t\t\t\t      uint64_t address, struct
      pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 573
    functionName: decode_rw_file_by_type_memory_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_by_type_memory_resp(const struct
      pldm_msg *msg,\n\t\t\t\t       size_t payload_length,\n\t\t\t\t       uint8_t
      *completion_code,\n\t\t\t\t       uint32_t *length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:591,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:592,1
    - Dst: le64toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: decode_new_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_new_file_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\tuint16_t *file_type, uint32_t *file_handle,\n\t\t\tuint64_t
      *length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 621
    functionName: encode_new_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 11
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_new_file_resp(uint8_t instance_id, uint8_t
      completion_code,\n\t\t\t struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:637,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:644,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:645,1
    - Dst: htole64
      Src: /src/libpldm/src/oem/ibm/file_io.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - file_type
    - file_handle
    - length
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint32_t
    - uint64_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 649
    functionName: encode_new_file_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 18
    functionsReached:
    - htole16
    - htole64
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_new_file_req(uint8_t instance_id, uint16_t
      file_type,\n\t\t\tuint32_t file_handle, uint64_t length,\n\t\t\tstruct pldm_msg
      *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 668
    functionName: decode_new_file_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_new_file_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t uint8_t *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:687,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:688,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:689,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - offset
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 693
    functionName: decode_rw_file_by_type_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 18
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_by_type_req(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint16_t *file_type,\n\t\t\t       uint32_t
      *file_handle, uint32_t *offset,\n\t\t\t       uint32_t *length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:713,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - instance_id
    - command
    - completion_code
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 726
    functionName: encode_rw_file_by_type_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_by_type_resp(uint8_t instance_id,
      uint8_t command,\n\t\t\t\tuint8_t completion_code, uint32_t length,\n\t\t\t\tstruct
      pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:747,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:754,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:755,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:756,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - instance_id
    - command
    - file_type
    - file_handle
    - offset
    - length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 760
    functionName: encode_rw_file_by_type_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_rw_file_by_type_req(uint8_t instance_id,
      uint8_t command,\n\t\t\t       uint16_t file_type, uint32_t file_handle,\n\t\t\t
      \      uint32_t offset, uint32_t length,\n\t\t\t       struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 783
    functionName: decode_rw_file_by_type_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_rw_file_by_type_resp(const struct pldm_msg
      *msg,\n\t\t\t\tsize_t payload_length, uint8_t *completion_code,\n\t\t\t\tuint32_t
      *length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:800,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - file_status
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 805
    functionName: decode_file_ack_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_file_ack_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\tuint16_t *file_type, uint32_t *file_handle,\n\t\t\tuint8_t
      *file_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 830
    functionName: encode_file_ack_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_file_ack_resp(uint8_t instance_id, uint8_t
      completion_code,\n\t\t\t struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:846,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:853,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - file_type
    - file_handle
    - file_status
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 858
    functionName: encode_file_ack_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_file_ack_req(uint8_t instance_id, uint16_t
      file_type,\n\t\t\tuint32_t file_handle, uint8_t file_status,\n\t\t\tstruct pldm_msg
      *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 877
    functionName: decode_file_ack_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_file_ack_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t uint8_t *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:895,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:902,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:903,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:905,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:906,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:907,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 9
    argNames:
    - instance_id
    - file_type
    - file_handle
    - file_status
    - file_meta_data_1
    - file_meta_data_2
    - file_meta_data_3
    - file_meta_data_4
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 911
    functionName: encode_file_ack_with_meta_data_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_file_ack_with_meta_data_req(\n\tuint8_t
      instance_id, uint16_t file_type, uint32_t file_handle,\n\tuint8_t file_status,
      uint32_t file_meta_data_1,\n\tuint32_t file_meta_data_2, uint32_t file_meta_data_3,\n\tuint32_t
      file_meta_data_4, struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 931
    functionName: decode_file_ack_with_meta_data_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_file_ack_with_meta_data_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\tsize_t payload_length,\n\t\t\t\t\tuint8_t *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:950,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:951,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:953,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:954,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:955,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - file_status
    - file_meta_data_1
    - file_meta_data_2
    - file_meta_data_3
    - file_meta_data_4
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint8_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 959
    functionName: decode_file_ack_with_meta_data_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_file_ack_with_meta_data_req(\n\tconst struct
      pldm_msg *msg, size_t payload_length, uint16_t *file_type,\n\tuint32_t *file_handle,
      uint8_t *file_status, uint32_t *file_meta_data_1,\n\tuint32_t *file_meta_data_2,
      uint32_t *file_meta_data_3,\n\tuint32_t *file_meta_data_4)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 985
    functionName: encode_file_ack_with_meta_data_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_file_ack_with_meta_data_resp(uint8_t instance_id,\n\t\t\t\t\tuint8_t
      completion_code,\n\t\t\t\t\tstruct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:1005,1
    - Dst: htole16
      Src: /src/libpldm/src/oem/ibm/file_io.c:1012,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:1013,1
    - Dst: htole64
      Src: /src/libpldm/src/oem/ibm/file_io.c:1014,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:1015,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:1016,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:1017,1
    - Dst: htole32
      Src: /src/libpldm/src/oem/ibm/file_io.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 9
    argNames:
    - instance_id
    - file_type
    - file_handle
    - length
    - file_meta_data_1
    - file_meta_data_2
    - file_meta_data_3
    - file_meta_data_4
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint32_t
    - uint64_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1021
    functionName: encode_new_file_with_metadata_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached:
    - htole16
    - htole64
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_new_file_with_metadata_req(uint8_t instance_id,
      uint16_t file_type,\n\t\t\t\t      uint32_t file_handle, uint64_t length,\n\t\t\t\t
      \     uint32_t file_meta_data_1,\n\t\t\t\t      uint32_t file_meta_data_2,\n\t\t\t\t
      \     uint32_t file_meta_data_3,\n\t\t\t\t      uint32_t file_meta_data_4,\n\t\t\t\t
      \     struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1045
    functionName: decode_new_file_with_metadata_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_new_file_with_metadata_resp(const struct
      pldm_msg *msg,\n\t\t\t\t       size_t payload_length,\n\t\t\t\t       uint8_t
      *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1066,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1067,1
    - Dst: le64toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1068,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1069,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1070,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1071,1
    - Dst: le32toh
      Src: /src/libpldm/src/oem/ibm/file_io.c:1072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 9
    argNames:
    - msg
    - payload_length
    - file_type
    - file_handle
    - length
    - file_meta_data_1
    - file_meta_data_2
    - file_meta_data_3
    - file_meta_data_4
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint32_t*
    - uint64_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1075
    functionName: decode_new_file_with_metadata_req
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_new_file_with_metadata_req(\n\tconst struct
      pldm_msg *msg, size_t payload_length, uint16_t *file_type,\n\tuint32_t *file_handle,
      uint64_t *length, uint32_t *file_meta_data_1,\n\tuint32_t *file_meta_data_2,
      uint32_t *file_meta_data_3,\n\tuint32_t *file_meta_data_4)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/file_io.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1104
    functionName: encode_new_file_with_metadata_resp
    functionSourceFile: /src/libpldm/src/oem/ibm/file_io.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_new_file_with_metadata_resp(uint8_t instance_id,\n\t\t\t\t
      \      uint8_t completion_code,\n\t\t\t\t       struct pldm_msg *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/oem/ibm/platform.c:48,1
    - Dst: memcpy
      Src: /src/libpldm/src/oem/ibm/platform.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 7
    argNames:
    - instance_id
    - format_version
    - tid
    - num_handles
    - list_of_handles
    - payload_length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 63
    functionName: encode_bios_attribute_update_event_req
    functionSourceFile: /src/libpldm/src/oem/ibm/platform.c
    functionUses: 8
    functionsReached:
    - memcpy
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_bios_attribute_update_event_req(uint8_t
      instance_id,\n\t\t\t\t\t   uint8_t format_version, uint8_t tid,\n\t\t\t\t\t
      \  uint8_t num_handles,\n\t\t\t\t\t   const uint8_t *list_of_handles,\n\t\t\t\t\t
      \  size_t payload_length,\n\t\t\t\t\t   struct pldm_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct pldm_oem_meta_file_io_write_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: pldm_oem_meta_file_io_write_req_data
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE *pldm_oem_meta_file_io_write_req_data(\n\tstruct
      pldm_oem_meta_file_io_write_req *req)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/oem/meta/file_io.c:24,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:35,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:42,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:43,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:45,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/oem/meta/file_io.c:48,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:51,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/oem/meta/file_io.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - msg
    - payload_length
    - req
    - req_length
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_oem_meta_file_io_write_req*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 55
    functionName: decode_oem_meta_file_io_write_req
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_oem_meta_file_io_write_req(\n\tconst struct
      pldm_msg *msg, size_t payload_length,\n\tstruct pldm_oem_meta_file_io_write_req
      *req, size_t req_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:68,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:72,1
    - Dst: malloc
      Src: /src/libpldm/src/oem/meta/file_io.c:76,1
    - Dst: decode_oem_meta_file_io_write_req
      Src: /src/libpldm/src/oem/meta/file_io.c:78,1
    - Dst: free
      Src: /src/libpldm/src/oem/meta/file_io.c:81,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:82,1
    - Dst: memcpy
      Src: /src/libpldm/src/oem/meta/file_io.c:89,1
    - Dst: free
      Src: /src/libpldm/src/oem/meta/file_io.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - msg
    - payload_length
    - file_handle
    - length
    - data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: decode_oem_meta_file_io_req
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 0
    functionsReached:
    - pldm_xlate_errno
    - free
    - decode_oem_meta_file_io_write_req
    - memcpy
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE decode_oem_meta_file_io_req(const struct
      pldm_msg *msg,\n\t\t\t\tsize_t payload_length, uint8_t *file_handle,\n\t\t\t\tuint32_t
      *length, uint8_t *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/oem/meta/file_io.c:101,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:111,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:118,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:119,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:121,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:124,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:126,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:132,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:136,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/oem/meta/file_io.c:137,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:140,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/oem/meta/file_io.c:143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_oem_meta_file_io_read_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: decode_oem_meta_file_io_read_req
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_oem_meta_file_io_read_req(const struct pldm_msg
      *msg,\n\t\t\t\t     size_t payload_length,\n\t\t\t\t     struct pldm_oem_meta_file_io_read_req
      *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - struct pldm_oem_meta_file_io_read_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: pldm_oem_meta_file_io_read_resp_data
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE *pldm_oem_meta_file_io_read_resp_data(\n\tstruct
      pldm_oem_meta_file_io_read_resp *resp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/oem/meta/file_io.c:159,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:178,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/oem/meta/file_io.c:183,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:190,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:191,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:192,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:193,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:197,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:198,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:201,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/oem/meta/file_io.c:202,1
    - Dst: pldm_msgbuf_insert_array_uint8
      Src: /src/libpldm/src/oem/meta/file_io.c:203,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:207,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/oem/meta/file_io.c:211,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/oem/meta/file_io.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - instance_id
    - resp
    - resp_len
    - responseMsg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_oem_meta_file_io_read_resp*
    - size_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 215
    functionName: encode_oem_meta_file_io_read_resp
    functionSourceFile: /src/libpldm/src/oem/meta/file_io.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_array_uint8
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_oem_meta_file_io_read_resp(\n\tuint8_t instance_id,
      struct pldm_oem_meta_file_io_read_resp *resp,\n\tsize_t resp_len, struct pldm_msg
      *responseMsg, size_t payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: transport_to_test
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transport_to_test(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: pldm_transport_test_core
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING *pldm_transport_test_core(struct pldm_transport_test
      *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_test
      Src: /src/libpldm/src/transport/test.c:41,1
    - Dst: timerfd_settime
      Src: /src/libpldm/src/transport/test.c:45,1
    - Dst: timerfd_settime
      Src: /src/libpldm/src/transport/test.c:57,1
    - Dst: timerfd_settime
      Src: /src/libpldm/src/transport/test.c:78,1
    - Dst: ppoll
      Src: /src/libpldm/src/transport/test.c:83,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/transport/test.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - ctx
    - pollfd
    argTypes:
    - struct pldm_transport*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 97
    functionName: pldm_transport_test_init_pollfd
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 0
    functionsReached:
    - timerfd_settime
    - ppoll
    - transport_to_test
    - ARRAY_SIZE
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_transport_test_init_pollfd(struct pldm_transport
      *ctx,\n\t\t\t\t    struct pollfd *pollfd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_test
      Src: /src/libpldm/src/transport/test.c:104,1
    - Dst: malloc
      Src: /src/libpldm/src/transport/test.c:118,1
    - Dst: memcpy
      Src: /src/libpldm/src/transport/test.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - tid
    - pldm_resp_msg
    - resp_msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 131
    functionName: pldm_transport_test_recv
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - transport_to_test
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_test_recv(struct pldm_transport
      *ctx,\n\t\t\t\t\t\t    pldm_tid_t *tid,\n\t\t\t\t\t\t    void **pldm_resp_msg,\n\t\t\t\t\t\t
      \   size_t *resp_msg_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_test
      Src: /src/libpldm/src/transport/test.c:138,1
    - Dst: memcmp
      Src: /src/libpldm/src/transport/test.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - tid
    - pldm_req_msg
    - req_msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: pldm_transport_test_send
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - transport_to_test
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_test_send(struct pldm_transport
      *ctx,\n\t\t\t\t\t\t    pldm_tid_t tid,\n\t\t\t\t\t\t    const void *pldm_req_msg,\n\t\t\t\t\t\t
      \   size_t req_msg_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/transport/test.c:179,1
    - Dst: timerfd_create
      Src: /src/libpldm/src/transport/test.c:192,1
    - Dst: free
      Src: /src/libpldm/src/transport/test.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - seq
    - count
    argTypes:
    - struct pldm_transport_test**
    - struct pldm_transport_test_descriptor*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 205
    functionName: pldm_transport_test_init
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 10
    functionsReached:
    - free
    - malloc
    - timerfd_create
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_transport_test_init(struct pldm_transport_test
      **ctx,\n\t\t\t     const struct pldm_transport_test_descriptor *seq,\n\t\t\t
      \    size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libpldm/src/transport/test.c:210,1
    - Dst: free
      Src: /src/libpldm/src/transport/test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: pldm_transport_test_destroy
    functionSourceFile: /src/libpldm/src/transport/test.c
    functionUses: 10
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_transport_test_destroy(struct pldm_transport_test
      *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_transport*::init_pollfd
      Src: /src/libpldm/src/transport/transport.c:35,1
    - Dst: poll
      Src: /src/libpldm/src/transport/transport.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - transport
    - timeout
    argTypes:
    - struct pldm_transport*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: pldm_transport_poll
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached:
    - poll
    - struct pldm_transport*::init_pollfd
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_transport_poll(struct pldm_transport *transport,
      int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_transport*::send
      Src: /src/libpldm/src/transport/transport.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - transport
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: pldm_requester_rc_t::pldm_transport_send_msg
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached:
    - struct pldm_transport*::send
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_requester_rc_t pldm_transport_send_msg(struct
      pldm_transport *transport,\n\t\t\t\t\t    pldm_tid_t tid,\n\t\t\t\t\t    const
      void *pldm_msg,\n\t\t\t\t\t    size_t msg_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_transport*::recv
      Src: /src/libpldm/src/transport/transport.c:76,1
    - Dst: free
      Src: /src/libpldm/src/transport/transport.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - transport
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: pldm_requester_rc_t::pldm_transport_recv_msg
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached:
    - free
    - struct pldm_transport*::recv
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_requester_rc_t pldm_transport_recv_msg(struct
      pldm_transport *transport,\n\t\t\t\t\t    pldm_tid_t *tid, void **pldm_msg,\n\t\t\t\t\t
      \   size_t *msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ts
    - tv
    argTypes:
    - struct timespec*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: timespec_to_timeval
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void timespec_to_timeval(const struct timespec *ts, struct timeval
      *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: timeval_to_msec
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long timeval_to_msec(const struct timeval *tv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: timeval_validate_for_msec
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool timeval_validate_for_msec(const struct timeval *tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libpldm_clock_gettime
      Src: /src/libpldm/src/transport/transport.c:124,1
    - Dst: timespec_to_timeval
      Src: /src/libpldm/src/transport/transport.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - clockid
    - tv
    argTypes:
    - clockid_t
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: clock_gettimeval
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached:
    - timespec_to_timeval
    - libpldm_clock_gettime
    linkageType: ''
    returnType: int
    signature: int clock_gettimeval(clockid_t clockid, struct timeval *tv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_poll
      Src: /src/libpldm/src/transport/transport.c:168,1
    - Dst: pldm_requester_rc_t::pldm_transport_recv_msg
      Src: /src/libpldm/src/transport/transport.c:171,1
    - Dst: free
      Src: /src/libpldm/src/transport/transport.c:175,1
    - Dst: pldm_requester_rc_t::pldm_transport_send_msg
      Src: /src/libpldm/src/transport/transport.c:182,1
    - Dst: clock_gettimeval
      Src: /src/libpldm/src/transport/transport.c:187,1
    - Dst: timeradd
      Src: /src/libpldm/src/transport/transport.c:192,1
    - Dst: timercmp
      Src: /src/libpldm/src/transport/transport.c:194,1
    - Dst: timersub
      Src: /src/libpldm/src/transport/transport.c:197,1
    - Dst: timeval_validate_for_msec
      Src: /src/libpldm/src/transport/transport.c:199,1
    - Dst: pldm_transport_poll
      Src: /src/libpldm/src/transport/transport.c:204,1
    - Dst: timeval_to_msec
      Src: /src/libpldm/src/transport/transport.c:205,1
    - Dst: clock_gettimeval
      Src: /src/libpldm/src/transport/transport.c:210,1
    - Dst: pldm_requester_rc_t::pldm_transport_recv_msg
      Src: /src/libpldm/src/transport/transport.c:215,1
    - Dst: pldm_msg_hdr_correlate_response
      Src: /src/libpldm/src/transport/transport.c:221,1
    - Dst: free
      Src: /src/libpldm/src/transport/transport.c:223,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 6
    argNames:
    - transport
    - tid
    - pldm_req_msg
    - req_msg_len
    - pldm_resp_msg
    - resp_msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 231
    functionName: pldm_requester_rc_t::pldm_transport_send_recv_msg
    functionSourceFile: /src/libpldm/src/transport/transport.c
    functionUses: 0
    functionsReached:
    - timersub
    - pldm_requester_rc_t::pldm_transport_send_msg
    - timercmp
    - free
    - pldm_transport_poll
    - pldm_msg_hdr_correlate_response
    - pldm_requester_rc_t::pldm_transport_recv_msg
    - timeval_to_msec
    - clock_gettimeval
    - timeval_validate_for_msec
    - timeradd
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_requester_rc_t\npldm_transport_send_recv_msg(struct
      pldm_transport *transport, pldm_tid_t tid,\n\t\t\t     const void *pldm_req_msg,
      size_t req_msg_len,\n\t\t\t     void **pldm_resp_msg, size_t *resp_msg_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: container_of
    functionSourceFile: /src/libpldm/src/transport/container-of.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpldm/src/transport/socket.c:23,1
    - Dst: fgets
      Src: /src/libpldm/src/transport/socket.c:28,1
    - Dst: fclose
      Src: /src/libpldm/src/transport/socket.c:29,1
    - Dst: strtol
      Src: /src/libpldm/src/transport/socket.c:34,1
    - Dst: fclose
      Src: /src/libpldm/src/transport/socket.c:36,1
    - Dst: fclose
      Src: /src/libpldm/src/transport/socket.c:40,1
    - Dst: pldm_socket_sndbuf_get
      Src: /src/libpldm/src/transport/socket.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - socket
    argTypes:
    - struct pldm_socket_sndbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 52
    functionName: pldm_socket_sndbuf_init
    functionSourceFile: /src/libpldm/src/transport/socket.c
    functionUses: 0
    functionsReached:
    - fclose
    - fopen
    - strtol
    - pldm_socket_sndbuf_get
    - fgets
    linkageType: ''
    returnType: int
    signature: int pldm_socket_sndbuf_init(struct pldm_socket_sndbuf *ctx, int socket)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libpldm/src/transport/socket.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - msg_len
    argTypes:
    - struct pldm_socket_sndbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: pldm_socket_sndbuf_accomodate
    functionSourceFile: /src/libpldm/src/transport/socket.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int pldm_socket_sndbuf_accomodate(struct pldm_socket_sndbuf *ctx, int
      msg_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libpldm/src/transport/socket.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_socket_sndbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: pldm_socket_sndbuf_get
    functionSourceFile: /src/libpldm/src/transport/socket.c
    functionUses: 1
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int pldm_socket_sndbuf_get(struct pldm_socket_sndbuf *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: cookie_to_af_mctp
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cookie_to_af_mctp(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: transport_to_af_mctp
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transport_to_af_mctp(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_af_mctp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: pldm_transport_af_mctp_core
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: 'LIBPLDM_ABI_STABLE *

      pldm_transport_af_mctp_core(struct pldm_transport_af_mctp *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_af_mctp
      Src: /src/libpldm/src/transport/af-mctp.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - pollfd
    argTypes:
    - struct pldm_transport*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: pldm_transport_af_mctp_init_pollfd
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 1
    functionsReached:
    - transport_to_af_mctp
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_init_pollfd(struct pldm_transport
      *t,\n\t\t\t\t       struct pollfd *pollfd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - tid
    - network
    - eid
    argTypes:
    - struct pldm_transport_af_mctp*
    - pldm_tid_t
    - uint32_t*
    - mctp_eid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: pldm_transport_af_mctp_lookup_fqe
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_transport_af_mctp_lookup_fqe(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t\t     pldm_tid_t tid, uint32_t *network,\n\t\t\t\t\t     mctp_eid_t
      *eid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - network
    - eid
    - tid
    argTypes:
    - struct pldm_transport_af_mctp*
    - uint32_t
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: pldm_transport_af_mctp_find_tid
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_transport_af_mctp_find_tid(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t\t   uint32_t network, mctp_eid_t eid,\n\t\t\t\t\t   pldm_tid_t
      *tid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_transport_af_mctp_find_tid
      Src: /src/libpldm/src/transport/af-mctp.c:87,1
    - Dst: pldm_transport_af_mctp_find_tid
      Src: /src/libpldm/src/transport/af-mctp.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - network
    - eid
    - tid
    argTypes:
    - struct pldm_transport_af_mctp*
    - uint32_t
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: pldm_transport_af_mctp_get_tid
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 3
    functionsReached:
    - pldm_transport_af_mctp_find_tid
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_transport_af_mctp_get_tid(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t   uint32_t network, mctp_eid_t eid,\n\t\t\t\t   pldm_tid_t *tid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - tid
    - eid
    argTypes:
    - struct pldm_transport_af_mctp*
    - pldm_tid_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: pldm_transport_af_mctp_map_tid
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_map_tid(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t   pldm_tid_t tid, mctp_eid_t eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - tid
    - mctp_eid_t
    argTypes:
    - struct pldm_transport_af_mctp*
    - pldm_tid_t
    - LIBPLDM_CC_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: pldm_transport_af_mctp_unmap_tid
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_unmap_tid(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t     pldm_tid_t tid,\n\t\t\t\t     LIBPLDM_CC_UNUSED mctp_eid_t
      eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - tid
    - network
    - eid
    argTypes:
    - struct pldm_transport_af_mctp*
    - pldm_tid_t
    - uint32_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: pldm_transport_af_mctp_map_tid_fqe
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_map_tid_fqe(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t       pldm_tid_t tid, uint32_t network,\n\t\t\t\t       mctp_eid_t
      eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - tid
    argTypes:
    - struct pldm_transport_af_mctp*
    - pldm_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: pldm_transport_af_mctp_unmap_tid_fqe
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_unmap_tid_fqe(struct pldm_transport_af_mctp
      *ctx,\n\t\t\t\t\t pldm_tid_t tid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_af_mctp
      Src: /src/libpldm/src/transport/af-mctp.c:138,1
    - Dst: recv
      Src: /src/libpldm/src/transport/af-mctp.c:147,1
    - Dst: malloc
      Src: /src/libpldm/src/transport/af-mctp.c:152,1
    - Dst: recvfrom
      Src: /src/libpldm/src/transport/af-mctp.c:157,1
    - Dst: pldm_transport_af_mctp_get_tid
      Src: /src/libpldm/src/transport/af-mctp.c:164,1
    - Dst: malloc
      Src: /src/libpldm/src/transport/af-mctp.c:176,1
    - Dst: pldm_responder_cookie_track
      Src: /src/libpldm/src/transport/af-mctp.c:188,1
    - Dst: free
      Src: /src/libpldm/src/transport/af-mctp.c:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - t
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 205
    functionName: pldm_transport_af_mctp_recv
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached:
    - pldm_transport_af_mctp_get_tid
    - recvfrom
    - transport_to_af_mctp
    - free
    - recv
    - pldm_responder_cookie_track
    - malloc
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_af_mctp_recv(struct pldm_transport
      *t,\n\t\t\t\t\t\t       pldm_tid_t *tid,\n\t\t\t\t\t\t       void **pldm_msg,\n\t\t\t\t\t\t
      \      size_t *msg_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_af_mctp
      Src: /src/libpldm/src/transport/af-mctp.c:212,1
    - Dst: pldm_responder_cookie_untrack
      Src: /src/libpldm/src/transport/af-mctp.c:225,1
    - Dst: cookie_to_af_mctp
      Src: /src/libpldm/src/transport/af-mctp.c:232,1
    - Dst: free
      Src: /src/libpldm/src/transport/af-mctp.c:236,1
    - Dst: pldm_transport_af_mctp_lookup_fqe
      Src: /src/libpldm/src/transport/af-mctp.c:240,1
    - Dst: pldm_socket_sndbuf_accomodate
      Src: /src/libpldm/src/transport/af-mctp.c:253,1
    - Dst: sendto
      Src: /src/libpldm/src/transport/af-mctp.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - t
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 265
    functionName: pldm_transport_af_mctp_send
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 0
    functionsReached:
    - cookie_to_af_mctp
    - transport_to_af_mctp
    - pldm_transport_af_mctp_lookup_fqe
    - pldm_socket_sndbuf_accomodate
    - sendto
    - free
    - pldm_responder_cookie_untrack
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_af_mctp_send(struct pldm_transport
      *t,\n\t\t\t\t\t\t       pldm_tid_t tid,\n\t\t\t\t\t\t       const void *pldm_msg,\n\t\t\t\t\t\t
      \      size_t msg_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpldm/src/transport/af-mctp.c:275,1
    - Dst: socket
      Src: /src/libpldm/src/transport/af-mctp.c:287,1
    - Dst: free
      Src: /src/libpldm/src/transport/af-mctp.c:289,1
    - Dst: pldm_socket_sndbuf_init
      Src: /src/libpldm/src/transport/af-mctp.c:293,1
    - Dst: close
      Src: /src/libpldm/src/transport/af-mctp.c:295,1
    - Dst: free
      Src: /src/libpldm/src/transport/af-mctp.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_af_mctp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: pldm_transport_af_mctp_init
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 1
    functionsReached:
    - calloc
    - pldm_socket_sndbuf_init
    - socket
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_transport_af_mctp_init(struct pldm_transport_af_mctp
      **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libpldm/src/transport/af-mctp.c:310,1
    - Dst: free
      Src: /src/libpldm/src/transport/af-mctp.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_af_mctp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: pldm_transport_af_mctp_destroy
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 2
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_transport_af_mctp_destroy(struct pldm_transport_af_mctp
      *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bind
      Src: /src/libpldm/src/transport/af-mctp.c:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - transport
    - smctp
    - len
    argTypes:
    - struct pldm_transport_af_mctp*
    - struct sockaddr_mctp*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 358
    functionName: pldm_transport_af_mctp_bind
    functionSourceFile: /src/libpldm/src/transport/af-mctp.c
    functionUses: 1
    functionsReached:
    - bind
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_af_mctp_bind(struct pldm_transport_af_mctp
      *transport,\n\t\t\t\tconst struct sockaddr_mctp *smctp, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: transport_to_demux
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transport_to_demux(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_mctp_demux*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: pldm_transport_mctp_demux_core
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: 'LIBPLDM_ABI_STABLE *

      pldm_transport_mctp_demux_core(struct pldm_transport_mctp_demux *ctx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpldm/src/transport/mctp-demux.c:51,1
    - Dst: memcpy
      Src: /src/libpldm/src/transport/mctp-demux.c:59,1
    - Dst: connect
      Src: /src/libpldm/src/transport/mctp-demux.c:60,1
    - Dst: write
      Src: /src/libpldm/src/transport/mctp-demux.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: pldm_transport_mctp_demux_open
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached:
    - connect
    - memcpy
    - write
    - socket
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: pldm_requester_rc_t pldm_transport_mctp_demux_open(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_demux
      Src: /src/libpldm/src/transport/mctp-demux.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - pollfd
    argTypes:
    - struct pldm_transport*
    - struct pollfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: pldm_transport_mctp_demux_init_pollfd
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 1
    functionsReached:
    - transport_to_demux
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_mctp_demux_init_pollfd(struct pldm_transport
      *t,\n\t\t\t\t\t  struct pollfd *pollfd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - tid
    - eid
    argTypes:
    - struct pldm_transport_mctp_demux*
    - pldm_tid_t
    - mctp_eid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: pldm_transport_mctp_demux_get_eid
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_transport_mctp_demux_get_eid(struct pldm_transport_mctp_demux
      *ctx,\n\t\t\t\t  pldm_tid_t tid, mctp_eid_t *eid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - eid
    - tid
    argTypes:
    - struct pldm_transport_mctp_demux*
    - mctp_eid_t
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: pldm_transport_mctp_demux_get_tid
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_transport_mctp_demux_get_tid(struct pldm_transport_mctp_demux
      *ctx,\n\t\t\t\t  mctp_eid_t eid, pldm_tid_t *tid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tid
    - eid
    argTypes:
    - struct pldm_transport_mctp_demux*
    - pldm_tid_t
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: pldm_transport_mctp_demux_map_tid
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_mctp_demux_map_tid(struct pldm_transport_mctp_demux
      *ctx,\n\t\t\t\t      pldm_tid_t tid, mctp_eid_t eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pldm_tid_t
    - eid
    argTypes:
    - struct pldm_transport_mctp_demux*
    - LIBPLDM_CC_UNUSED
    - mctp_eid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: pldm_transport_mctp_demux_unmap_tid
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_transport_mctp_demux_unmap_tid(struct pldm_transport_mctp_demux
      *ctx,\n\t\t\t\t\tLIBPLDM_CC_UNUSED pldm_tid_t tid,\n\t\t\t\t\tmctp_eid_t eid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_demux
      Src: /src/libpldm/src/transport/mctp-demux.c:133,1
    - Dst: recv
      Src: /src/libpldm/src/transport/mctp-demux.c:149,1
    - Dst: malloc
      Src: /src/libpldm/src/transport/mctp-demux.c:154,1
    - Dst: recv
      Src: /src/libpldm/src/transport/mctp-demux.c:161,1
    - Dst: recvmsg
      Src: /src/libpldm/src/transport/mctp-demux.c:175,1
    - Dst: pldm_transport_mctp_demux_get_tid
      Src: /src/libpldm/src/transport/mctp-demux.c:187,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - t
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 202
    functionName: pldm_transport_mctp_demux_recv
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached:
    - pldm_transport_mctp_demux_get_tid
    - transport_to_demux
    - free
    - recv
    - malloc
    - recvmsg
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_mctp_demux_recv(struct pldm_transport
      *t, pldm_tid_t *tid,\n\t\t\t       void **pldm_msg, size_t *msg_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transport_to_demux
      Src: /src/libpldm/src/transport/mctp-demux.c:208,1
    - Dst: pldm_transport_mctp_demux_get_eid
      Src: /src/libpldm/src/transport/mctp-demux.c:210,1
    - Dst: pldm_socket_sndbuf_accomodate
      Src: /src/libpldm/src/transport/mctp-demux.c:227,1
    - Dst: sendmsg
      Src: /src/libpldm/src/transport/mctp-demux.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - t
    - tid
    - pldm_msg
    - msg_len
    argTypes:
    - struct pldm_transport*
    - pldm_tid_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: pldm_transport_mctp_demux_send
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached:
    - transport_to_demux
    - sendmsg
    - pldm_transport_mctp_demux_get_eid
    - pldm_socket_sndbuf_accomodate
    linkageType: ''
    returnType: pldm_requester_rc_t
    signature: "pldm_requester_rc_t pldm_transport_mctp_demux_send(struct pldm_transport
      *t, pldm_tid_t tid,\n\t\t\t       const void *pldm_msg, size_t msg_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpldm/src/transport/mctp-demux.c:247,1
    - Dst: pldm_transport_mctp_demux_open
      Src: /src/libpldm/src/transport/mctp-demux.c:257,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:259,1
    - Dst: pldm_socket_sndbuf_init
      Src: /src/libpldm/src/transport/mctp-demux.c:263,1
    - Dst: close
      Src: /src/libpldm/src/transport/mctp-demux.c:264,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_mctp_demux**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 271
    functionName: pldm_transport_mctp_demux_init
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 1
    functionsReached:
    - pldm_transport_mctp_demux_open
    - calloc
    - pldm_socket_sndbuf_init
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_transport_mctp_demux_init(struct pldm_transport_mctp_demux
      **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libpldm/src/transport/mctp-demux.c:279,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_mctp_demux*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: pldm_transport_mctp_demux_destroy
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 2
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_transport_mctp_demux_destroy(struct pldm_transport_mctp_demux
      *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpldm/src/transport/mctp-demux.c:288,1
    - Dst: dup
      Src: /src/libpldm/src/transport/mctp-demux.c:301,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:303,1
    - Dst: pldm_socket_sndbuf_init
      Src: /src/libpldm/src/transport/mctp-demux.c:307,1
    - Dst: close
      Src: /src/libpldm/src/transport/mctp-demux.c:308,1
    - Dst: free
      Src: /src/libpldm/src/transport/mctp-demux.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - mctp_fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 314
    functionName: pldm_transport_mctp_demux_init_with_fd
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached:
    - calloc
    - pldm_socket_sndbuf_init
    - dup
    - free
    - close
    linkageType: ''
    returnType: struct pldm_transport_mctp_demux
    signature: 'struct pldm_transport_mctp_demux *

      pldm_transport_mctp_demux_init_with_fd(int mctp_fd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_transport_mctp_demux*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: pldm_transport_mctp_demux_get_socket_fd
    functionSourceFile: /src/libpldm/src/transport/mctp-demux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_transport_mctp_demux_get_socket_fd(\n\tstruct pldm_transport_mctp_demux
      *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_cc_only_resp
      Src: /src/libpldm/src/firmware_device/fd.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ccode
    - req_hdr
    - resp
    - resp_payload_len
    argTypes:
    - uint8_t
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: pldm_fd_reply_cc
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - encode_cc_only_resp
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_reply_cc(uint8_t ccode,\n\t\t\t    const
      struct pldm_header_info *req_hdr,\n\t\t\t    struct pldm_msg *resp, size_t *resp_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:87,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - err
    - req_hdr
    - resp
    - resp_payload_len
    argTypes:
    - int
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t*
    assertStmts:
    - condition: (err < 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: pldm_fd_reply_errno
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_reply_cc
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_reply_errno(int err, const struct pldm_header_info
      *req_hdr,\n\t\t\t       struct pldm_msg *resp, size_t *resp_payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - state
    argTypes:
    - struct pldm_fd*
    - enum pldm_firmware_device_states
    assertStmts:
    - condition: (state != PLDM_FD_STATE_IDLE)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: pldm_fd_set_state
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_set_state(struct pldm_fd *fd,\n\t\t\t      enum
      pldm_firmware_device_states state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - reason
    argTypes:
    - struct pldm_fd*
    - enum pldm_get_status_reason_code_values
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: pldm_fd_set_idle
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_set_idle(struct pldm_fd *fd,\n\t\t\t     enum
      pldm_get_status_reason_code_values reason)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_set_idle
      Src: /src/libpldm/src/firmware_device/fd.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - fd
    argTypes:
    - struct pldm_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: pldm_fd_idle_timeout
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_set_idle
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_idle_timeout(struct pldm_fd *fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - aux_state
    - aux_state_status
    argTypes:
    - struct pldm_fd*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: pldm_fd_get_aux_state
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_get_aux_state(const struct pldm_fd *fd,
      uint8_t *aux_state,\n\t\t\t\t  uint8_t *aux_state_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_fd*::ops::now
      Src: /src/libpldm/src/firmware_device/fd.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - struct pldm_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: pldm_fd_now
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - struct pldm_fd*::ops::now
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_now(struct pldm_fd *fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:203,1
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - fd
    argTypes:
    - struct pldm_fd*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 223
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionName: pldm_fd_req_should_send
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_now
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_req_should_send(struct pldm_fd *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct pldm_fd_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: pldm_fd_req_next_instance
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_req_next_instance(struct pldm_fd_req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:246,1
    - Dst: struct pldm_fd*::ops::device_identifiers
      Src: /src/libpldm/src/firmware_device/fd.c:251,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:254,1
    - Dst: encode_query_device_identifiers_resp
      Src: /src/libpldm/src/firmware_device/fd.c:258,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - fd
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 267
    functionName: pldm_fd_qdi
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_reply_errno
    - encode_query_device_identifiers_resp
    - struct pldm_fd*::ops::device_identifiers
    - pldm_fd_reply_cc
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_qdi(struct pldm_fd *fd, const struct pldm_header_info
      *hdr,\n\t\t       const struct pldm_msg *req LIBPLDM_CC_UNUSED,\n\t\t       size_t
      req_payload_len, struct pldm_msg *resp,\n\t\t       size_t *resp_payload_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/firmware_device/fd.c:278,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:283,1
    - Dst: struct pldm_fd*::ops::components
      Src: /src/libpldm/src/firmware_device/fd.c:288,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:290,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/firmware_device/fd.c:294,1
    - Dst: struct pldm_fd*::ops::imageset_versions
      Src: /src/libpldm/src/firmware_device/fd.c:308,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/firmware_device/fd.c:312,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:313,1
    - Dst: encode_get_firmware_parameters_resp
      Src: /src/libpldm/src/firmware_device/fd.c:318,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/firmware_device/fd.c:321,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:322,1
    - Dst: pldm_msgbuf_skip
      Src: /src/libpldm/src/firmware_device/fd.c:325,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/firmware_device/fd.c:327,1
    - Dst: pldm_msgbuf_peek_remaining
      Src: /src/libpldm/src/firmware_device/fd.c:351,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/firmware_device/fd.c:352,1
    - Dst: encode_get_firmware_parameters_resp_comp_entry
      Src: /src/libpldm/src/firmware_device/fd.c:355,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/firmware_device/fd.c:358,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:359,1
    - Dst: pldm_msgbuf_skip
      Src: /src/libpldm/src/firmware_device/fd.c:363,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/firmware_device/fd.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 6
    argNames:
    - fd
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 368
    functionName: pldm_fd_fw_param
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - encode_get_firmware_parameters_resp
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_skip
    - pldm_fd_reply_cc
    - pldm_msgbuf_init_errno
    - struct pldm_fd*::ops::imageset_versions
    - pldm_msgbuf_discard
    - encode_get_firmware_parameters_resp_comp_entry
    - pldm_msgbuf_peek_remaining
    - pldm_fd_reply_errno
    - pldm_msgbuf_complete_used
    - struct pldm_fd*::ops::components
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_fw_param(struct pldm_fd *fd,\n\t\t\t    const
      struct pldm_header_info *hdr,\n\t\t\t    const struct pldm_msg *req LIBPLDM_CC_UNUSED,\n\t\t\t
      \   size_t req_payload_len, struct pldm_msg *resp,\n\t\t\t    size_t *resp_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:385,1
    - Dst: decode_request_update_req
      Src: /src/libpldm/src/firmware_device/fd.c:389,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:391,1
    - Dst: encode_request_update_resp
      Src: /src/libpldm/src/firmware_device/fd.c:395,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:398,1
    - Dst: struct pldm_fd*::ops::transfer_size
      Src: /src/libpldm/src/firmware_device/fd.c:404,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - fd
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    - address
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 419
    functionName: pldm_fd_request_update
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - struct pldm_fd*::ops::transfer_size
    - pldm_fd_reply_cc
    - pldm_fd_set_state
    - decode_request_update_req
    - pldm_fd_reply_errno
    - encode_request_update_resp
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_request_update(struct pldm_fd *fd,\n\t\t\t\t
      \ const struct pldm_header_info *hdr,\n\t\t\t\t  const struct pldm_msg *req,\n\t\t\t\t
      \ size_t req_payload_len, struct pldm_msg *resp,\n\t\t\t\t  size_t *resp_payload_len,
      uint8_t address)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_fd*::ops::cancel_update_component
      Src: /src/libpldm/src/firmware_device/fd.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - fd
    argTypes:
    - struct pldm_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 450
    functionName: pldm_fd_maybe_cancel_component
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - struct pldm_fd*::ops::cancel_update_component
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_maybe_cancel_component(struct pldm_fd *fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_fd*::ops::components
      Src: /src/libpldm/src/firmware_device/fd.c:464,1
    - Dst: struct pldm_fd*::ops::update_component
      Src: /src/libpldm/src/firmware_device/fd.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - update
    - comp
    argTypes:
    - struct pldm_fd*
    - bool
    - struct pldm_firmware_update_component*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 484
    functionName: pldm_fd_check_update_component
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - struct pldm_fd*::ops::update_component
    - struct pldm_fd*::ops::components
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_check_update_component(\n\tstruct pldm_fd
      *fd, bool update,\n\tconst struct pldm_firmware_update_component *comp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:497,1
    - Dst: decode_pass_component_table_req
      Src: /src/libpldm/src/firmware_device/fd.c:506,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:508,1
    - Dst: memcpy
      Src: /src/libpldm/src/firmware_device/fd.c:516,1
    - Dst: pldm_fd_check_update_component
      Src: /src/libpldm/src/firmware_device/fd.c:519,1
    - Dst: encode_pass_component_table_resp
      Src: /src/libpldm/src/firmware_device/fd.c:527,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:530,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - fd
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: pldm_fd_pass_comp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_reply_errno
    - encode_pass_component_table_resp
    - decode_pass_component_table_req
    - pldm_fd_reply_cc
    - pldm_fd_set_state
    - memcpy
    - pldm_fd_check_update_component
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_pass_comp(struct pldm_fd *fd,\n\t\t\t     const
      struct pldm_header_info *hdr,\n\t\t\t     const struct pldm_msg *req, size_t
      req_payload_len,\n\t\t\t     struct pldm_msg *resp, size_t *resp_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:552,1
    - Dst: decode_update_component_req
      Src: /src/libpldm/src/firmware_device/fd.c:556,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:558,1
    - Dst: memcpy
      Src: /src/libpldm/src/firmware_device/fd.c:570,1
    - Dst: pldm_fd_check_update_component
      Src: /src/libpldm/src/firmware_device/fd.c:573,1
    - Dst: encode_update_component_resp
      Src: /src/libpldm/src/firmware_device/fd.c:588,1
    - Dst: struct pldm_fd*::ops::cancel_update_component
      Src: /src/libpldm/src/firmware_device/fd.c:595,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:598,1
    - Dst: memset
      Src: /src/libpldm/src/firmware_device/fd.c:603,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:607,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - fd
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 611
    functionName: pldm_fd_update_comp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - encode_update_component_resp
    - pldm_fd_reply_errno
    - struct pldm_fd*::ops::cancel_update_component
    - pldm_fd_reply_cc
    - pldm_fd_set_state
    - memset
    - memcpy
    - pldm_fd_check_update_component
    - decode_update_component_req
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_update_comp(struct pldm_fd *fd,\n\t\t\t
      \      const struct pldm_header_info *hdr,\n\t\t\t       const struct pldm_msg
      *req,\n\t\t\t       size_t req_payload_len, struct pldm_msg *resp,\n\t\t\t       size_t
      *resp_payload_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:624,1
    - Dst: pldm_fd_get_aux_state
      Src: /src/libpldm/src/firmware_device/fd.c:635,1
    - Dst: encode_get_status_resp
      Src: /src/libpldm/src/firmware_device/fd.c:665,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:667,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - fd
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 671
    functionName: pldm_fd_get_status
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_reply_errno
    - pldm_fd_get_aux_state
    - encode_get_status_resp
    - pldm_fd_reply_cc
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_get_status(struct pldm_fd *fd,\n\t\t\t
      \     const struct pldm_header_info *hdr,\n\t\t\t      const struct pldm_msg
      *req LIBPLDM_CC_UNUSED,\n\t\t\t      size_t req_payload_len, struct pldm_msg
      *resp,\n\t\t\t      size_t *resp_payload_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:683,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:693,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:698,1
    - Dst: pldm_fd_maybe_cancel_component
      Src: /src/libpldm/src/firmware_device/fd.c:703,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - fd
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 707
    functionName: pldm_fd_cancel_update_comp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_maybe_cancel_component
    - pldm_fd_reply_cc
    - pldm_fd_set_state
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_cancel_update_comp(\n\tstruct pldm_fd *fd,
      const struct pldm_header_info *hdr,\n\tconst struct pldm_msg *req LIBPLDM_CC_UNUSED,
      size_t req_payload_len,\n\tstruct pldm_msg *resp, size_t *resp_payload_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:720,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:725,1
    - Dst: encode_cancel_update_resp
      Src: /src/libpldm/src/firmware_device/fd.c:735,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:738,1
    - Dst: pldm_fd_maybe_cancel_component
      Src: /src/libpldm/src/firmware_device/fd.c:741,1
    - Dst: pldm_fd_set_idle
      Src: /src/libpldm/src/firmware_device/fd.c:742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - fd
    - hdr
    - LIBPLDM_CC_UNUSED
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 745
    functionName: pldm_fd_cancel_update
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - encode_cancel_update_resp
    - pldm_fd_set_idle
    - pldm_fd_reply_cc
    - pldm_fd_maybe_cancel_component
    - pldm_fd_reply_errno
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_cancel_update(struct pldm_fd *fd,\n\t\t\t\t
      const struct pldm_header_info *hdr,\n\t\t\t\t const struct pldm_msg *req LIBPLDM_CC_UNUSED,\n\t\t\t\t
      size_t req_payload_len, struct pldm_msg *resp,\n\t\t\t\t size_t *resp_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_activate_firmware_req
      Src: /src/libpldm/src/firmware_device/fd.c:760,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:763,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:767,1
    - Dst: struct pldm_fd*::ops::activate
      Src: /src/libpldm/src/firmware_device/fd.c:772,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:777,1
    - Dst: pldm_fd_set_idle
      Src: /src/libpldm/src/firmware_device/fd.c:778,1
    - Dst: encode_activate_firmware_resp
      Src: /src/libpldm/src/firmware_device/fd.c:785,1
    - Dst: pldm_fd_reply_errno
      Src: /src/libpldm/src/firmware_device/fd.c:788,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - fd
    - hdr
    - req
    - req_payload_len
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_header_info*
    - struct pldm_msg*
    - size_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 796
    functionName: pldm_fd_activate_firmware
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - decode_activate_firmware_req
    - pldm_fd_set_idle
    - pldm_fd_reply_cc
    - pldm_fd_set_state
    - encode_activate_firmware_resp
    - struct pldm_fd*::ops::activate
    - pldm_fd_reply_errno
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_activate_firmware(struct pldm_fd *fd,\n\t\t\t\t
      \    const struct pldm_header_info *hdr,\n\t\t\t\t     const struct pldm_msg
      *req,\n\t\t\t\t     size_t req_payload_len,\n\t\t\t\t     struct pldm_msg *resp,\n\t\t\t\t
      \    size_t *resp_payload_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:804,1
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - struct pldm_fd*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/libpldm/src/firmware_device/fd.c
    - condition: (false)
      pos:
        line_end: 808
        line_start: 808
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 818
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 818
    functionName: pldm_fd_fwdata_size
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL pldm_fd_fwdata_size(struct pldm_fd *fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_fwdata_size
      Src: /src/libpldm/src/firmware_device/fd.c:860,1
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:870,1
    - Dst: struct pldm_fd*::ops::firmware_data
      Src: /src/libpldm/src/firmware_device/fd.c:875,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - fd
    - resp
    - resp_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 894
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 894
    functionName: pldm_fd_handle_fwdata_resp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_fwdata_size
    - struct pldm_fd*::ops::firmware_data
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_handle_fwdata_resp(struct pldm_fd *fd,\n\t\t\t\t
      \     const struct pldm_msg *resp,\n\t\t\t\t      size_t resp_payload_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpldm/src/firmware_device/fd.c:920,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - LIBPLDM_CC_UNUSED
    - resp_payload_len LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 931
    functionName: pldm_fd_handle_transfer_complete_resp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - memset
    - pldm_fd_set_state
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_handle_transfer_complete_resp(\n\tstruct
      pldm_fd *fd, const struct pldm_msg *resp LIBPLDM_CC_UNUSED,\n\tsize_t resp_payload_len
      LIBPLDM_CC_UNUSED)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:947,1
    - Dst: memset
      Src: /src/libpldm/src/firmware_device/fd.c:954,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - fd
    - LIBPLDM_CC_UNUSED
    - resp_payload_len LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t
    assertStmts:
    - condition: (fd->req.complete)
      pos:
        line_end: 946
        line_start: 946
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 965
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 965
    functionName: pldm_fd_handle_verify_complete_resp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - memset
    - pldm_fd_set_state
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_handle_verify_complete_resp(\n\tstruct
      pldm_fd *fd, const struct pldm_msg *resp LIBPLDM_CC_UNUSED,\n\tsize_t resp_payload_len
      LIBPLDM_CC_UNUSED)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:981,1
    - Dst: pldm_fd_set_state
      Src: /src/libpldm/src/firmware_device/fd.c:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - LIBPLDM_CC_UNUSED
    - resp_payload_len LIBPLDM_CC_UNUSED
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t
    assertStmts:
    - condition: (fd->req.complete)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 995
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 995
    functionName: pldm_fd_handle_apply_complete_resp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_set_state
    - assert
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_handle_apply_complete_resp(\n\tstruct pldm_fd
      *fd, const struct pldm_msg *resp LIBPLDM_CC_UNUSED,\n\tsize_t resp_payload_len
      LIBPLDM_CC_UNUSED)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1029,1
    - Dst: pldm_fd_handle_fwdata_resp
      Src: /src/libpldm/src/firmware_device/fd.c:1033,1
    - Dst: pldm_fd_handle_transfer_complete_resp
      Src: /src/libpldm/src/firmware_device/fd.c:1036,1
    - Dst: pldm_fd_handle_verify_complete_resp
      Src: /src/libpldm/src/firmware_device/fd.c:1040,1
    - Dst: pldm_fd_handle_apply_complete_resp
      Src: /src/libpldm/src/firmware_device/fd.c:1044,1
    - Dst: assert
      Src: /src/libpldm/src/firmware_device/fd.c:1049,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - fd
    - address
    - resp_msg
    - resp_len
    argTypes:
    - struct pldm_fd*
    - pldm_tid_t
    - void*
    - size_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/libpldm/src/firmware_device/fd.c
    constantsTouched: []
    func_position:
      end: 1052
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1052
    functionName: pldm_fd_handle_resp
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_now
    - pldm_fd_handle_transfer_complete_resp
    - assert
    - pldm_fd_handle_apply_complete_resp
    - pldm_fd_handle_fwdata_resp
    - pldm_fd_handle_verify_complete_resp
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_handle_resp(struct pldm_fd *fd, pldm_tid_t
      address,\n\t\t\t       const void *resp_msg, size_t resp_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_req_should_send
      Src: /src/libpldm/src/firmware_device/fd.c:1062,1
    - Dst: pldm_fd_req_next_instance
      Src: /src/libpldm/src/firmware_device/fd.c:1068,1
    - Dst: encode_transfer_complete_req
      Src: /src/libpldm/src/firmware_device/fd.c:1072,1
    - Dst: pldm_fd_fwdata_size
      Src: /src/libpldm/src/firmware_device/fd.c:1078,1
    - Dst: encode_request_firmware_data_req
      Src: /src/libpldm/src/firmware_device/fd.c:1081,1
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - req
    - req_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1096
    functionName: pldm_fd_progress_download
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_req_next_instance
    - pldm_fd_now
    - pldm_fd_fwdata_size
    - encode_transfer_complete_req
    - encode_request_firmware_data_req
    - pldm_fd_req_should_send
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_progress_download(struct pldm_fd *fd, struct
      pldm_msg *req,\n\t\t\t\t     size_t *req_payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_req_should_send
      Src: /src/libpldm/src/firmware_device/fd.c:1105,1
    - Dst: struct pldm_fd*::ops::verify
      Src: /src/libpldm/src/firmware_device/fd.c:1114,1
    - Dst: pldm_fd_req_next_instance
      Src: /src/libpldm/src/firmware_device/fd.c:1130,1
    - Dst: encode_verify_complete_req
      Src: /src/libpldm/src/firmware_device/fd.c:1131,1
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - fd
    - req
    - req_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1144
    functionName: pldm_fd_progress_verify
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_req_next_instance
    - encode_verify_complete_req
    - pldm_fd_now
    - struct pldm_fd*::ops::verify
    - pldm_fd_req_should_send
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_progress_verify(struct pldm_fd *fd, struct
      pldm_msg *req,\n\t\t\t\t   size_t *req_payload_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_req_should_send
      Src: /src/libpldm/src/firmware_device/fd.c:1153,1
    - Dst: struct pldm_fd*::ops::apply
      Src: /src/libpldm/src/firmware_device/fd.c:1162,1
    - Dst: pldm_fd_req_next_instance
      Src: /src/libpldm/src/firmware_device/fd.c:1183,1
    - Dst: encode_apply_complete_req
      Src: /src/libpldm/src/firmware_device/fd.c:1188,1
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - fd
    - req
    - req_payload_len
    argTypes:
    - struct pldm_fd*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1201
    functionName: pldm_fd_progress_apply
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached:
    - pldm_fd_req_next_instance
    - pldm_fd_now
    - struct pldm_fd*::ops::apply
    - encode_apply_complete_req
    - pldm_fd_req_should_send
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_fd_progress_apply(struct pldm_fd *fd, struct
      pldm_msg *req,\n\t\t\t\t  size_t *req_payload_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/firmware_device/fd.c:1207,1
    - Dst: pldm_fd_setup
      Src: /src/libpldm/src/firmware_device/fd.c:1209,1
    - Dst: free
      Src: /src/libpldm/src/firmware_device/fd.c:1213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ops
    - ops_ctx
    - control
    argTypes:
    - struct pldm_fd_ops*
    - void*
    - struct pldm_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1217
    functionName: pldm_fd_new
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - pldm_fd_setup
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING *pldm_fd_new(const struct pldm_fd_ops *ops, void
      *ops_ctx,\n\t\t\t    struct pldm_control *control)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpldm/src/firmware_device/fd.c:1243,1
    - Dst: pldm_control_add_type
      Src: /src/libpldm/src/firmware_device/fd.c:1250,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - fd
    - pldm_fd_size
    - ops
    - ops_ctx
    - control
    argTypes:
    - struct pldm_fd*
    - size_t
    - struct pldm_fd_ops*
    - void*
    - struct pldm_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1260
    functionName: pldm_fd_setup
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 1
    functionsReached:
    - memset
    - pldm_control_add_type
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_fd_setup(struct pldm_fd *fd, size_t pldm_fd_size,\n\t\t
      \ const struct pldm_fd_ops *ops, void *ops_ctx,\n\t\t  struct pldm_control *control)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header
      Src: /src/libpldm/src/firmware_device/fd.c:1284,1
    - Dst: pldm_fd_handle_resp
      Src: /src/libpldm/src/firmware_device/fd.c:1296,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:1325,1
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1336,1
    - Dst: pldm_fd_qdi
      Src: /src/libpldm/src/firmware_device/fd.c:1346,1
    - Dst: pldm_fd_fw_param
      Src: /src/libpldm/src/firmware_device/fd.c:1350,1
    - Dst: pldm_fd_request_update
      Src: /src/libpldm/src/firmware_device/fd.c:1354,1
    - Dst: pldm_fd_pass_comp
      Src: /src/libpldm/src/firmware_device/fd.c:1359,1
    - Dst: pldm_fd_update_comp
      Src: /src/libpldm/src/firmware_device/fd.c:1363,1
    - Dst: pldm_fd_get_status
      Src: /src/libpldm/src/firmware_device/fd.c:1367,1
    - Dst: pldm_fd_cancel_update_comp
      Src: /src/libpldm/src/firmware_device/fd.c:1371,1
    - Dst: pldm_fd_cancel_update
      Src: /src/libpldm/src/firmware_device/fd.c:1375,1
    - Dst: pldm_fd_activate_firmware
      Src: /src/libpldm/src/firmware_device/fd.c:1379,1
    - Dst: pldm_fd_reply_cc
      Src: /src/libpldm/src/firmware_device/fd.c:1383,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 6
    argNames:
    - fd
    - remote_address
    - in_msg
    - in_len
    - out_msg
    - out_len
    argTypes:
    - struct pldm_fd*
    - pldm_tid_t
    - void*
    - size_t
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1392
    functionName: pldm_fd_handle_msg
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 1
    functionsReached:
    - pldm_fd_now
    - pldm_fd_activate_firmware
    - pldm_fd_handle_resp
    - pldm_fd_get_status
    - pldm_fd_cancel_update
    - pldm_fd_reply_cc
    - unpack_pldm_header
    - pldm_fd_pass_comp
    - pldm_fd_qdi
    - pldm_fd_fw_param
    - pldm_fd_cancel_update_comp
    - pldm_fd_update_comp
    - pldm_fd_request_update
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_fd_handle_msg(struct pldm_fd *fd, pldm_tid_t
      remote_address,\n\t\t       const void *in_msg, size_t in_len, void *out_msg,\n\t\t
      \      size_t *out_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pldm_fd_progress_download
      Src: /src/libpldm/src/firmware_device/fd.c:1417,1
    - Dst: pldm_fd_progress_verify
      Src: /src/libpldm/src/firmware_device/fd.c:1420,1
    - Dst: pldm_fd_progress_apply
      Src: /src/libpldm/src/firmware_device/fd.c:1423,1
    - Dst: pldm_fd_now
      Src: /src/libpldm/src/firmware_device/fd.c:1448,1
    - Dst: pldm_fd_maybe_cancel_component
      Src: /src/libpldm/src/firmware_device/fd.c:1450,1
    - Dst: pldm_fd_idle_timeout
      Src: /src/libpldm/src/firmware_device/fd.c:1451,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - fd
    - out_msg
    - out_len
    - address
    argTypes:
    - struct pldm_fd*
    - void*
    - size_t*
    - pldm_tid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1394
    functionDepth: 3
    functionLinenumber: 1394
    functionLinenumberEnd: 1462
    functionName: pldm_fd_progress
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 1
    functionsReached:
    - pldm_fd_now
    - pldm_fd_progress_verify
    - pldm_fd_progress_apply
    - pldm_fd_maybe_cancel_component
    - pldm_fd_progress_download
    - pldm_fd_idle_timeout
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_fd_progress(struct pldm_fd *fd, void *out_msg,
      size_t *out_len,\n\t\t     pldm_tid_t *address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - time
    argTypes:
    - struct pldm_fd*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1473
    functionName: pldm_fd_set_update_idle_timeout
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_fd_set_update_idle_timeout(struct pldm_fd
      *fd, uint32_t time)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - time
    argTypes:
    - struct pldm_fd*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1484
    functionName: pldm_fd_set_request_retry_time
    functionSourceFile: /src/libpldm/src/firmware_device/fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm_fd_set_request_retry_time(struct pldm_fd *fd,
      uint32_t time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libpldm/src/environ/time.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clockid
    - ts
    argTypes:
    - clockid_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 11
    functionName: libpldm_clock_gettime
    functionSourceFile: /src/libpldm/src/environ/time.c
    functionUses: 1
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING libpldm_clock_gettime(clockid_t clockid, struct
      timespec *ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:20,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:33,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:38,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:44,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:45,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_open_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 48
    functionName: encode_pldm_file_df_open_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_file_df_open_req(uint8_t instance_id,\n\t\t\t\t
      const struct pldm_file_df_open_req *req,\n\t\t\t\t struct pldm_msg *msg, size_t
      *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:55,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:62,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:68,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:69,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/file.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_open_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: decode_pldm_file_df_open_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_file_df_open_req(const struct pldm_msg
      *msg,\n\t\t\t\t size_t payload_length,\n\t\t\t\t struct pldm_file_df_open_req
      *req)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:79,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:92,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:97,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:103,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:105,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_open_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 109
    functionName: encode_pldm_file_df_open_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_file_df_open_resp(uint8_t instance_id,\n\t\t\t\t
      \ const struct pldm_file_df_open_resp *resp,\n\t\t\t\t  struct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:116,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/file.c:123,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:129,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:135,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/file.c:138,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:141,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/file.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_open_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: decode_pldm_file_df_open_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_file_df_open_resp(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length,\n\t\t\t\t  struct pldm_file_df_open_resp
      *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:151,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:164,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:169,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:175,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:176,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_close_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 179
    functionName: encode_pldm_file_df_close_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_file_df_close_req(uint8_t instance_id,\n\t\t\t\t
      \ const struct pldm_file_df_close_req *req,\n\t\t\t\t  struct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:186,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:193,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:199,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:200,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/file.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_close_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: decode_pldm_file_df_close_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_file_df_close_req(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length,\n\t\t\t\t  struct pldm_file_df_close_req
      *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:210,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:223,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:228,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:234,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_close_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 237
    functionName: encode_pldm_file_df_close_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_file_df_close_resp(uint8_t instance_id,\n\t\t\t\t
      \  const struct pldm_file_df_close_resp *resp,\n\t\t\t\t   struct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/file.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_close_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: decode_pldm_file_df_close_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 2
    functionsReached:
    - pldm_msg_has_error
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_file_df_close_resp(const struct pldm_msg
      *msg,\n\t\t\t\t   size_t payload_length,\n\t\t\t\t   struct pldm_file_df_close_resp
      *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:258,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:271,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:276,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:282,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:283,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_heartbeat_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: encode_pldm_file_df_heartbeat_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_file_df_heartbeat_req(\n\tuint8_t instance_id,
      const struct pldm_file_df_heartbeat_req *req,\n\tstruct pldm_msg *msg, size_t
      *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:293,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/file.c:300,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:306,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:312,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:313,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/file.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_heartbeat_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: decode_pldm_file_df_heartbeat_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_file_df_heartbeat_resp(const struct
      pldm_msg *msg,\n\t\t\t\t       size_t payload_length,\n\t\t\t\t       struct
      pldm_file_df_heartbeat_resp *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:323,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:330,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:336,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/file.c:337,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/file.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_file_df_heartbeat_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 340
    functionName: decode_pldm_file_df_heartbeat_req
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_file_df_heartbeat_req(const struct
      pldm_msg *msg,\n\t\t\t\t      size_t payload_length,\n\t\t\t\t      struct pldm_file_df_heartbeat_req
      *req)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/file.c:347,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/file.c:360,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/file.c:365,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:371,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/file.c:373,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/file.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_file_df_heartbeat_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 377
    functionName: encode_pldm_file_df_heartbeat_resp
    functionSourceFile: /src/libpldm/src/dsp/file.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_file_df_heartbeat_resp(\n\tuint8_t
      instance_id, const struct pldm_file_df_heartbeat_resp *resp,\n\tstruct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - payload_length
    argTypes:
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: pldm_msg_has_error
    functionSourceFile: /src/libpldm/src/dsp/base.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_ALWAYS_INLINE
    signature: LIBPLDM_CC_ALWAYS_INLINE pldm_msg_has_error(const struct pldm_msg *msg,
      size_t payload_length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:53,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:80,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:84,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:85,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:86,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:87,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:88,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:89,1
    - Dst: HTOLE32
      Src: /src/libpldm/src/dsp/platform.c:92,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:93,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - effecter
    - allocation_size
    - possible_states
    - possible_states_size
    - actual_size
    argTypes:
    - struct pldm_state_effecter_pdr*
    - size_t
    - struct state_effecter_possible_states*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 97
    functionName: encode_state_effecter_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - memcpy
    - HTOLE16
    - HTOLE32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_state_effecter_pdr(\n\tstruct pldm_state_effecter_pdr
      *const effecter,\n\tconst size_t allocation_size,\n\tconst struct state_effecter_possible_states
      *const possible_states,\n\tconst size_t possible_states_size, size_t *const
      actual_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:133,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:159,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:162,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:163,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:164,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:165,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:166,1
    - Dst: HTOLE32
      Src: /src/libpldm/src/dsp/platform.c:169,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:170,1
    - Dst: HTOLE16
      Src: /src/libpldm/src/dsp/platform.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - sensor
    - allocation_size
    - possible_states
    - possible_states_size
    - actual_size
    argTypes:
    - struct pldm_state_sensor_pdr*
    - size_t
    - struct state_sensor_possible_states*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 174
    functionName: encode_state_sensor_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - memcpy
    - HTOLE16
    - HTOLE32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_state_sensor_pdr(\n\tstruct pldm_state_sensor_pdr
      *const sensor,\n\tconst size_t allocation_size,\n\tconst struct state_sensor_possible_states
      *const possible_states,\n\tconst size_t possible_states_size, size_t *const
      actual_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: encode_set_state_effecter_states_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 9
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_state_effecter_states_resp(uint8_t instance_id,\n\t\t\t\t\t
      \ uint8_t completion_code,\n\t\t\t\t\t  struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:223,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:230,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - instance_id
    - effecter_id
    - comp_effecter_count
    - field
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - set_effecter_state_field*
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: encode_set_state_effecter_states_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 17
    functionsReached:
    - htole16
    - memcpy
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_state_effecter_states_req(uint8_t instance_id,\n\t\t\t\t\t
      uint16_t effecter_id,\n\t\t\t\t\t uint8_t comp_effecter_count,\n\t\t\t\t\t set_effecter_state_field
      *field,\n\t\t\t\t\t struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 258
    functionName: decode_set_state_effecter_states_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_state_effecter_states_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t  size_t payload_length,\n\t\t\t\t\t  uint8_t *completion_code)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:268,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:281,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:285,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:288,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:289,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:291,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:291,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:295,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:299,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:300,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:303,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:305,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - msg
    - payload_length
    - effecter_id
    - comp_effecter_count
    - field
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint8_t*
    - set_effecter_state_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 309
    functionName: decode_set_state_effecter_states_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_state_effecter_states_req(const struct
      pldm_msg *msg,\n\t\t\t\t\t size_t payload_length,\n\t\t\t\t\t uint16_t *effecter_id,\n\t\t\t\t\t
      uint8_t *comp_effecter_count,\n\t\t\t\t\t set_effecter_state_field *field)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:317,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:330,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:333,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:336,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:337,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:338,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:339,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:340,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:342,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:344,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 7
    argNames:
    - msg
    - payload_length
    - record_hndl
    - data_transfer_hndl
    - transfer_op_flag
    - request_cnt
    - record_chg_num
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint32_t*
    - uint8_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 348
    functionName: decode_get_pdr_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_pdr_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t       uint32_t *record_hndl, uint32_t *data_transfer_hndl,\n\t\t
      \      uint8_t *transfer_op_flag, uint16_t *request_cnt,\n\t\t       uint16_t
      *record_chg_num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:367,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:377,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:379,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:381,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 9
    argNames:
    - instance_id
    - completion_code
    - next_record_hndl
    - next_data_transfer_hndl
    - transfer_flag
    - resp_cnt
    - record_data
    - transfer_crc
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint8_t*
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 394
    functionName: encode_get_pdr_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - htole16
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_get_pdr_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\tuint32_t next_record_hndl,\n\t\t\tuint32_t next_data_transfer_hndl,
      uint8_t transfer_flag,\n\t\t\tuint16_t resp_cnt, const uint8_t *record_data,\n\t\t\tuint8_t
      transfer_crc, struct pldm_msg *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length LIBPLDM_CC_UNUSED
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: encode_get_pdr_repository_info_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_pdr_repository_info_req(uint8_t instance_id,\n\t\t\t\t
      \      struct pldm_msg *msg,\n\t\t\t\t       size_t payload_length LIBPLDM_CC_UNUSED)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:432,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:444,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:448,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:451,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:452,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 10
    argNames:
    - instance_id
    - completion_code
    - repository_state
    - update_time
    - oem_update_time
    - record_count
    - repository_size
    - largest_record_size
    - data_transfer_handle_timeout
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 459
    functionName: encode_get_pdr_repository_info_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_pdr_repository_info_resp(\n\tuint8_t
      instance_id, uint8_t completion_code, uint8_t repository_state,\n\tconst uint8_t
      *update_time, const uint8_t *oem_update_time,\n\tuint32_t record_count, uint32_t
      repository_size,\n\tuint32_t largest_record_size, uint8_t data_transfer_handle_timeout,\n\tstruct
      pldm_msg *msg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:469,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:480,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:484,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:487,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:489,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:489,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:495,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:497,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:497,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:501,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:505,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:508,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:508,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:512,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:515,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:515,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:518,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:519,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:520,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:521,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:523,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:525,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 10
    argNames:
    - msg
    - payload_length
    - completion_code
    - repository_state
    - update_time
    - oem_update_time
    - record_count
    - repository_size
    - largest_record_size
    - data_transfer_handle_timeout
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 529
    functionName: decode_get_pdr_repository_info_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED
    signature: "LIBPLDM_ABI_DEPRECATED decode_get_pdr_repository_info_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint8_t
      *repository_state,\n\tuint8_t *update_time, uint8_t *oem_update_time, uint32_t
      *record_count,\n\tuint32_t *repository_size, uint32_t *largest_record_size,\n\tuint8_t
      *data_transfer_handle_timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:536,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/platform.c:543,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:549,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:556,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:558,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:561,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:563,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:567,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:570,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:574,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:577,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:578,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:579,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:580,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_pdr_repository_info_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 583
    functionName: decode_get_pdr_repository_info_resp_safe
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_get_pdr_repository_info_resp_safe(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_pdr_repository_info_resp
      *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:605,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:612,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:613,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:615,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 8
    argNames:
    - instance_id
    - record_hndl
    - data_transfer_hndl
    - transfer_op_flag
    - request_cnt
    - record_chg_num
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint16_t
    - uint16_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 619
    functionName: encode_get_pdr_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 12
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_pdr_req(uint8_t instance_id, uint32_t
      record_hndl,\n\t\t       uint32_t data_transfer_hndl, uint8_t transfer_op_flag,\n\t\t
      \      uint16_t request_cnt, uint16_t record_chg_num,\n\t\t       struct pldm_msg
      *msg, size_t payload_length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:629,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:638,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:641,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:644,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:646,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:646,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:650,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:653,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:654,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:655,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:656,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:658,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:658,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:663,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:667,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:670,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:670,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:675,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:678,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:680,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 10
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_record_hndl
    - next_data_transfer_hndl
    - transfer_flag
    - resp_cnt
    - record_data
    - record_data_length
    - transfer_crc
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint32_t*
    - uint8_t*
    - uint16_t*
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 684
    functionName: decode_get_pdr_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 12
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED
    signature: "LIBPLDM_ABI_DEPRECATED decode_get_pdr_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\tuint8_t *completion_code, uint32_t *next_record_hndl,\n\t\t\tuint32_t
      *next_data_transfer_hndl,\n\t\t\tuint8_t *transfer_flag, uint16_t *resp_cnt,\n\t\t\tuint8_t
      *record_data, size_t record_data_length,\n\t\t\tuint8_t *transfer_crc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:691,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/platform.c:698,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:704,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:710,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:711,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:712,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:714,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:716,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:719,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:721,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/platform.c:724,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:728,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:732,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:735,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - msg
    - payload_length
    - resp
    - resp_len
    - transfer_crc
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_get_pdr_resp*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 736
    functionName: decode_get_pdr_resp_safe
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_get_pdr_resp_safe(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t     struct pldm_get_pdr_resp *resp, size_t
      resp_len,\n\t\t\t     uint8_t *transfer_crc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:745,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:753,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:757,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:760,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:761,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:763,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:767,1
    - Dst: pldm_msgbuf_extract_effecter_value
      Src: /src/libpldm/src/dsp/platform.c:770,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:773,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - msg
    - payload_length
    - effecter_id
    - effecter_data_size
    - effecter_value
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint8_t*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 779
    functionName: decode_set_numeric_effecter_value_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_effecter_value
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_numeric_effecter_value_req(const struct
      pldm_msg *msg,\n\t\t\t\t\t  size_t payload_length,\n\t\t\t\t\t  uint16_t *effecter_id,\n\t\t\t\t\t
      \ uint8_t *effecter_data_size,\n\t\t\t\t\t  uint8_t effecter_value[4])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 809
    functionName: encode_set_numeric_effecter_value_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_numeric_effecter_value_resp(uint8_t
      instance_id,\n\t\t\t\t\t   uint8_t completion_code,\n\t\t\t\t\t   struct pldm_msg
      *msg,\n\t\t\t\t\t   size_t payload_length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:833,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:855,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:856,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:866,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:867,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:870,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - instance_id
    - effecter_id
    - effecter_data_size
    - effecter_value
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 874
    functionName: encode_set_numeric_effecter_value_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - htole16
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_numeric_effecter_value_req(uint8_t instance_id,\n\t\t\t\t\t
      \ uint16_t effecter_id,\n\t\t\t\t\t  uint8_t effecter_data_size,\n\t\t\t\t\t
      \ const uint8_t *effecter_value,\n\t\t\t\t\t  struct pldm_msg *msg,\n\t\t\t\t\t
      \ size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 892
    functionName: decode_set_numeric_effecter_value_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_numeric_effecter_value_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t   size_t payload_length,\n\t\t\t\t\t   uint8_t *completion_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:915,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - instance_id
    - completion_code
    - comp_sensor_count
    - field
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - get_sensor_state_field*
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 929
    functionName: encode_get_state_sensor_readings_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_state_sensor_readings_resp(uint8_t instance_id,\n\t\t\t\t\t
      \ uint8_t completion_code,\n\t\t\t\t\t  uint8_t comp_sensor_count,\n\t\t\t\t\t
      \ get_sensor_state_field *field,\n\t\t\t\t\t  struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:947,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - sensor_id
    - sensor_rearm
    - reserved
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - bitfield8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 960
    functionName: encode_get_state_sensor_readings_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 9
    functionsReached:
    - htole16
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_state_sensor_readings_req(uint8_t instance_id,\n\t\t\t\t\t
      uint16_t sensor_id,\n\t\t\t\t\t bitfield8_t sensor_rearm,\n\t\t\t\t\t uint8_t
      reserved, struct pldm_msg *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:969,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:978,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:982,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:985,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:987,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:987,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:991,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:994,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:996,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:996,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1000,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1004,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1005,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1006,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1007,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1010,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1012,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - comp_sensor_count
    - field
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - get_sensor_state_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1016
    functionName: decode_get_state_sensor_readings_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 9
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_state_sensor_readings_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t  size_t payload_length,\n\t\t\t\t\t  uint8_t *completion_code,\n\t\t\t\t\t
      \ uint8_t *comp_sensor_count,\n\t\t\t\t\t  get_sensor_state_field *field)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1025,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1032,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1036,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1039,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1040,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1041,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1043,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - msg
    - payload_length
    - sensor_id
    - sensor_rearm
    - reserved
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - bitfield8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1049
    functionName: decode_get_state_sensor_readings_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_state_sensor_readings_req(const struct
      pldm_msg *msg,\n\t\t\t\t\t size_t payload_length,\n\t\t\t\t\t uint16_t *sensor_id,\n\t\t\t\t\t
      bitfield8_t *sensor_rearm,\n\t\t\t\t\t uint8_t *reserved)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - event_data
    - event_data_size
    - sensor_id
    - sensor_event_class
    - sensor_offset
    - event_state
    - previous_event_state
    - actual_event_data_size
    argTypes:
    - struct pldm_sensor_event_data*
    - size_t
    - uint16_t
    - enum sensor_event_class_states
    - uint8_t
    - uint8_t
    - uint8_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1085
    functionName: encode_sensor_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - htole16
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_sensor_event_data(\n\tstruct pldm_sensor_event_data
      *const event_data,\n\tconst size_t event_data_size, const uint16_t sensor_id,\n\tconst
      enum sensor_event_class_states sensor_event_class,\n\tconst uint8_t sensor_offset,
      const uint8_t event_state,\n\tconst uint8_t previous_event_state,\n\tsize_t
      *const actual_event_data_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1094,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1102,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1106,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1109,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1110,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1111,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1113,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - msg
    - payload_length
    - format_version
    - tid
    - event_class
    - event_data_offset
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1122
    functionName: decode_platform_event_message_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_platform_event_message_req(const struct
      pldm_msg *msg,\n\t\t\t\t      size_t payload_length,\n\t\t\t\t      uint8_t
      *format_version, uint8_t *tid,\n\t\t\t\t      uint8_t *event_class,\n\t\t\t\t
      \     size_t *event_data_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - transfer_operation_flag
    - event_id_to_acknowledge
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1140
    functionName: pldm_platform_poll_for_platform_event_message_validate
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pldm_platform_poll_for_platform_event_message_validate(\n\tuint8_t
      transfer_operation_flag, uint16_t event_id_to_acknowledge)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1148,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1157,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1161,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1164,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1165,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1167,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1167,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1170,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1173,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1174,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1176,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1176,1
    - Dst: pldm_platform_poll_for_platform_event_message_validate
      Src: /src/libpldm/src/dsp/platform.c:1179,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1182,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1185,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 6
    argNames:
    - msg
    - payload_length
    - format_version
    - transfer_operation_flag
    - data_transfer_handle
    - event_id_to_acknowledge
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint32_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1191
    functionName: decode_poll_for_platform_event_message_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_platform_poll_for_platform_event_message_validate
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_poll_for_platform_event_message_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *format_version, uint8_t
      *transfer_operation_flag,\n\tuint32_t *data_transfer_handle, uint16_t *event_id_to_acknowledge)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - platform_event_status
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1224
    functionName: encode_platform_event_message_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_platform_event_message_resp(uint8_t instance_id,\n\t\t\t\t
      \      uint8_t completion_code,\n\t\t\t\t       uint8_t platform_event_status,\n\t\t\t\t
      \      struct pldm_msg *msg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1234,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1247,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1252,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1256,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1259,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1260,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1261,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1263,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1263,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1269,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1273,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1275,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1282,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1285,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1286,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1287,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1288,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1290,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1290,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/platform.c:1294,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1297,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1297,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:1302,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1305,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1307,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 12
    argNames:
    - instance_id
    - completion_code
    - tid
    - event_id
    - next_data_transfer_handle
    - transfer_flag
    - event_class
    - event_data_size
    - event_data
    - checksum
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - uint32_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1311
    functionName: encode_poll_for_platform_event_message_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pack_pldm_header
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_poll_for_platform_event_message_resp(\n\tuint8_t
      instance_id, uint8_t completion_code, uint8_t tid,\n\tuint16_t event_id, uint32_t
      next_data_transfer_handle,\n\tuint8_t transfer_flag, uint8_t event_class, uint32_t
      event_data_size,\n\tuint8_t *event_data, uint32_t checksum, struct pldm_msg
      *msg,\n\tsize_t payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1353,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 8
    argNames:
    - instance_id
    - format_version
    - tid
    - event_class
    - event_data
    - event_data_length
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1366
    functionName: encode_platform_event_message_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 24
    functionsReached:
    - memcpy
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_platform_event_message_req(\n\tuint8_t instance_id,
      uint8_t format_version, uint8_t tid,\n\tuint8_t event_class, const uint8_t *event_data,\n\tsize_t
      event_data_length, struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1374,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1382,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1385,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1388,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1390,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1390,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1394,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1397,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1399,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1399,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1403,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1406,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - platform_event_status
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1412
    functionName: decode_platform_event_message_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 32
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_platform_event_message_resp(const struct
      pldm_msg *msg,\n\t\t\t\t       size_t payload_length,\n\t\t\t\t       uint8_t
      *completion_code,\n\t\t\t\t       uint8_t *platform_event_status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - instance_id
    - event_receiver_max_buffer_size
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1436
    functionName: encode_event_message_buffer_size_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 5
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_event_message_buffer_size_req(uint8_t instance_id,\n\t\t\t\t\t
      uint16_t event_receiver_max_buffer_size,\n\t\t\t\t\t struct pldm_msg *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1444,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1452,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1456,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1459,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1461,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1461,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1465,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1468,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1470,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - terminus_max_buffer_size
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1476
    functionName: decode_event_message_buffer_size_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_event_message_buffer_size_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t  size_t payload_length,\n\t\t\t\t\t  uint8_t *completion_code,\n\t\t\t\t\t
      \ uint16_t *terminus_max_buffer_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - instance_id
    - format_version
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1507
    functionName: encode_event_message_supported_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_event_message_supported_req(uint8_t instance_id,\n\t\t\t\t
      \      uint8_t format_version,\n\t\t\t\t       struct pldm_msg *msg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1519,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1529,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1533,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1536,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1538,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1538,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1542,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1545,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1547,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1547,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1551,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1554,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1556,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1558,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1558,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1562,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1564,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1571,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1575,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1578,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1580,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 8
    argNames:
    - msg
    - payload_length
    - completion_code
    - synchrony_config
    - synchrony_config_support
    - number_event_class_returned
    - event_class
    - event_class_count
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - bitfield8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1584
    functionName: decode_event_message_supported_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_event_message_supported_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\tsize_t payload_length,\n\t\t\t\t\tuint8_t *completion_code,\n\t\t\t\t\tuint8_t
      *synchrony_config,\n\t\t\t\t\tbitfield8_t *synchrony_config_support,\n\t\t\t\t\tuint8_t
      *number_event_class_returned,\n\t\t\t\t\tuint8_t *event_class,\n\t\t\t\t\tuint8_t
      event_class_count)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1592,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1601,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1604,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1608,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1614,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1615,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1617,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1617,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1623,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1629,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1637,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1641,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1647,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1649,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - event_data
    - event_data_length
    - sensor_id
    - sensor_event_class_type
    - event_class_data_offset
    argTypes:
    - uint8_t*
    - size_t
    - uint16_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1653
    functionName: decode_sensor_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 18
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_sensor_event_data(const uint8_t *event_data,\n\t\t\t
      \    size_t event_data_length, uint16_t *sensor_id,\n\t\t\t     uint8_t *sensor_event_class_type,\n\t\t\t
      \    size_t *event_class_data_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1659,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1667,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1671,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1674,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1675,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1677,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - sensor_data
    - sensor_data_length
    - present_op_state
    - previous_op_state
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1655
    functionDepth: 1
    functionLinenumber: 1655
    functionLinenumberEnd: 1683
    functionName: decode_sensor_op_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_sensor_op_data(const uint8_t *sensor_data,
      size_t sensor_data_length,\n\t\t\t  uint8_t *present_op_state, uint8_t *previous_op_state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1691,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1699,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1703,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1706,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1707,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1708,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1710,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - sensor_data
    - sensor_data_length
    - sensor_offset
    - event_state
    - previous_event_state
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1716
    functionName: decode_state_sensor_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 14
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_state_sensor_data(const uint8_t *sensor_data,\n\t\t\t
      \    size_t sensor_data_length, uint8_t *sensor_offset,\n\t\t\t     uint8_t
      *event_state,\n\t\t\t     uint8_t *previous_event_state)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1725,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1739,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1743,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1746,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1747,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:1748,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1750,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1750,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1761,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1768,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1775,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1782,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1789,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1796,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1802,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:1805,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1807,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 6
    argNames:
    - sensor_data
    - sensor_data_length
    - event_state
    - previous_event_state
    - sensor_data_size
    - present_reading
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1811
    functionName: decode_numeric_sensor_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_numeric_sensor_data(const uint8_t *sensor_data,\n\t\t\t
      \      size_t sensor_data_length, uint8_t *event_state,\n\t\t\t       uint8_t
      *previous_event_state,\n\t\t\t       uint8_t *sensor_data_size,\n\t\t\t       uint32_t
      *present_reading)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:1818,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:1825,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1828,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:1831,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1835,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1835,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1838,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1839,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1840,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1841,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1842,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1843,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1844,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1845,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1846,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1847,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1848,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1849,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1850,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1851,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1852,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1853,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1854,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1856,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1858,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1858,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1861,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1864,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1865,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1866,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1867,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1868,1
    - Dst: pldm_msgbuf_extract_sensor_data
      Src: /src/libpldm/src/dsp/platform.c:1869,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1871,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1872,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1874,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1875,1
    - Dst: pldm_msgbuf_extract_sensor_data
      Src: /src/libpldm/src/dsp/platform.c:1876,1
    - Dst: pldm_msgbuf_extract_sensor_data
      Src: /src/libpldm/src/dsp/platform.c:1878,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1881,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1883,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1883,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:1886,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:1889,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1890,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1892,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1894,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1896,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1898,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1900,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1902,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1904,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:1906,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:1909,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:1911,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 3
    argNames:
    - pdr_data
    - pdr_data_length
    - pdr_value
    argTypes:
    - void*
    - size_t
    - struct pldm_numeric_sensor_value_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1813
    functionDepth: 2
    functionLinenumber: 1813
    functionLinenumberEnd: 1915
    functionName: decode_numeric_sensor_pdr_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 18
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_range_field_format
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_value_pdr_hdr
    - pldm_msgbuf_extract_sensor_data
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_numeric_sensor_pdr_data(\n\tconst void *pdr_data,
      size_t pdr_data_length,\n\tstruct pldm_numeric_sensor_value_pdr *pdr_value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1932,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:1939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - effecter_id
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1942
    functionName: encode_get_numeric_effecter_value_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - htole16
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_numeric_effecter_value_req(uint8_t instance_id,\n\t\t\t\t\t
      \ uint16_t effecter_id,\n\t\t\t\t\t  struct pldm_msg *msg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:1969,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:1997,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:1998,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:2001,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:2002,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:2013,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:2014,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:2017,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:2018,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 8
    argNames:
    - instance_id
    - completion_code
    - effecter_data_size
    - effecter_oper_state
    - pending_value
    - present_value
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 2023
    functionName: encode_get_numeric_effecter_value_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - htole16
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_numeric_effecter_value_resp(\n\tuint8_t
      instance_id, uint8_t completion_code,\n\tuint8_t effecter_data_size, uint8_t
      effecter_oper_state,\n\tconst uint8_t *pending_value, const uint8_t *present_value,\n\tstruct
      pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2030,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2037,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2041,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2044,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2046,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - payload_length
    - effecter_id
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2025
    functionDepth: 1
    functionLinenumber: 2025
    functionLinenumberEnd: 2052
    functionName: decode_get_numeric_effecter_value_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_numeric_effecter_value_req(const struct
      pldm_msg *msg,\n\t\t\t\t\t  size_t payload_length,\n\t\t\t\t\t  uint16_t *effecter_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2063,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2072,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2076,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2079,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2081,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2081,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2085,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2088,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2090,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2090,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2094,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2097,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2099,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2099,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2103,1
    - Dst: pldm_msgbuf_extract_effecter_value
      Src: /src/libpldm/src/dsp/platform.c:2106,1
    - Dst: pldm_msgbuf_extract_effecter_value
      Src: /src/libpldm/src/dsp/platform.c:2108,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2111,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 7
    argNames:
    - msg
    - payload_length
    - completion_code
    - effecter_data_size
    - effecter_oper_state
    - pending_value
    - present_value
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2054
    functionDepth: 4
    functionLinenumber: 2054
    functionLinenumberEnd: 2117
    functionName: decode_get_numeric_effecter_value_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_effecter_value
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_numeric_effecter_value_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t   size_t payload_length,\n\t\t\t\t\t   uint8_t *completion_code,\n\t\t\t\t\t
      \  uint8_t *effecter_data_size,\n\t\t\t\t\t   uint8_t *effecter_oper_state,\n\t\t\t\t\t
      \  uint8_t *pending_value,\n\t\t\t\t\t   uint8_t *present_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:2171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 8
    argNames:
    - event_data_format
    - number_of_change_records
    - event_data_operations
    - numbers_of_change_entries
    - change_entries
    - event_data
    - actual_change_records_size
    - max_change_records_size
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t*
    - uint32_t**
    - struct pldm_pdr_repository_chg_event_data*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2181
    functionName: encode_pldm_pdr_repository_chg_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 11
    functionsReached:
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_pdr_repository_chg_event_data(\n\tuint8_t
      event_data_format, uint8_t number_of_change_records,\n\tconst uint8_t *event_data_operations,\n\tconst
      uint8_t *numbers_of_change_entries,\n\tconst uint32_t *const *change_entries,\n\tstruct
      pldm_pdr_repository_chg_event_data *event_data,\n\tsize_t *actual_change_records_size,
      size_t max_change_records_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2190,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2199,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2203,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2206,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2207,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2212,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - event_data
    - event_data_size
    - event_data_format
    - number_of_change_records
    - change_record_data_offset
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2218
    functionName: decode_pldm_pdr_repository_chg_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_pdr_repository_chg_event_data(const
      uint8_t *event_data,\n\t\t\t\t\t      size_t event_data_size,\n\t\t\t\t\t      uint8_t
      *event_data_format,\n\t\t\t\t\t      uint8_t *number_of_change_records,\n\t\t\t\t\t
      \     size_t *change_record_data_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2225,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2232,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2238,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2239,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2241,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2245,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2248,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - event_data
    - event_data_length
    - poll_event
    argTypes:
    - void*
    - size_t
    - struct pldm_message_poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2220
    functionDepth: 1
    functionLinenumber: 2220
    functionLinenumberEnd: 2251
    functionName: decode_pldm_message_poll_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_message_poll_event_data(\n\tconst void
      *event_data, size_t event_data_length,\n\tstruct pldm_message_poll_event *poll_event)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2258,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2269,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2274,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2275,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2276,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - poll_event
    - event_data
    - event_data_length
    argTypes:
    - struct pldm_message_poll_event*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2279
    functionName: encode_pldm_message_poll_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - pldm_msgbuf_complete_consumed
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_message_poll_event_data(\n\tconst
      struct pldm_message_poll_event *poll_event, void *event_data,\n\tsize_t event_data_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2287,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2296,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2300,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2303,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2304,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2309,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - change_record_data
    - change_record_data_size
    - event_data_operation
    - number_of_change_entries
    - change_entry_data_offset
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2315
    functionName: decode_pldm_pdr_repository_change_record_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_pdr_repository_change_record_data(\n\tconst
      uint8_t *change_record_data, size_t change_record_data_size,\n\tuint8_t *event_data_operation,
      uint8_t *number_of_change_entries,\n\tsize_t *change_entry_data_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2324,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:2342,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2347,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2354,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2355,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2356,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/platform.c:2358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_platform_set_numeric_sensor_enable_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2359
    functionName: encode_pldm_platform_set_numeric_sensor_enable_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_platform_set_numeric_sensor_enable_req(\n\tuint8_t
      instance_id,\n\tconst struct pldm_platform_set_numeric_sensor_enable_req *req,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2366,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2373,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2380,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2383
    functionName: decode_pldm_platform_set_numeric_sensor_enable_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_p
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_platform_set_numeric_sensor_enable_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:2400,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:2408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - instance_id
    - sensor_id
    - rearm_event_state
    - msg
    argTypes:
    - uint8_t
    - uint16_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2385
    functionDepth: 1
    functionLinenumber: 2385
    functionLinenumberEnd: 2412
    functionName: encode_get_sensor_reading_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - htole16
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_sensor_reading_req(uint8_t instance_id,
      uint16_t sensor_id,\n\t\t\t\t  uint8_t rearm_event_state,\n\t\t\t\t  struct
      pldm_msg *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2422,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2433,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2436,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2439,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2441,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2441,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2445,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2448,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2450,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2450,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2454,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2457,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2458,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2459,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2460,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2461,1
    - Dst: pldm_msgbuf_extract_sensor_value
      Src: /src/libpldm/src/dsp/platform.c:2463,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2466,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2468,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 10
    argNames:
    - msg
    - payload_length
    - completion_code
    - sensor_data_size
    - sensor_operational_state
    - sensor_event_message_enable
    - present_state
    - previous_state
    - event_state
    - present_reading
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2414
    functionDepth: 4
    functionLinenumber: 2414
    functionLinenumberEnd: 2472
    functionName: decode_get_sensor_reading_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 10
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_sensor_value
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_sensor_reading_resp(\n\tconst struct
      pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint8_t *sensor_data_size,\n\tuint8_t
      *sensor_operational_state, uint8_t *sensor_event_message_enable,\n\tuint8_t
      *present_state, uint8_t *previous_state, uint8_t *event_state,\n\tuint8_t *present_reading)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:2498,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:2528,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:2529,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/platform.c:2538,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:2539,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 11
    argNames:
    - instance_id
    - completion_code
    - sensor_data_size
    - sensor_operational_state
    - sensor_event_message_enable
    - present_state
    - previous_state
    - event_state
    - present_reading
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2543
    functionName: encode_get_sensor_reading_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - htole16
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_sensor_reading_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t\t   uint8_t sensor_data_size,\n\t\t\t\t   uint8_t
      sensor_operational_state,\n\t\t\t\t   uint8_t sensor_event_message_enable,\n\t\t\t\t
      \  uint8_t present_state,\n\t\t\t\t   uint8_t previous_state, uint8_t event_state,\n\t\t\t\t
      \  const uint8_t *present_reading,\n\t\t\t\t   struct pldm_msg *msg, size_t
      payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2550,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2557,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2560,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2563,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2564,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2566,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - msg
    - payload_length
    - sensor_id
    - rearm_event_state
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2572
    functionName: decode_get_sensor_reading_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_sensor_reading_req(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length, uint16_t *sensor_id,\n\t\t\t\t  uint8_t
      *rearm_event_state)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2579,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2586,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2591,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2592,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2593,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_platform_set_numeric_sensor_enable_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2574
    functionDepth: 1
    functionLinenumber: 2574
    functionLinenumberEnd: 2609
    functionName: decode_set_numeric_sensor_enable_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_set_numeric_sensor_enable_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_platform_set_numeric_sensor_enable_req
      *req)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2616,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2623,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2628,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2629,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2643,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2644,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2646,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2650,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2654,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_set_state_sensor_enables_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2662
    functionName: decode_set_state_sensor_enables_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_set_state_sensor_enables_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_set_state_sensor_enables_req
      *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:2678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length LIBPLDM_CC_UNUSED
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2664
    functionDepth: 1
    functionLinenumber: 2664
    functionLinenumberEnd: 2679
    functionName: encode_get_event_receiver_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_event_receiver_req(uint8_t instance_id,
      struct pldm_msg *msg,\n\t\t\t\t  size_t payload_length LIBPLDM_CC_UNUSED)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2687,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:2705,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2709,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2715,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2716,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2717,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/platform.c:2719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - instance_id
    - event_receiver_info
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_get_event_receiver_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2681
    functionDepth: 3
    functionLinenumber: 2681
    functionLinenumberEnd: 2720
    functionName: encode_get_event_receiver_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_event_receiver_resp(\n\tuint8_t instance_id,\n\tstruct
      pldm_get_event_receiver_resp *event_receiver_info,\n\tstruct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2727,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/platform.c:2733,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2739,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2744,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2745,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2747,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:2751,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2753,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:2755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_get_event_receiver_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2756
    functionName: decode_get_event_receiver_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_event_receiver_resp(const struct pldm_msg
      *msg,\n\t\t\t\t   size_t payload_length,\n\t\t\t\t   struct pldm_get_event_receiver_resp
      *resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:2780,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/platform.c:2797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - instance_id
    - event_message_global_enable
    - transport_protocol_type
    - event_receiver_address_info
    - heartbeat_timer
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2801
    functionName: encode_set_event_receiver_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 14
    functionsReached:
    - htole16
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_event_receiver_req(uint8_t instance_id,\n\t\t\t\t
      \ uint8_t event_message_global_enable,\n\t\t\t\t  uint8_t transport_protocol_type,\n\t\t\t\t
      \ uint8_t event_receiver_address_info,\n\t\t\t\t  uint16_t heartbeat_timer,\n\t\t\t\t
      \ struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2808,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2815,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2818,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2821,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2823,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2829
    functionName: decode_set_event_receiver_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 14
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_event_receiver_resp(const struct pldm_msg
      *msg,\n\t\t\t\t   size_t payload_length,\n\t\t\t\t   uint8_t *completion_code)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2840,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2849,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2852,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2855,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2857,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2857,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2860,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2861,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2864,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2867,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2869,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 6
    argNames:
    - msg
    - payload_length
    - event_message_global_enable
    - transport_protocol_type
    - event_receiver_address_info
    - heartbeat_timer
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2831
    functionDepth: 1
    functionLinenumber: 2831
    functionLinenumberEnd: 2879
    functionName: decode_set_event_receiver_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_event_receiver_req(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length,\n\t\t\t\t  uint8_t *event_message_global_enable,\n\t\t\t\t
      \ uint8_t *transport_protocol_type,\n\t\t\t\t  uint8_t *event_receiver_address_info,\n\t\t\t\t
      \ uint16_t *heartbeat_timer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:2896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - instance_id
    - completion_code
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2881
    functionDepth: 1
    functionLinenumber: 2881
    functionLinenumberEnd: 2904
    functionName: encode_set_event_receiver_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_event_receiver_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t\t   struct pldm_msg *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2915,1
    - Dst: pldm_platform_poll_for_platform_event_message_validate
      Src: /src/libpldm/src/dsp/platform.c:2922,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/platform.c:2934,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2939,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2943,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2946,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2947,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2948,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:2949,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:2951,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 7
    argNames:
    - instance_id
    - format_version
    - transfer_operation_flag
    - data_transfer_handle
    - event_id_to_acknowledge
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint16_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2906
    functionDepth: 1
    functionLinenumber: 2906
    functionLinenumberEnd: 2957
    functionName: encode_poll_for_platform_event_message_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 8
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_init_errno
    - pldm_platform_poll_for_platform_event_message_validate
    - pack_pldm_header
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_poll_for_platform_event_message_req(uint8_t
      instance_id,\n\t\t\t\t\t       uint8_t format_version,\n\t\t\t\t\t       uint8_t
      transfer_operation_flag,\n\t\t\t\t\t       uint32_t data_transfer_handle,\n\t\t\t\t\t
      \      uint16_t event_id_to_acknowledge,\n\t\t\t\t\t       struct pldm_msg *msg,\n\t\t\t\t\t
      \      size_t payload_length)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:2967,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:2978,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2982,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2985,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2987,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2987,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2990,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2993,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:2994,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:2996,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2996,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:2999,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3002,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3003,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3005,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3005,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3008,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3009,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3011,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3011,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3014,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3018,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3024,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3027,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3029,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 11
    argNames:
    - msg
    - payload_length
    - completion_code
    - tid
    - event_id
    - next_data_transfer_handle
    - transfer_flag
    - event_class
    - event_data_size
    - event_data
    - event_data_integrity_checksum
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint16_t*
    - uint32_t*
    - uint8_t*
    - uint8_t*
    - uint32_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 2959
    functionDepth: 1
    functionLinenumber: 2959
    functionLinenumberEnd: 3033
    functionName: decode_poll_for_platform_event_message_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_poll_for_platform_event_message_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint8_t
      *tid, uint16_t *event_id,\n\tuint32_t *next_data_transfer_handle, uint8_t *transfer_flag,\n\tuint8_t
      *event_class, uint32_t *event_data_size, void **event_data,\n\tuint32_t *event_data_integrity_checksum)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3040,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3048,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3052,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:3055,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3059,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/platform.c:3062,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3064,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3065,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3066,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3067,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3068,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3069,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3070,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3071,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3072,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3073,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3074,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3075,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3076,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3077,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3078,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3079,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3080,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3082,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3084,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3084,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3087,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3090,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3091,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3092,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3093,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3094,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3095,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3096,1
    - Dst: pldm_msgbuf_extract_effecter_data
      Src: /src/libpldm/src/dsp/platform.c:3097,1
    - Dst: pldm_msgbuf_extract_effecter_data
      Src: /src/libpldm/src/dsp/platform.c:3099,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3102,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3104,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3104,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3107,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3110,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:3111,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:3113,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:3115,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:3117,1
    - Dst: pldm_msgbuf_extract_range_field_format
      Src: /src/libpldm/src/dsp/platform.c:3119,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3122,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/platform.c:3124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 3
    argNames:
    - pdr_data
    - pdr_data_length
    - pdr_value
    argTypes:
    - void*
    - size_t
    - struct pldm_numeric_effecter_value_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3035
    functionDepth: 2
    functionLinenumber: 3035
    functionLinenumberEnd: 3128
    functionName: decode_numeric_effecter_pdr_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_effecter_data
    - pldm_msgbuf_extract
    - pldm_xlate_errno
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_range_field_format
    - pldm_msgbuf_complete_consumed
    - memcpy
    - pldm_msgbuf_extract_value_pdr_hdr
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_numeric_effecter_pdr_data(\n\tconst void
      *pdr_data, size_t pdr_data_length,\n\tstruct pldm_numeric_effecter_value_pdr
      *pdr_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3136,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:3149,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3154,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3161,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - instance_id
    - effecter_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3130
    functionDepth: 1
    functionLinenumber: 3130
    functionLinenumberEnd: 3164
    functionName: encode_get_state_effecter_states_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_state_effecter_states_req(uint8_t instance_id,\n\t\t\t\t\t
      uint16_t effecter_id,\n\t\t\t\t\t struct pldm_msg *msg,\n\t\t\t\t\t size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3171,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3178,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3185,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - payload_length
    - effecter_id
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3188
    functionName: decode_get_state_effecter_states_req
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_p
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_state_effecter_states_req(const struct
      pldm_msg *msg,\n\t\t\t\t\t size_t payload_length,\n\t\t\t\t\t uint16_t *effecter_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3195,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3204,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3211,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3213,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:3217,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3220,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3222,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3229,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3234,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3235,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3236,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_get_state_effecter_states_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3190
    functionDepth: 1
    functionLinenumber: 3190
    functionLinenumberEnd: 3240
    functionName: decode_get_state_effecter_states_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_state_effecter_states_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_get_state_effecter_states_resp
      *resp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3247,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/platform.c:3269,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3274,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3281,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3282,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3286,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3287,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3288,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_get_state_effecter_states_resp*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3292
    functionName: encode_get_state_effecter_states_resp
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_state_effecter_states_resp(\n\tuint8_t
      instance_id, struct pldm_get_state_effecter_states_resp *resp,\n\tstruct pldm_msg
      *msg, size_t payload_length)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3299,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3300,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3301,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/platform.c:3315,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3323,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:3330,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3334,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3337,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3338,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3339,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3340,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3341,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3343,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:3346,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/platform.c:3350,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3352,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3359,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3373,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/src/dsp/platform.c:3379,1
    - Dst: pldm_msgbuf_copy_string_utf16
      Src: /src/libpldm/src/dsp/platform.c:3380,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3386,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3392,1
    - Dst: pldm_msgbuf_copy_string_ascii
      Src: /src/libpldm/src/dsp/platform.c:3398,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/src/dsp/platform.c:3402,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:3405,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/platform.c:3410,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3413,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3415,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 4
    argNames:
    - data
    - data_length
    - pdr
    - pdr_length
    argTypes:
    - void*
    - size_t
    - struct pldm_entity_auxiliary_names_pdr*
    - size_t
    assertStmts:
    - condition: "(!((uintptr_t)pdr->auxiliary_name_data &\n\t\t (alignof(pldm_utf16be)
        - 1)))"
      pos:
        line_end: 3315
        line_start: 3314
        source_file: /src/libpldm/src/dsp/platform.c
    - condition: (names)
      pos:
        line_end: 3349
        line_start: 3349
        source_file: /src/libpldm/src/dsp/platform.c
    constantsTouched: []
    func_position:
      end: 3416
      start: 3294
    functionDepth: 4
    functionLinenumber: 3294
    functionLinenumberEnd: 3416
    functionName: decode_entity_auxiliary_names_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_copy_string_ascii
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_span_string_utf16
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_span_string_ascii
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - assert
    - pldm_msgbuf_complete
    - pldm_msgbuf_copy_string_utf16
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_value_pdr_hdr
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_entity_auxiliary_names_pdr(\n\tconst void
      *data, size_t data_length,\n\tstruct pldm_entity_auxiliary_names_pdr *pdr, size_t
      pdr_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3422,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3456,1
    - Dst: pldm_msgbuf_span_string_utf16
      Src: /src/libpldm/src/dsp/platform.c:3465,1
    - Dst: pldm_msgbuf_span_string_ascii
      Src: /src/libpldm/src/dsp/platform.c:3471,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - struct pldm_entity_auxiliary_names_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3476
    functionName: decode_pldm_entity_auxiliary_names_pdr_index
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_string_utf16
    - pldm_msgbuf_span_string_ascii
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_entity_auxiliary_names_pdr_index(\n\tstruct
      pldm_entity_auxiliary_names_pdr *pdr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3484,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3495,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3501,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3502,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3504,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3509,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3512,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3514,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3519,1
    - Dst: pldm_msgbuf_extract_array_uint8
      Src: /src/libpldm/src/dsp/platform.c:3522,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3526,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - event_data
    - event_data_length
    - cper_event
    - cper_event_length
    argTypes:
    - void*
    - size_t
    - struct pldm_platform_cper_event*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3478
    functionDepth: 4
    functionLinenumber: 3478
    functionLinenumberEnd: 3530
    functionName: decode_pldm_platform_cper_event
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array_uint8
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_cper_event(const void *event_data,\n\t\t\t\t
      \   size_t event_data_length,\n\t\t\t\t    struct pldm_platform_cper_event *cper_event,\n\t\t\t\t
      \   size_t cper_event_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event
    argTypes:
    - struct pldm_platform_cper_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3537
    functionName: pldm_platform_cper_event_event_data
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: 'LIBPLDM_ABI_STABLE *

      pldm_platform_cper_event_event_data(struct pldm_platform_cper_event *event)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3544,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3551,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:3558,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3562,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3565,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3566,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3567,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3568,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3569,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3570,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3571,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3572,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3573,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3574,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3575,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3576,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3577,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3578,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3579,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3580,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3582,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3585,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3591,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3594,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3597,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - data
    - data_length
    - pdr
    argTypes:
    - void*
    - size_t
    - struct pldm_platform_file_descriptor_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3539
    functionDepth: 2
    functionLinenumber: 3539
    functionLinenumberEnd: 3603
    functionName: decode_pldm_platform_file_descriptor_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_value_pdr_hdr
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_file_descriptor_pdr(\n\tconst
      void *data, size_t data_length,\n\tstruct pldm_platform_file_descriptor_pdr
      *pdr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3613,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3645,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3650,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3651,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3652,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3653,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3654,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3655,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3656,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3657,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3658,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3659,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3660,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3661,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3662,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3663,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/platform.c:3665,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3669,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3672,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3673,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3674,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/platform.c:3676,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3680,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/platform.c:3684,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/platform.c:3686,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3691,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/platform.c:3695,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - pdr
    - data
    - data_len
    argTypes:
    - struct pldm_platform_file_descriptor_pdr*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3608
    functionDepth: 3
    functionLinenumber: 3608
    functionLinenumberEnd: 3696
    functionName: encode_pldm_platform_file_descriptor_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 9
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_platform_file_descriptor_pdr(\n\tconst
      struct pldm_platform_file_descriptor_pdr *pdr, void *data,\n\tsize_t *data_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3703,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3710,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:3717,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3721,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3724,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3725,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3726,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3727,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3730,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3732,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3736,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3738,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3740,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3743,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3745,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/src/dsp/platform.c:3748,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3753,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3754,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3756,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3758,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/src/dsp/platform.c:3760,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3762,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3765,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3766,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3767,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3768,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3769,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3770,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3771,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3774,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3776,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3779,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3781,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/src/dsp/platform.c:3784,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3788,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3790,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3792,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/src/dsp/platform.c:3794,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3796,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3799,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 3
    argNames:
    - data
    - data_length
    - pdr
    argTypes:
    - void*
    - size_t
    - struct pldm_platform_redfish_resource_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3698
    functionDepth: 2
    functionLinenumber: 3698
    functionLinenumberEnd: 3800
    functionName: decode_pldm_platform_redfish_resource_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_field_end
    - pldm_msgbuf_field_begin
    - pldm_msgbuf_extract_value_pdr_hdr
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_resource_pdr(\n\tconst
      void *data, size_t data_length,\n\tstruct pldm_platform_redfish_resource_pdr
      *pdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3808,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3817,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3824,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3825,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3828,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3830,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:3834,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - iter
    - additional_resource
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_additional_resource_iter*
    - struct pldm_platform_redfish_resource_pdr_additional_resource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3802
    functionDepth: 1
    functionLinenumber: 3802
    functionLinenumberEnd: 3838
    functionName: decode_pldm_platform_redfish_resource_pdr_additional_resource_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_resource_pdr_additional_resource_from_iter(\n\tstruct
      pldm_platform_redfish_resource_pdr_additional_resource_iter *iter,\n\tstruct
      pldm_platform_redfish_resource_pdr_additional_resource\n\t\t*additional_resource)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3845,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3853,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/platform.c:3859,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3861,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3863,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:3866,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - iter
    - oem_name
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_oem_name_iter*
    - struct pldm_platform_redfish_resource_pdr_oem_name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3840
    functionDepth: 1
    functionLinenumber: 3840
    functionLinenumberEnd: 3870
    functionName: decode_pldm_platform_redfish_resource_pdr_oem_name_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_resource_pdr_oem_name_from_iter(\n\tstruct
      pldm_platform_redfish_resource_pdr_oem_name_iter *iter,\n\tstruct pldm_platform_redfish_resource_pdr_oem_name
      *oem_name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3877,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3884,1
    - Dst: pldm_msgbuf_extract_value_pdr_hdr
      Src: /src/libpldm/src/dsp/platform.c:3891,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3895,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3898,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3900,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3902,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/src/dsp/platform.c:3905,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3907,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/src/dsp/platform.c:3909,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3911,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:3914,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3916,1
    - Dst: pldm_msgbuf_field_begin
      Src: /src/libpldm/src/dsp/platform.c:3919,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3923,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3925,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3928,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3930,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3932,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3934,1
    - Dst: pldm_msgbuf_field_end
      Src: /src/libpldm/src/dsp/platform.c:3936,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3938,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3941,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - data
    - data_length
    - pdr
    argTypes:
    - void*
    - size_t
    - struct pldm_platform_redfish_action_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3872
    functionDepth: 2
    functionLinenumber: 3872
    functionLinenumberEnd: 3942
    functionName: decode_pldm_platform_redfish_action_pdr
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_span_required
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_field_end
    - pldm_msgbuf_field_begin
    - pldm_msgbuf_extract_value_pdr_hdr
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_action_pdr(\n\tconst
      void *data, size_t data_length,\n\tstruct pldm_platform_redfish_action_pdr *pdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3949,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3956,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/platform.c:3962,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:3964,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:3967,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - res
    argTypes:
    - struct pldm_platform_redfish_action_pdr_related_resource_id_iter*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 3968
    functionName: decode_pldm_platform_redfish_action_pdr_related_resource_id_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_action_pdr_related_resource_id_from_iter(\n\tstruct
      pldm_platform_redfish_action_pdr_related_resource_id_iter *iter,\n\tuint32_t
      *res)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:3975,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:3984,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3990,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3992,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:3994,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/platform.c:3996,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:3998,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:4000,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:4003,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:4006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - iter
    - action
    argTypes:
    - struct pldm_platform_redfish_action_pdr_action_iter*
    - struct pldm_platform_redfish_action_pdr_action*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 3970
    functionDepth: 1
    functionLinenumber: 3970
    functionLinenumberEnd: 4007
    functionName: decode_pldm_platform_redfish_action_pdr_action_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_platform_redfish_action_pdr_action_from_iter(\n\tstruct
      pldm_platform_redfish_action_pdr_action_iter *iter,\n\tstruct pldm_platform_redfish_action_pdr_action
      *action)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pdr
    - pdr_size
    - rc
    argTypes:
    - struct pldm_state_effecter_pdr*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4038
      start: 4009
    functionDepth: 0
    functionLinenumber: 4009
    functionLinenumberEnd: 4038
    functionName: pldm_platform_state_effecter_pdr_iter_init
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_platform_state_effecter_pdr_iter_init(\n\tconst
      struct pldm_state_effecter_pdr *pdr, size_t pdr_size, int *rc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:4045,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:4052,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:4058,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:4059,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:4061,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/platform.c:4064,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/platform.c:4068,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:4072,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:4075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - iter
    - states
    argTypes:
    - struct pldm_platform_state_effecter_pdr_iter*
    - struct state_effecter_possible_states*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4040
    functionDepth: 1
    functionLinenumber: 4040
    functionLinenumberEnd: 4076
    functionName: decode_pldm_platform_state_effecter_pdr_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_platform_state_effecter_pdr_from_iter(\n\tstruct
      pldm_platform_state_effecter_pdr_iter *iter,\n\tstruct state_effecter_possible_states
      *states)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - outer_iter
    - rc
    argTypes:
    - struct pldm_platform_state_effecter_pdr_iter*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4098
      start: 4078
    functionDepth: 0
    functionLinenumber: 4078
    functionLinenumberEnd: 4098
    functionName: pldm_platform_state_effecter_pdr_possible_states_iter_init
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_platform_state_effecter_pdr_possible_states_iter_init(\n\tconst
      struct pldm_platform_state_effecter_pdr_iter *outer_iter, int *rc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/platform.c:4105,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/platform.c:4116,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/platform.c:4122,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/platform.c:4123,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/platform.c:4126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - iter
    - state
    argTypes:
    - struct pldm_platform_state_effecter_pdr_possible_states_iter*
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4127
      start: 4100
    functionDepth: 1
    functionLinenumber: 4100
    functionLinenumberEnd: 4127
    functionName: decode_pldm_platform_state_effecter_pdr_possible_states_from_iter
    functionSourceFile: /src/libpldm/src/dsp/platform.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_platform_state_effecter_pdr_possible_states_from_iter(\n\tstruct
      pldm_platform_state_effecter_pdr_possible_states_iter *iter,\n\tbitfield8_t
      *state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - repo
    - record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: get_next_record_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL get_next_record_handle(const pldm_pdr *repo,\n\t\t\t\t\t
      \     const pldm_pdr_record *record)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:81,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:87,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:89,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/pdr.c:92,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/pdr.c:108,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 6
    argNames:
    - repo
    - data
    - size
    - is_remote
    - terminus_handle
    - record_handle
    argTypes:
    - pldm_pdr*
    - uint8_t*
    - uint32_t
    - bool
    - uint16_t
    - uint32_t*
    assertStmts:
    - condition: (!repo->first == !repo->last)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 130
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 130
    functionName: pldm_pdr_add
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 51
    functionsReached:
    - assert
    - free
    - htole32
    - memcpy
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_add(pldm_pdr *repo, const uint8_t *data,
      uint32_t size,\n\t\t bool is_remote, uint16_t terminus_handle,\n\t\t uint32_t
      *record_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: pldm_pdr_init
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 75
    functionsReached:
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE *pldm_pdr_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:158,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:161,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: pldm_pdr_destroy
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 75
    functionsReached:
    - free
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_pdr_destroy(pldm_pdr *repo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_next_record_handle
      Src: /src/libpldm/src/dsp/pdr.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: "pldm_pdr_record *pldm_pdr_find_record(const pldm_pdr *repo,\n\t\t\t\t\t
      \   uint32_t record_handle,\n\t\t\t\t\t    uint8_t **data, uint32_t *size,\n\t\t\t\t\t
      \   uint32_t *next_record_handle)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - get_next_record_handle
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_record *pldm_pdr_find_record(const pldm_pdr
      *repo,\n\t\t\t\t\t    uint32_t record_handle,\n\t\t\t\t\t    uint8_t **data,
      uint32_t *size,\n\t\t\t\t\t    uint32_t *next_record_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_next_record_handle
      Src: /src/libpldm/src/dsp/pdr.c:211,1
    - Dst: get_next_record_handle
      Src: /src/libpldm/src/dsp/pdr.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: "pldm_pdr_record *\npldm_pdr_get_next_record(const pldm_pdr *repo,\n\t\t\t
      const pldm_pdr_record *curr_record, uint8_t **data,\n\t\t\t uint32_t *size,
      uint32_t *next_record_handle)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - get_next_record_handle
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_record *\npldm_pdr_get_next_record(const
      pldm_pdr *repo,\n\t\t\t const pldm_pdr_record *curr_record, uint8_t **data,\n\t\t\t
      uint32_t *size, uint32_t *next_record_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: "pldm_pdr_record *\npldm_pdr_find_record_by_type(const pldm_pdr
      *repo, uint8_t pdr_type,\n\t\t\t     const pldm_pdr_record *curr_record, uint8_t
      **data,\n\t\t\t     uint32_t *size)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_record *\npldm_pdr_find_record_by_type(const
      pldm_pdr *repo, uint8_t pdr_type,\n\t\t\t     const pldm_pdr_record *curr_record,
      uint8_t **data,\n\t\t\t     uint32_t *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts:
    - condition: (repo != NULL)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: pldm_pdr_get_record_count
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 27
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_pdr_get_record_count(const pldm_pdr *repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts:
    - condition: (repo != NULL)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: pldm_pdr_get_repo_size
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_pdr_get_repo_size(const pldm_pdr *repo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:273,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    assertStmts:
    - condition: (repo != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/libpldm/src/dsp/pdr.c
    - condition: (record != NULL)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: pldm_pdr_get_record_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 21
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_get_record_handle(const pldm_pdr *repo
      LIBPLDM_CC_UNUSED,\n\t\t\t\t    const pldm_pdr_record *record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:283,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    assertStmts:
    - condition: (repo != NULL)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/libpldm/src/dsp/pdr.c
    - condition: (record != NULL)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: pldm_pdr_get_terminus_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_pdr_get_terminus_handle(const pldm_pdr *repo
      LIBPLDM_CC_UNUSED,\n\t\t\t\t      const pldm_pdr_record *record)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - record
    argTypes:
    - pldm_pdr_record*
    assertStmts:
    - condition: (record != NULL)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 295
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 295
    functionName: pldm_pdr_record_is_remote
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 11
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_pdr_record_is_remote(const pldm_pdr_record
      *record)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:316,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:320,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:321,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:322,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:323,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:324,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - repo
    - terminus_handle
    - fru_rsi
    - entity_type
    - entity_instance_num
    - container_id
    - bmc_record_handle
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 328
    functionName: pldm_pdr_add_fru_record_set
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 8
    functionsReached:
    - htole16
    - pldm_pdr_add
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_add_fru_record_set(pldm_pdr *repo, uint16_t
      terminus_handle,\n\t\t\t\tuint16_t fru_rsi, uint16_t entity_type,\n\t\t\t\tuint16_t
      entity_instance_num,\n\t\t\t\tuint16_t container_id,\n\t\t\t\tuint32_t *bmc_record_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/src/dsp/pdr.c:343,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:349,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:350,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:351,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:353,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:354,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/src/dsp/pdr.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 369
    functionName: "pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi(\n\tconst
      pldm_pdr *repo, uint16_t fru_rsi, uint16_t *terminus_handle,\n\tuint16_t *entity_type,
      uint16_t *entity_instance_num,\n\tuint16_t *container_id)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - htole16
    - pldm_pdr_find_record_by_type
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi(\n\tconst
      pldm_pdr *repo, uint16_t fru_rsi, uint16_t *terminus_handle,\n\tuint16_t *entity_type,
      uint16_t *entity_instance_num,\n\tuint16_t *container_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/src/dsp/pdr.c:379,1
    - Dst: pldm_pdr_find_record_by_type
      Src: /src/libpldm/src/dsp/pdr.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - repo
    - terminus_handle
    - tid
    - tl_eid
    - valid_bit
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint8_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 399
    functionName: pldm_pdr_update_TL_pdr
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 2
    functionsReached:
    - pldm_pdr_find_record_by_type
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_update_TL_pdr(const pldm_pdr *repo, uint16_t
      terminus_handle,\n\t\t\t    uint8_t tid, uint8_t tl_eid, bool valid_bit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - record_handle
    - first_record_handle
    - last_record_handle
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: pldm_record_handle_in_range
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pldm_record_handle_in_range(uint32_t record_handle,\n\t\t\t\t\tuint32_t
      first_record_handle,\n\t\t\t\t\tuint32_t last_record_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:413,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:415,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:421,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:422,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:423,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:424,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:425,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:426,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:427,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:428,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:429,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:430,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:431,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:432,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:433,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - data
    - size
    - pdr
    argTypes:
    - uint8_t*
    - uint32_t
    - struct pldm_state_sensor_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 436
    functionName: decode_pldm_state_sensor_pdr
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL decode_pldm_state_sensor_pdr(uint8_t *data, uint32_t
      size,\n\t\t\t\t\tstruct pldm_state_sensor_pdr *pdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_state_sensor_pdr
      Src: /src/libpldm/src/dsp/pdr.c:460,1
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:476,1
    - Dst: pldm_pdr_remove_record
      Src: /src/libpldm/src/dsp/pdr.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - repo
    - sensor_id
    - is_remote
    - record_handle
    argTypes:
    - pldm_pdr*
    - uint16_t
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 482
    functionName: pldm_pdr_delete_by_sensor_id
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - pldm_pdr_remove_record
    - pldm_pdr_get_prev_record
    - decode_pldm_state_sensor_pdr
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_delete_by_sensor_id(pldm_pdr *repo, uint16_t
      sensor_id,\n\t\t\t\t bool is_remote, uint32_t *record_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_record_handle_in_range
      Src: /src/libpldm/src/dsp/pdr.c:509,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:530,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - repo
    - entity_type
    - entity_instance
    - child_index
    - range_exclude_start_handle
    - range_exclude_end_handle
    - container_id
    argTypes:
    - pldm_pdr*
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 535
    functionName: pldm_pdr_find_child_container_id_index_range_exclude
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - pldm_record_handle_in_range
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_pdr_find_child_container_id_index_range_exclude(\n\tconst
      pldm_pdr *repo, uint16_t entity_type, uint16_t entity_instance,\n\tuint8_t child_index,
      uint32_t range_exclude_start_handle,\n\tuint32_t range_exclude_end_handle, uint16_t
      *container_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:541,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:543,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:549,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:550,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:551,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:552,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:553,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:554,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:555,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:556,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:557,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:558,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:559,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:560,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:561,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:562,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - data
    - size
    - pdr
    argTypes:
    - uint8_t*
    - uint32_t
    - struct pldm_state_effecter_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 565
    functionName: decode_pldm_state_effecter_pdr
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL decode_pldm_state_effecter_pdr(uint8_t *data, uint32_t
      size,\n\t\t\t\t\t  struct pldm_state_effecter_pdr *pdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_state_effecter_pdr
      Src: /src/libpldm/src/dsp/pdr.c:588,1
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:604,1
    - Dst: pldm_pdr_remove_record
      Src: /src/libpldm/src/dsp/pdr.c:605,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - repo
    - effecter_id
    - is_remote
    - record_handle
    argTypes:
    - pldm_pdr*
    - uint16_t
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 610
    functionName: pldm_pdr_delete_by_effecter_id
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - pldm_pdr_remove_record
    - decode_pldm_state_effecter_pdr
    - pldm_pdr_get_prev_record
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_delete_by_effecter_id(pldm_pdr *repo,
      uint16_t effecter_id,\n\t\t\t\t   bool is_remote, uint32_t *record_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:629,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:635,1
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:640,1
    - Dst: pldm_pdr_remove_record
      Src: /src/libpldm/src/dsp/pdr.c:641,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - repo
    - record_handle
    - is_remote
    argTypes:
    - pldm_pdr*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 650
    functionName: pldm_pdr_delete_by_record_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 3
    functionsReached:
    - pldm_msgbuf_extract
    - pldm_pdr_remove_record
    - pldm_pdr_get_prev_record
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_delete_by_record_handle(pldm_pdr *repo,
      uint32_t record_handle,\n\t\t\t\t     bool is_remote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - pldm_entity_node*
    assertStmts:
    - condition: (node != NULL)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: pldm_entity::pldm_entity_extract
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity pldm_entity_extract(pldm_entity_node
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entity
    argTypes:
    - pldm_entity_node*
    assertStmts:
    - condition: (entity != NULL)
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: pldm_entity_node_get_remote_container_id
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 17
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity_node_get_remote_container_id(const pldm_entity_node
      *entity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 695
    functionName: pldm_entity_association_tree *pldm_entity_association_tree_init(void)
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity_association_tree *pldm_entity_association_tree_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 715
    functionName: "pldm_entity_node *find_insertion_at(pldm_entity_node *start,\n\t\t\t\t\t
      \  uint16_t entity_type)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_entity_node *find_insertion_at(pldm_entity_node
      *start,\n\t\t\t\t\t   uint16_t entity_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_tree_add_entity
      Src: /src/libpldm/src/dsp/pdr.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: "pldm_entity_node *pldm_entity_association_tree_add(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
      *parent,\n\tuint8_t association_type)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - pldm_entity_association_tree_add_entity
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_node *pldm_entity_association_tree_add(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
      *parent,\n\tuint8_t association_type)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pldm_is_current_parent_child
      Src: /src/libpldm/src/dsp/pdr.c:744,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:752,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:768,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:778,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:793,1
    - Dst: find_insertion_at
      Src: /src/libpldm/src/dsp/pdr.c:811,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:813,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:819,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(tree->last_used_container_id !=\n\t\t\t\t       UINT16_MAX)"
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 839
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 839
    functionName: "pldm_entity_node *pldm_entity_association_tree_add_entity(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
      *parent,\n\tuint8_t association_type, bool is_remote, bool is_update_container_id,\n\tuint16_t
      container_id)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - pldm_is_current_parent_child
    - find_insertion_at
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_node *pldm_entity_association_tree_add_entity(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
      *parent,\n\tuint8_t association_type, bool is_remote, bool is_update_container_id,\n\tuint16_t
      container_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_num_nodes
      Src: /src/libpldm/src/dsp/pdr.c:848,1
    - Dst: get_num_nodes
      Src: /src/libpldm/src/dsp/pdr.c:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - num
    argTypes:
    - pldm_entity_node*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: get_num_nodes
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - get_num_nodes
    linkageType: ''
    returnType: void
    signature: void get_num_nodes(pldm_entity_node *node, size_t *num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_visit
      Src: /src/libpldm/src/dsp/pdr.c:865,1
    - Dst: entity_association_tree_visit
      Src: /src/libpldm/src/dsp/pdr.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - node
    - entities
    - index
    argTypes:
    - pldm_entity_node*
    - pldm_entity*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 867
    functionName: entity_association_tree_visit
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - entity_association_tree_visit
    linkageType: ''
    returnType: void
    signature: "void entity_association_tree_visit(pldm_entity_node *node,\n\t\t\t\t\t
      \ pldm_entity *entities, size_t *index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_num_nodes
      Src: /src/libpldm/src/dsp/pdr.c:882,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:883,1
    - Dst: entity_association_tree_visit
      Src: /src/libpldm/src/dsp/pdr.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - tree
    - entities
    - size
    argTypes:
    - pldm_entity_association_tree*
    - pldm_entity**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 890
    functionName: pldm_entity_association_tree_visit
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 3
    functionsReached:
    - malloc
    - get_num_nodes
    - entity_association_tree_visit
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_tree_visit(pldm_entity_association_tree
      *tree,\n\t\t\t\t\tpldm_entity **entities, size_t *size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:898,1
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:899,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - pldm_entity_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 901
    functionName: entity_association_tree_destroy
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 19
    functionsReached:
    - free
    - entity_association_tree_destroy
    linkageType: ''
    returnType: void
    signature: void entity_association_tree_destroy(pldm_entity_node *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:910,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tree
    argTypes:
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: pldm_entity_association_tree_destroy
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 18
    functionsReached:
    - free
    - entity_association_tree_destroy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity_association_tree_destroy(pldm_entity_association_tree
      *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - pldm_entity_node*
    assertStmts:
    - condition: (node != NULL)
      pos:
        line_end: 916
        line_start: 916
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 920
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 920
    functionName: pldm_entity_is_node_parent
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity_is_node_parent(pldm_entity_node *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - pldm_entity_node*
    assertStmts:
    - condition: (node != NULL)
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: pldm_entity::pldm_entity_get_parent
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity pldm_entity_get_parent(pldm_entity_node
      *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - pldm_entity_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 944
    functionName: pldm_entity_is_exist_parent
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_entity_is_exist_parent(pldm_entity_node *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - node
    - association_type
    argTypes:
    - pldm_entity_node*
    - uint8_t
    assertStmts:
    - condition: (count < UINT8_MAX)
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 970
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 970
    functionName: pldm_entity_get_num_children
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_get_num_children(pldm_entity_node *node,\n\t\t\t\t
      \    uint8_t association_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - parent
    - node
    argTypes:
    - pldm_entity_node*
    - pldm_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 990
    functionName: pldm_is_current_parent_child
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_is_current_parent_child(pldm_entity_node *parent,
      pldm_entity *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpldm/src/dsp/pdr.c:1001,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1013,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1017,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1023,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1024,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1025,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1035,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1037,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1039,1
    - Dst: pldm_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:1045,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 8
    argNames:
    - curr
    - repo
    - size
    - contained_count
    - association_type
    - is_remote
    - terminus_handle
    - record_handle
    argTypes:
    - pldm_entity_node*
    - pldm_pdr*
    - uint16_t
    - uint8_t
    - uint8_t
    - bool
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1049
    functionName: entity_association_pdr_add_children
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - htole16
    - free
    - calloc
    - pldm_pdr_add
    linkageType: ''
    returnType: int64_t
    signature: "int64_t entity_association_pdr_add_children(\n\tpldm_entity_node *curr,
      pldm_pdr *repo, uint16_t size,\n\tuint8_t contained_count, uint8_t association_type,
      bool is_remote,\n\tuint16_t terminus_handle, uint32_t record_handle)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/src/dsp/pdr.c:1056,1
    - Dst: pldm_entity_get_num_children
      Src: /src/libpldm/src/dsp/pdr.c:1058,1
    - Dst: entity_association_pdr_add_children
      Src: /src/libpldm/src/dsp/pdr.c:1075,1
    - Dst: entity_association_pdr_add_children
      Src: /src/libpldm/src/dsp/pdr.c:1096,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - curr
    - repo
    - is_remote
    - terminus_handle
    - record_handle
    argTypes:
    - pldm_entity_node*
    - pldm_pdr*
    - bool
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1107
    functionName: entity_association_pdr_add_entry
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - entity_association_pdr_add_children
    - pldm_entity_get_num_children
    linkageType: ''
    returnType: int64_t
    signature: "int64_t entity_association_pdr_add_entry(pldm_entity_node *curr,\n\t\t\t\t\t\tpldm_pdr
      *repo, bool is_remote,\n\t\t\t\t\t\tuint16_t terminus_handle,\n\t\t\t\t\t\tuint32_t
      record_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - entity
    - entities
    - num_entities
    argTypes:
    - pldm_entity
    - pldm_entity**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1123
    functionName: is_present
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_present(pldm_entity entity, pldm_entity **entities,\n\t\t
      \      size_t num_entities)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_present
      Src: /src/libpldm/src/dsp/pdr.c:1142,1
    - Dst: entity_association_pdr_add_entry
      Src: /src/libpldm/src/dsp/pdr.c:1143,1
    - Dst: entity_association_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:1154,1
    - Dst: entity_association_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - curr
    - repo
    - entities
    - num_entities
    - is_remote
    - terminus_handle
    - record_handle
    argTypes:
    - pldm_entity_node*
    - pldm_pdr*
    - pldm_entity**
    - size_t
    - bool
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1175
    functionName: entity_association_pdr_add
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 7
    functionsReached:
    - is_present
    - entity_association_pdr_add_entry
    - entity_association_pdr_add
    linkageType: ''
    returnType: int64_t
    signature: "int64_t entity_association_pdr_add(pldm_entity_node *curr,\n\t\t\t\t\t
      \ pldm_pdr *repo,\n\t\t\t\t\t  pldm_entity **entities,\n\t\t\t\t\t  size_t num_entities,
      bool is_remote,\n\t\t\t\t\t  uint16_t terminus_handle,\n\t\t\t\t\t  uint32_t
      record_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:1185,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tree
    - repo
    - is_remote
    - terminus_handle
    argTypes:
    - pldm_entity_association_tree*
    - pldm_pdr*
    - bool
    - uint16_t
    assertStmts:
    - condition: (rc >= INT_MIN)
      pos:
        line_end: 1186
        line_start: 1186
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1189
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1189
    functionName: pldm_entity_association_pdr_add
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - entity_association_pdr_add
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_pdr_add(pldm_entity_association_tree
      *tree,\n\t\t\t\t    pldm_pdr *repo, bool is_remote,\n\t\t\t\t    uint16_t terminus_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_entity_association_pdr_add_from_node_with_record_handle
      Src: /src/libpldm/src/dsp/pdr.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - node
    - repo
    - entities
    - num_entities
    - is_remote
    - terminus_handle
    argTypes:
    - pldm_entity_node*
    - pldm_pdr*
    - pldm_entity**
    - size_t
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: pldm_entity_association_pdr_add_from_node
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 2
    functionsReached:
    - pldm_entity_association_pdr_add_from_node_with_record_handle
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_pdr_add_from_node(\n\tpldm_entity_node
      *node, pldm_pdr *repo, pldm_entity **entities,\n\tsize_t num_entities, bool
      is_remote, uint16_t terminus_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_pdr_add
      Src: /src/libpldm/src/dsp/pdr.c:1211,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 7
    argNames:
    - node
    - repo
    - entities
    - num_entities
    - is_remote
    - terminus_handle
    - record_handle
    argTypes:
    - pldm_entity_node*
    - pldm_pdr*
    - pldm_entity**
    - size_t
    - bool
    - uint16_t
    - uint32_t
    assertStmts:
    - condition: (rc >= INT_MIN)
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1217
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1217
    functionName: pldm_entity_association_pdr_add_from_node_with_record_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 8
    functionsReached:
    - entity_association_pdr_add
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_pdr_add_from_node_with_record_handle(\n\tpldm_entity_node
      *node, pldm_pdr *repo, pldm_entity **entities,\n\tsize_t num_entities, bool
      is_remote, uint16_t terminus_handle,\n\tuint32_t record_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_entity_ref_in_tree
      Src: /src/libpldm/src/dsp/pdr.c:1241,1
    - Dst: find_entity_ref_in_tree
      Src: /src/libpldm/src/dsp/pdr.c:1242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tree_node
    - entity
    - node
    argTypes:
    - pldm_entity_node*
    - pldm_entity
    - pldm_entity_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1243
    functionName: find_entity_ref_in_tree
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - find_entity_ref_in_tree
    linkageType: ''
    returnType: void
    signature: "void find_entity_ref_in_tree(pldm_entity_node *tree_node,\n\t\t\t\t
      \   pldm_entity entity, pldm_entity_node **node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_entity_ref_in_tree
      Src: /src/libpldm/src/dsp/pdr.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tree
    - entity
    - node
    argTypes:
    - pldm_entity_association_tree*
    - pldm_entity
    - pldm_entity_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: pldm_find_entity_ref_in_tree
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 3
    functionsReached:
    - find_entity_ref_in_tree
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_find_entity_ref_in_tree(pldm_entity_association_tree
      *tree,\n\t\t\t\t  pldm_entity entity, pldm_entity_node **node)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1272,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1281,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1285,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/pdr.c:1302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - repo
    - terminus_handle
    argTypes:
    - pldm_pdr*
    - uint16_t
    assertStmts:
    - condition: (repo->first == record)
      pos:
        line_end: 1271
        line_start: 1271
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1307
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1307
    functionName: pldm_pdr_remove_pdrs_by_terminus_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 9
    functionsReached:
    - free
    - htole32
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_remove_pdrs_by_terminus_handle(pldm_pdr
      *repo,\n\t\t\t\t\t     uint16_t terminus_handle)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1324,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1333,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1337,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/pdr.c:1354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - repo
    argTypes:
    - pldm_pdr*
    assertStmts:
    - condition: (repo->first == record)
      pos:
        line_end: 1323
        line_start: 1323
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1359
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1359
    functionName: pldm_pdr_remove_remote_pdrs
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - free
    - htole32
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_pdr_remove_remote_pdrs(pldm_pdr *repo)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1381
    functionName: "pldm_pdr_record *pldm_pdr_find_last_in_range(const pldm_pdr *repo,\n\t\t\t\t\t
      \    uint32_t first, uint32_t last)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_record *pldm_pdr_find_last_in_range(const
      pldm_pdr *repo,\n\t\t\t\t\t     uint32_t first, uint32_t last)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_find_if_remote
      Src: /src/libpldm/src/dsp/pdr.c:1407,1
    - Dst: entity_association_tree_find_if_remote
      Src: /src/libpldm/src/dsp/pdr.c:1409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - node
    - entity
    - out
    - is_remote
    argTypes:
    - pldm_entity_node*
    - pldm_entity*
    - pldm_entity_node**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1411
    functionName: entity_association_tree_find_if_remote
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - entity_association_tree_find_if_remote
    linkageType: ''
    returnType: void
    signature: "void entity_association_tree_find_if_remote(pldm_entity_node *node,\n\t\t\t\t\t\t
      \  pldm_entity *entity,\n\t\t\t\t\t\t   pldm_entity_node **out,\n\t\t\t\t\t\t
      \  bool is_remote)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_find_if_remote
      Src: /src/libpldm/src/dsp/pdr.c:1421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1424
    functionName: "pldm_entity_node *pldm_entity_association_tree_find_with_locality(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity, bool is_remote)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - entity_association_tree_find_if_remote
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_node *pldm_entity_association_tree_find_with_locality(\n\tpldm_entity_association_tree
      *tree, pldm_entity *entity, bool is_remote)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_find
      Src: /src/libpldm/src/dsp/pdr.c:1440,1
    - Dst: entity_association_tree_find
      Src: /src/libpldm/src/dsp/pdr.c:1441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - node
    - entity
    - out
    argTypes:
    - pldm_entity_node*
    - pldm_entity*
    - pldm_entity_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1442
    functionName: entity_association_tree_find
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - entity_association_tree_find
    linkageType: ''
    returnType: void
    signature: "void entity_association_tree_find(pldm_entity_node *node,\n\t\t\t\t\t
      pldm_entity *entity,\n\t\t\t\t\t pldm_entity_node **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_find
      Src: /src/libpldm/src/dsp/pdr.c:1454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1456
    functionName: "pldm_entity_node *\npldm_entity_association_tree_find(pldm_entity_association_tree
      *tree,\n\t\t\t\t  pldm_entity *entity)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - entity_association_tree_find
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_node *\npldm_entity_association_tree_find(pldm_entity_association_tree
      *tree,\n\t\t\t\t  pldm_entity *entity)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:1467,1
    - Dst: entity_association_tree_copy
      Src: /src/libpldm/src/dsp/pdr.c:1479,1
    - Dst: entity_association_tree_copy
      Src: /src/libpldm/src/dsp/pdr.c:1485,1
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:1488,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - org_node
    - new_node
    argTypes:
    - pldm_entity_node*
    - pldm_entity_node**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1498
    functionName: entity_association_tree_copy
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - free
    - entity_association_tree_copy
    - malloc
    - entity_association_tree_destroy
    linkageType: ''
    returnType: int
    signature: "int entity_association_tree_copy(pldm_entity_node *org_node,\n\t\t\t\t\tpldm_entity_node
      **new_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1505,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1506,1
    - Dst: entity_association_tree_copy
      Src: /src/libpldm/src/dsp/pdr.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - org_tree
    - new_tree
    argTypes:
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts:
    - condition: (org_tree != NULL)
      pos:
        line_end: 1504
        line_start: 1504
        source_file: /src/libpldm/src/dsp/pdr.c
    - condition: (new_tree != NULL)
      pos:
        line_end: 1505
        line_start: 1505
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1510
      start: 1500
    functionDepth: 3
    functionLinenumber: 1500
    functionLinenumberEnd: 1510
    functionName: pldm_entity_association_tree_copy_root
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - entity_association_tree_copy
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_entity_association_tree_copy_root(\n\tpldm_entity_association_tree
      *org_tree,\n\tpldm_entity_association_tree *new_tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_copy
      Src: /src/libpldm/src/dsp/pdr.c:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - org_tree
    - new_tree
    argTypes:
    - pldm_entity_association_tree*
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1523
    functionName: pldm_entity_association_tree_copy_root_check
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - entity_association_tree_copy
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_entity_association_tree_copy_root_check(\n\tpldm_entity_association_tree
      *org_tree,\n\tpldm_entity_association_tree *new_tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1536
    functionName: pldm_entity_association_tree_destroy_root
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 2
    functionsReached:
    - entity_association_tree_destroy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_tree_destroy_root(\n\tpldm_entity_association_tree
      *tree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - pldm_entity_association_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1542
    functionName: pldm_is_empty_entity_assoc_tree
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_is_empty_entity_assoc_tree(pldm_entity_association_tree
      *tree)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1564,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1568,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1573,1
    - Dst: calloc
      Src: /src/libpldm/src/dsp/pdr.c:1611,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1616,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1618,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1620,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1623,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1625,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/pdr.c:1627,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - pdr
    - pdr_len
    - num_entities
    - entities
    argTypes:
    - uint8_t*
    - uint16_t
    - size_t*
    - pldm_entity**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1632
    functionName: pldm_entity_association_pdr_extract
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 6
    functionsReached:
    - calloc
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_pdr_extract(const uint8_t
      *pdr, uint16_t pdr_len,\n\t\t\t\t\t size_t *num_entities,\n\t\t\t\t\t pldm_entity
      **entities)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - repo
    - record
    - prev
    - new_record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    - pldm_pdr_record*
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1663
    functionName: pldm_pdr_replace_record
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_pdr_replace_record(pldm_pdr *repo, pldm_pdr_record
      *record,\n\t\t\t\t   pldm_pdr_record *prev,\n\t\t\t\t   pldm_pdr_record *new_record)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - repo
    - record
    - new_record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1690
    functionName: pldm_pdr_insert_record
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_pdr_insert_record(pldm_pdr *repo, pldm_pdr_record
      *record,\n\t\t\t\t  pldm_pdr_record *new_record)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - record
    - prev
    - record_handle
    argTypes:
    - pldm_pdr_record**
    - pldm_pdr_record**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1707
    functionName: pldm_pdr_find_record_by_handle
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_pdr_find_record_by_handle(pldm_pdr_record
      **record,\n\t\t\t\t\t   pldm_pdr_record **prev,\n\t\t\t\t\t   uint32_t record_handle)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:1722,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:1723,1
    - Dst: pldm_pdr_find_record_by_handle
      Src: /src/libpldm/src/dsp/pdr.c:1725,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:1737,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:1742,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1753,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1761,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:1773,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:1784,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:1792,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:1801,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1810,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1812,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1815,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1818,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1825,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1829,1
    - Dst: pldm_pdr_replace_record
      Src: /src/libpldm/src/dsp/pdr.c:1834,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1839,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1840,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1843,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1845,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1847,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1849,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 119
    argCount: 3
    argNames:
    - repo
    - entity
    - pdr_record_handle
    argTypes:
    - pldm_pdr*
    - pldm_entity*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1851
    functionName: pldm_entity_association_pdr_add_contained_entity_to_remote_pdr
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - free
    - pldm_msgbuf_complete
    - pldm_pdr_replace_record
    - pldm_msgbuf_insert
    - pldm_pdr_find_record_by_handle
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_entity_association_pdr_add_contained_entity_to_remote_pdr(\n\tpldm_pdr
      *repo, pldm_entity *entity, uint32_t pdr_record_handle)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:1872,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:1873,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:1874,1
    - Dst: pldm_pdr_find_record_by_handle
      Src: /src/libpldm/src/dsp/pdr.c:1879,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:1888,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:1893,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1906,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:1913,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/pdr.c:1915,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/pdr.c:1917,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/src/dsp/pdr.c:1919,1
    - Dst: pldm_msgbuf_insert_uint16
      Src: /src/libpldm/src/dsp/pdr.c:1921,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1926,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:1932,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/pdr.c:1940,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:1945,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/pdr.c:1946,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/pdr.c:1951,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:1958,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:1959,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/pdr.c:1960,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/pdr.c:1961,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1963,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1967,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:1971,1
    - Dst: pldm_pdr_insert_record
      Src: /src/libpldm/src/dsp/pdr.c:1976,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1983,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1985,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:1987,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1989,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:1991,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 103
    argCount: 5
    argNames:
    - repo
    - pdr_record_handle
    - parent
    - entity
    - entity_record_handle
    argTypes:
    - pldm_pdr*
    - uint32_t
    - pldm_entity*
    - pldm_entity*
    - uint32_t*
    assertStmts:
    - condition: (container_id_addr)
      pos:
        line_end: 1944
        line_start: 1944
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 1993
      start: 1853
    functionDepth: 3
    functionLinenumber: 1853
    functionLinenumberEnd: 1993
    functionName: pldm_entity_association_pdr_create_new
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint16
    - pldm_msgbuf_extract
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - assert
    - htole16
    - pldm_msgbuf_discard
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - free
    - pldm_msgbuf_insert
    - pldm_pdr_find_record_by_handle
    - memcpy
    - pldm_pdr_insert_record
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm_entity_association_pdr_create_new(pldm_pdr
      *repo,\n\t\t\t\t\t   uint32_t pdr_record_handle,\n\t\t\t\t\t   pldm_entity *parent,\n\t\t\t\t\t
      \  pldm_entity *entity,\n\t\t\t\t\t   uint32_t *entity_record_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - struct pldm_entity*
    - struct pldm_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2002
    functionName: pldm_entity_cmp
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_entity_cmp(const struct pldm_entity *l,\n\t\t\t
      \   const struct pldm_entity *r)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:2019,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:2021,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/pdr.c:2028,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2029,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:2031,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/pdr.c:2040,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2041,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:2043,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2048,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2049,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2051,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:2053,1
    - Dst: pldm_entity_cmp
      Src: /src/libpldm/src/dsp/pdr.c:2056,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2058,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2062,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - repo
    - entity
    - is_remote
    - record_handle
    argTypes:
    - pldm_pdr*
    - pldm_entity*
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2069
    functionName: pldm_entity_association_find_record_handle_by_entity
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_entity_cmp
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_entity_association_find_record_handle_by_entity(\n\tpldm_pdr
      *repo, pldm_entity *entity, bool is_remote,\n\tuint32_t *record_handle)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:2078,1
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:2079,1
    - Dst: pldm_entity_association_find_record_handle_by_entity
      Src: /src/libpldm/src/dsp/pdr.c:2090,1
    - Dst: pldm_pdr_find_record_by_handle
      Src: /src/libpldm/src/dsp/pdr.c:2095,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:2104,1
    - Dst: malloc
      Src: /src/libpldm/src/dsp/pdr.c:2108,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:2118,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:2126,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2138,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:2147,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2155,1
    - Dst: pldm_pdr_remove_record
      Src: /src/libpldm/src/dsp/pdr.c:2161,1
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:2162,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:2169,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2174,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2175,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2176,1
    - Dst: pldm_entity_cmp
      Src: /src/libpldm/src/dsp/pdr.c:2180,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:2184,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:2185,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/pdr.c:2186,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2189,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2194,1
    - Dst: pldm_pdr_replace_record
      Src: /src/libpldm/src/dsp/pdr.c:2199,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2204,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2205,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:2209,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/pdr.c:2211,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2213,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2215,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 4
    argNames:
    - repo
    - entity
    - is_remote
    - pdr_record_handle
    argTypes:
    - pldm_pdr*
    - pldm_entity*
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2217
    functionName: pldm_entity_association_pdr_remove_contained_entity
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_entity_cmp
    - pldm_msgbuf_extract
    - pldm_pdr_remove_record
    - pldm_pdr_get_prev_record
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - free
    - pldm_msgbuf_complete
    - pldm_pdr_replace_record
    - pldm_entity_association_find_record_handle_by_entity
    - pldm_msgbuf_insert
    - pldm_pdr_find_record_by_handle
    - malloc
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_pdr_remove_contained_entity(\n\tpldm_pdr
      *repo, pldm_entity *entity, bool is_remote,\n\tuint32_t *pdr_record_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2237
    functionName: "pldm_pdr_record *pldm_pdr_get_prev_record(pldm_pdr *repo,\n\t\t\t\t\t\t
      pldm_pdr_record *record)"
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_pdr_record *pldm_pdr_get_prev_record(pldm_pdr
      *repo,\n\t\t\t\t\t\t pldm_pdr_record *record)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:2248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - repo
    - record
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2249
    functionName: is_prev_record_present
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - pldm_pdr_get_prev_record
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: LIBPLDM_CC_NONNULL is_prev_record_present(pldm_pdr *repo, pldm_pdr_record
      *record)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:2262,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:2265,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/pdr.c:2271,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2273,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - record
    - rsi
    argTypes:
    - pldm_pdr_record*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2280
    functionName: pldm_pdr_record_matches_fru_rsi
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL pldm_pdr_record_matches_fru_rsi(const pldm_pdr_record
      *record,\n\t\t\t\t\t   uint16_t rsi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_prev_record_present
      Src: /src/libpldm/src/dsp/pdr.c:2288,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/pdr.c:2292,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2313,1
    - Dst: free
      Src: /src/libpldm/src/dsp/pdr.c:2314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - repo
    - record
    - prev
    argTypes:
    - pldm_pdr*
    - pldm_pdr_record*
    - pldm_pdr_record*
    assertStmts:
    - condition: (repo->size >= record->size)
      pos:
        line_end: 2291
        line_start: 2291
        source_file: /src/libpldm/src/dsp/pdr.c
    constantsTouched: []
    func_position:
      end: 2317
      start: 2285
    functionDepth: 1
    functionLinenumber: 2285
    functionLinenumberEnd: 2317
    functionName: pldm_pdr_remove_record
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 4
    functionsReached:
    - free
    - is_prev_record_present
    - assert
    linkageType: ''
    returnType: int
    signature: "int pldm_pdr_remove_record(pldm_pdr *repo, pldm_pdr_record *record,\n\t\t\t\t
      \ pldm_pdr_record *prev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/pdr.c:2337,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/pdr.c:2339,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/pdr.c:2344,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/pdr.c:2345,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/pdr.c:2346,1
    - Dst: pldm_pdr_record_matches_fru_rsi
      Src: /src/libpldm/src/dsp/pdr.c:2354,1
    - Dst: pldm_pdr_get_prev_record
      Src: /src/libpldm/src/dsp/pdr.c:2360,1
    - Dst: pldm_pdr_remove_record
      Src: /src/libpldm/src/dsp/pdr.c:2361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - repo
    - fru_rsi
    - is_remote
    - record_handle
    argTypes:
    - pldm_pdr*
    - uint16_t
    - bool
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2319
    functionDepth: 2
    functionLinenumber: 2319
    functionLinenumberEnd: 2367
    functionName: pldm_pdr_remove_fru_record_set_by_rsi
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_pdr_remove_record
    - pldm_pdr_get_prev_record
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    - pldm_pdr_record_matches_fru_rsi
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_pdr_remove_fru_record_set_by_rsi(pldm_pdr
      *repo, uint16_t fru_rsi,\n\t\t\t\t\t  bool is_remote,\n\t\t\t\t\t  uint32_t
      *record_handle)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pldm_find_entity_ref_in_tree
      Src: /src/libpldm/src/dsp/pdr.c:2377,1
    - Dst: pldm_find_entity_ref_in_tree
      Src: /src/libpldm/src/dsp/pdr.c:2383,1
    - Dst: pldm_entity_cmp
      Src: /src/libpldm/src/dsp/pdr.c:2391,1
    - Dst: entity_association_tree_destroy
      Src: /src/libpldm/src/dsp/pdr.c:2401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - tree
    - entity
    argTypes:
    - pldm_entity_association_tree*
    - pldm_entity*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2369
    functionDepth: 3
    functionLinenumber: 2369
    functionLinenumberEnd: 2408
    functionName: pldm_entity_association_tree_delete_node
    functionSourceFile: /src/libpldm/src/dsp/pdr.c
    functionUses: 5
    functionsReached:
    - pldm_find_entity_ref_in_tree
    - pldm_entity_cmp
    - entity_association_tree_destroy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_entity_association_tree_delete_node(pldm_entity_association_tree
      *tree,\n\t\t\t\t\t     const pldm_entity *entity)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - string_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: is_string_type_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string_type_valid(uint8_t string_type)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - descriptor_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: get_descriptor_type_length
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_descriptor_type_length(uint16_t descriptor_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resp
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: is_downstream_device_update_support_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_downstream_device_update_support_valid(uint8_t resp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - transfer_op_flag
    argTypes:
    - enum transfer_op_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: is_transfer_operation_flag_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_transfer_operation_flag_valid(enum transfer_op_flag transfer_op_flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - comp_resp
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: is_comp_resp_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_comp_resp_valid(uint8_t comp_resp)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - comp_resp_code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: is_comp_resp_code_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_comp_resp_code_valid(uint8_t comp_resp_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - comp_compatibility_resp
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: is_comp_compatibility_resp_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_comp_compatibility_resp_valid(uint8_t comp_compatibility_resp)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - comp_compatibility_resp_code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: is_comp_compatibility_resp_code_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_comp_compatibility_resp_code_valid(uint8_t comp_compatibility_resp_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - self_contained_activation_req
    argTypes:
    - bool8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: is_self_contained_activation_req_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_self_contained_activation_req_valid(bool8_t self_contained_activation_req)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: is_state_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state_valid(uint8_t state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - aux_state
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: is_aux_state_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_aux_state_valid(uint8_t aux_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - aux_state_status
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: is_aux_state_status_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_aux_state_status_valid(uint8_t aux_state_status)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: is_reason_code_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_reason_code_valid(uint8_t reason_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - non_functioning_component_indication
    argTypes:
    - bool8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: is_non_functioning_component_indication_valid
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_non_functioning_component_indication_valid(\n\tbool8_t non_functioning_component_indication)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:352,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:353,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:354,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:355,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:356,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:361,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:362,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:363,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:364,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:365,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:366,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:371,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:372,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:373,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:374,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:375,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:376,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:381,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:382,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:383,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:384,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:385,1
    - Dst: LIBPLDM_SIZEAT
      Src: /src/libpldm/src/dsp/firmware_update.c:386,1
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:399,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/dsp/firmware_update.c:418,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/firmware_update.c:423,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:432,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:438,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:443,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/firmware_update.c:446,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/firmware_update.c:450,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/firmware_update.c:454,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/firmware_update.c:458,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:462,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:465,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:467,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:471,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:474,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:482,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:484,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:487,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:492,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:495,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:497,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:500,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:503,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:505,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:507,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:508,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:511,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:514,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:517,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:523,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:531,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:536,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:539,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:543,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:547,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:548,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:551,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:558,1
    - Dst: pldm_edac_crc32_validate
      Src: /src/libpldm/src/dsp/firmware_update.c:563,1
    - Dst: printf
      Src: /src/libpldm/src/dsp/firmware_update.c:567,1
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/src/dsp/firmware_update.c:567,1
    - Dst: pldm_edac_crc32_validate
      Src: /src/libpldm/src/dsp/firmware_update.c:574,1
    - Dst: printf
      Src: /src/libpldm/src/dsp/firmware_update.c:579,1
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/src/dsp/firmware_update.c:579,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 5
    argNames:
    - data
    - length
    - pin
    - hdr
    - pkg
    argTypes:
    - void*
    - size_t
    - struct pldm_package_format_pin*
    - pldm_package_header_information_pad*
    - struct pldm_package*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 594
    functionName: decode_pldm_package_header_info_errno
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_edac_crc32
    - ARRAY_SIZE
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract_array
    - LIBPLDM_SIZEAT
    - pldm_msgbuf_extract
    - memcmp
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - printf
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - is_string_type_valid
    - pldm_edac_crc32_validate
    linkageType: ''
    returnType: LIBPLDM_CC_NONNULL
    signature: "LIBPLDM_CC_NONNULL decode_pldm_package_header_info_errno(const void
      *data, size_t length,\n\t\t\t\t      const struct pldm_package_format_pin *pin,\n\t\t\t\t
      \     pldm_package_header_information_pad *hdr,\n\t\t\t\t      struct pldm_package
      *pkg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
      Src: /src/libpldm/src/dsp/firmware_update.c:602,1
    - Dst: decode_pldm_package_header_info_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:611,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:614,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:620,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:624,1
    - Dst: LE16TOH
      Src: /src/libpldm/src/dsp/firmware_update.c:626,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - data
    - length
    - package_header_info
    - package_version_str
    argTypes:
    - uint8_t*
    - size_t
    - struct pldm_package_header_information*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 642
    functionName: decode_pldm_package_header_info
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 14
    functionsReached:
    - decode_pldm_package_header_info_errno
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
    - pldm_xlate_errno
    - LE16TOH
    - memcpy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_package_header_info(\n\tconst uint8_t
      *data, size_t length,\n\tstruct pldm_package_header_information *package_header_info,\n\tstruct
      variable_field *package_version_str)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:653,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:662,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:664,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:667,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:672,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:678,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:680,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:683,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:686,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:689,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - buf
    - req
    - data
    - len
    - tail_data
    - tail_len
    argTypes:
    - struct pldm_msgbuf_ro*
    - size_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 695
    functionName: pldm_msgbuf_init_dynamic_uint16
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: int
    signature: "int pldm_msgbuf_init_dynamic_uint16(struct pldm_msgbuf_ro *buf,\n\t\t\t\t\t
      \  size_t req, void *data, size_t len,\n\t\t\t\t\t   void **tail_data, size_t
      *tail_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:704,1
    - Dst: pldm_msgbuf_init_dynamic_uint16
      Src: /src/libpldm/src/dsp/firmware_update.c:712,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:720,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:721,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:722,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:724,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:727,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:729,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:731,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:734,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:737,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:741,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:744,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:747,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:752,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:755,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:761,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:762,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:766,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:771,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/src/dsp/firmware_update.c:780,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:784,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:793,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:798,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:802,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 3
    argNames:
    - hdr
    - field
    - rec
    argTypes:
    - pldm_package_header_information_pad*
    - struct variable_field*
    - struct pldm_package_firmware_device_id_record*
    assertStmts:
    - condition: ((hdr->component_bitmap_bit_length & 7) == 0)
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: (rec->reference_manifest_data.length == 0)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/libpldm/src/dsp/firmware_update.c
    constantsTouched: []
    func_position:
      end: 803
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 803
    functionName: decode_pldm_package_firmware_device_id_record_errno
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_span_until
    - pldm_msgbuf_init_dynamic_uint16
    - pldm_msgbuf_extract_uint32_to_size
    - pldm_msgbuf_discard
    - assert
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - is_string_type_valid
    linkageType: ''
    returnType: int
    signature: "int decode_pldm_package_firmware_device_id_record_errno(\n\tconst
      pldm_package_header_information_pad *hdr,\n\tstruct variable_field *field,\n\tstruct
      pldm_package_firmware_device_id_record *rec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_firmware_device_id_record_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:829,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:832,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:835,1
    - Dst: LE16TOH
      Src: /src/libpldm/src/dsp/firmware_update.c:837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - data
    - length
    - component_bitmap_bit_length
    - fw_device_id_record
    - applicable_components
    - comp_image_set_version_str
    - record_descriptors
    - fw_device_pkg_data
    argTypes:
    - uint8_t*
    - size_t
    - uint16_t
    - struct pldm_firmware_device_id_record*
    - struct variable_field*
    - struct variable_field*
    - struct variable_field*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 853
    functionName: decode_firmware_device_id_record
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 11
    functionsReached:
    - LE16TOH
    - memcpy
    - pldm_xlate_errno
    - decode_pldm_package_firmware_device_id_record_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_firmware_device_id_record(\n\tconst uint8_t
      *data, size_t length,\n\tuint16_t component_bitmap_bit_length,\n\tstruct pldm_firmware_device_id_record
      *fw_device_id_record,\n\tstruct variable_field *applicable_components,\n\tstruct
      variable_field *comp_image_set_version_str,\n\tstruct variable_field *record_descriptors,\n\tstruct
      variable_field *fw_device_pkg_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:859,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:866,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:872,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:873,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:875,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:879,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:882,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - iter
    - desc
    argTypes:
    - struct pldm_descriptor_iter*
    - struct pldm_descriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 886
    functionName: decode_pldm_descriptor_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_descriptor_from_iter(struct pldm_descriptor_iter
      *iter,\n\t\t\t\t     struct pldm_descriptor *desc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:906,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:907,1
    - Dst: get_descriptor_type_length
      Src: /src/libpldm/src/dsp/firmware_update.c:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - data
    - length
    - descriptor_type
    - descriptor_data
    argTypes:
    - void*
    - size_t
    - uint16_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 924
    functionName: decode_descriptor_type_length_value_errno
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - get_descriptor_type_length
    - le16toh
    linkageType: ''
    returnType: int
    signature: "int decode_descriptor_type_length_value_errno(\n\tconst void *data,
      size_t length, uint16_t *descriptor_type,\n\tstruct variable_field *descriptor_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_descriptor_type_length_value_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:933,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - length
    - descriptor_type
    - descriptor_data
    argTypes:
    - uint8_t*
    - size_t
    - uint16_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 940
    functionName: decode_descriptor_type_length_value
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 16
    functionsReached:
    - decode_descriptor_type_length_value_errno
    - pldm_xlate_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_descriptor_type_length_value(const uint8_t
      *data, size_t length,\n\t\t\t\t\tuint16_t *descriptor_type,\n\t\t\t\t\tstruct
      variable_field *descriptor_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - data
    - length
    - descriptor_title_str_type
    - descriptor_title_str
    - descriptor_data
    argTypes:
    - void*
    - size_t
    - uint8_t*
    - struct variable_field*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 985
    functionName: decode_vendor_defined_descriptor_value_errno
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - is_string_type_valid
    linkageType: ''
    returnType: int
    signature: "int decode_vendor_defined_descriptor_value_errno(\n\tconst void *data,
      size_t length, uint8_t *descriptor_title_str_type,\n\tstruct variable_field
      *descriptor_title_str,\n\tstruct variable_field *descriptor_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_vendor_defined_descriptor_value_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:995,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - data
    - length
    - descriptor_title_str_type
    - descriptor_title_str
    - descriptor_data
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - struct variable_field*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1003
    functionName: decode_vendor_defined_descriptor_value
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 26
    functionsReached:
    - decode_vendor_defined_descriptor_value_errno
    - pldm_xlate_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_vendor_defined_descriptor_value(\n\tconst
      uint8_t *data, size_t length, uint8_t *descriptor_title_str_type,\n\tstruct
      variable_field *descriptor_title_str,\n\tstruct variable_field *descriptor_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1022,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1033,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1035,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1037,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1039,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1041,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1043,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1044,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - data
    - length
    - pldm_comp_image_info
    - comp_version_str
    argTypes:
    - void*
    - size_t
    - struct pldm_component_image_information*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1067
    functionName: decode_pldm_comp_image_info_errno
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - is_string_type_valid
    - le32toh
    - le16toh
    linkageType: ''
    returnType: int
    signature: "int decode_pldm_comp_image_info_errno(\n\tconst void *data, size_t
      length,\n\tstruct pldm_component_image_information *pldm_comp_image_info,\n\tstruct
      variable_field *comp_version_str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_comp_image_info_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1077,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - length
    - pldm_comp_image_info
    - comp_version_str
    argTypes:
    - uint8_t*
    - size_t
    - struct pldm_component_image_information*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1084
    functionName: decode_pldm_comp_image_info
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pldm_xlate_errno
    - decode_pldm_comp_image_info_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_comp_image_info(\n\tconst uint8_t *data,
      size_t length,\n\tstruct pldm_component_image_information *pldm_comp_image_info,\n\tstruct
      variable_field *comp_version_str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - instance_id
    - payload_length
    - msg
    argTypes:
    - uint8_t
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1101
    functionName: encode_query_device_identifiers_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 9
    functionsReached:
    - encode_pldm_header_only
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_query_device_identifiers_req(uint8_t instance_id,\n\t\t\t\t\tsize_t
      payload_length,\n\t\t\t\t\tstruct pldm_msg *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - msg
    - payload_length
    - completion_code
    - device_identifiers_len
    - descriptor_count
    - descriptor_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1149
    functionName: decode_query_device_identifiers_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 9
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_query_device_identifiers_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\t size_t payload_length,\n\t\t\t\t\t uint8_t *completion_code,\n\t\t\t\t\t
      uint32_t *device_identifiers_len,\n\t\t\t\t\t uint8_t *descriptor_count,\n\t\t\t\t\t
      uint8_t **descriptor_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1157,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:1168,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1174,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:1187,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1188,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1189,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1193,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1194,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1196,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1198,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1203,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:1207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - instance_id
    - descriptor_count
    - descriptors
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_descriptor*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1208
    functionName: encode_query_device_identifiers_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_discard
    - encode_pldm_header_only
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_query_device_identifiers_resp(\n\tuint8_t
      instance_id, uint8_t descriptor_count,\n\tconst struct pldm_descriptor *descriptors,
      struct pldm_msg *msg,\n\tsize_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - instance_id
    - payload_length
    - msg
    argTypes:
    - uint8_t
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1225
    functionName: encode_get_firmware_parameters_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 9
    functionsReached:
    - encode_pldm_header_only
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_firmware_parameters_req(uint8_t instance_id,\n\t\t\t\t
      \      size_t payload_length,\n\t\t\t\t       struct pldm_msg *msg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1254,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1266,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1282,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1283,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 6
    argNames:
    - msg
    - payload_length
    - resp_data
    - active_comp_image_set_ver_str
    - pending_comp_image_set_ver_str
    - comp_parameter_table
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_get_firmware_parameters_resp*
    - struct variable_field*
    - struct variable_field*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1324
    functionName: decode_get_firmware_parameters_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 13
    functionsReached:
    - is_string_type_valid
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_firmware_parameters_resp(\n\tconst struct
      pldm_msg *msg, size_t payload_length,\n\tstruct pldm_get_firmware_parameters_resp
      *resp_data,\n\tstruct variable_field *active_comp_image_set_ver_str,\n\tstruct
      variable_field *pending_comp_image_set_ver_str,\n\tstruct variable_field *comp_parameter_table)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1332,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1339,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1351,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:1357,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1363,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1368,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1369,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1370,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1371,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1374,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1376,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1379,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1382,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1387,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1389,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1394,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:1400,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_get_firmware_parameters_resp_full*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1401
    functionName: encode_get_firmware_parameters_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 8
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - is_string_type_valid
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_firmware_parameters_resp(\n\tuint8_t
      instance_id,\n\tconst struct pldm_get_firmware_parameters_resp_full *resp_data,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1408,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1415,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1420,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1421,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1422,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1424,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1425,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1426,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1427,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1431,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1434,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1435,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1436,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1437,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1441,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1444,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1445,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1447,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1451,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1453,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1457,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:1460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - comp
    - payload
    - payload_length
    argTypes:
    - struct pldm_component_parameter_entry_full*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1461
    functionName: encode_get_firmware_parameters_resp_comp_entry
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_firmware_parameters_resp_comp_entry(\n\tconst
      struct pldm_component_parameter_entry_full *comp,\n\tuint8_t *payload, size_t
      *payload_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1491,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1492,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1496,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:1501,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1505,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:1510,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1514,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:1516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - data
    - length
    - component_data
    - active_comp_ver_str
    - pending_comp_ver_str
    argTypes:
    - uint8_t*
    - size_t
    - struct pldm_component_parameter_entry*
    - struct variable_field*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1537
    functionName: decode_get_firmware_parameters_resp_comp_entry
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 9
    functionsReached:
    - memcpy
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_firmware_parameters_resp_comp_entry(\n\tconst
      uint8_t *data, size_t length,\n\tstruct pldm_component_parameter_entry *component_data,\n\tstruct
      variable_field *active_comp_ver_str,\n\tstruct variable_field *pending_comp_ver_str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_header_only_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - instance_id
    - msg
    argTypes:
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1551
    functionName: encode_query_downstream_devices_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - encode_pldm_header_only_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_query_downstream_devices_req(uint8_t instance_id,\n\t\t\t\t\tstruct
      pldm_msg *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1558,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1565,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1571,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1573,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1577,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1581,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1584,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1587,1
    - Dst: is_downstream_device_update_support_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1590,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1592,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1595,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1596,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1597,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:1599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_query_downstream_devices_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1600
    functionName: decode_query_downstream_devices_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - is_downstream_device_update_support_valid
    - pldm_msgbuf_complete
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_query_downstream_devices_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_query_downstream_devices_resp
      *resp_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1608,1
    - Dst: is_transfer_operation_flag_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1615,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1626,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1631,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1638,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1640,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - instance_id
    - params_req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_query_downstream_identifiers_req*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1643
    functionName: encode_query_downstream_identifiers_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - is_transfer_operation_flag_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_query_downstream_identifiers_req(\n\tuint8_t
      instance_id,\n\tconst struct pldm_query_downstream_identifiers_req *params_req,\n\tstruct
      pldm_msg *msg, size_t payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1651,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1660,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1666,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1668,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1671,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1675,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1678,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1679,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1681,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1683,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1686,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:1687,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - payload_length
    - resp_data
    - iter
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_query_downstream_identifiers_resp*
    - struct pldm_downstream_device_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1700
    functionName: decode_query_downstream_identifiers_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 13
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_query_downstream_identifiers_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_query_downstream_identifiers_resp
      *resp_data,\n\tstruct pldm_downstream_device_iter *iter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1707,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1714,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1720,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1721,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:1722,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - iter
    - dev
    argTypes:
    - struct pldm_downstream_device_iter*
    - struct pldm_downstream_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1726
    functionName: decode_pldm_downstream_device_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_downstream_device_from_iter(\n\tstruct
      pldm_downstream_device_iter *iter,\n\tstruct pldm_downstream_device *dev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1734,1
    - Dst: is_transfer_operation_flag_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:1741,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1752,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1757,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1764,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1766,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - instance_id
    - params_req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_get_downstream_firmware_parameters_req*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1769
    functionName: encode_get_downstream_firmware_parameters_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - is_transfer_operation_flag_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_downstream_firmware_parameters_req(\n\tuint8_t
      instance_id,\n\tconst struct pldm_get_downstream_firmware_parameters_req *params_req,\n\tstruct
      pldm_msg *msg, size_t payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1777,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1786,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1792,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1794,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1797,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1802,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1805,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1806,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1807,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1809,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:1811,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1813,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - payload_length
    - resp_data
    - iter
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_get_downstream_firmware_parameters_resp*
    - struct pldm_downstream_device_parameters_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1826
    functionName: decode_get_downstream_firmware_parameters_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_downstream_firmware_parameters_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_get_downstream_firmware_parameters_resp
      *resp_data,\n\tstruct pldm_downstream_device_parameters_iter *iter)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1833,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1843,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1850,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1851,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1852,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1853,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1855,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1857,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1862,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1869,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1870,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1871,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1873,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:1876,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1881,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1888,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1889,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:1891,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1894,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:1898,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1901,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:1905,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:1907,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:1913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - iter
    - entry
    argTypes:
    - struct pldm_downstream_device_parameters_iter*
    - struct pldm_downstream_device_parameters_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1828
    functionDepth: 1
    functionLinenumber: 1828
    functionLinenumberEnd: 1914
    functionName: decode_pldm_downstream_device_parameters_entry_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_span_required
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_downstream_device_parameters_entry_from_iter(\n\tstruct
      pldm_downstream_device_parameters_iter *iter,\n\tstruct pldm_downstream_device_parameters_entry
      *entry)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1922,1
    - Dst: encode_pldm_header_only_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1933,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1940,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1947,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1949,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:1951,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:1954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - req_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_request_downstream_device_update_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1916
    functionDepth: 3
    functionLinenumber: 1916
    functionLinenumberEnd: 1955
    functionName: encode_request_downstream_device_update_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - encode_pldm_header_only_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_request_downstream_device_update_req(\n\tuint8_t
      instance_id,\n\tconst struct pldm_request_downstream_device_update_req *req_data,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1963,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1969,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1976,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1977,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:1978,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_request_downstream_device_update_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1981
    functionName: decode_request_downstream_device_update_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_request_downstream_device_update_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_request_downstream_device_update_req
      *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:1989,1
    - Dst: encode_pldm_header_only_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:1996,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2003,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2010,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2011,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2012,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2014,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_request_downstream_device_update_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1983
    functionDepth: 3
    functionLinenumber: 1983
    functionLinenumberEnd: 2018
    functionName: encode_request_downstream_device_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - encode_pldm_header_only_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_request_downstream_device_update_resp(\n\tuint8_t
      instance_id,\n\tconst struct pldm_request_downstream_device_update_resp *resp_data,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2025,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/firmware_update.c:2032,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2039,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2046,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2047,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2048,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2050,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:2053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_request_downstream_device_update_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2054
    functionName: decode_request_downstream_device_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_request_downstream_device_update_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_request_downstream_device_update_resp
      *resp_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2086,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2095,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/firmware_update.c:2103,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2104,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2106,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:2110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 10
    argNames:
    - instance_id
    - max_transfer_size
    - num_of_comp
    - max_outstanding_transfer_req
    - pkg_data_len
    - comp_image_set_ver_str_type
    - comp_image_set_ver_str_len
    - comp_img_set_ver_str
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint16_t
    - uint8_t
    - uint16_t
    - uint8_t
    - uint8_t
    - struct variable_field*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2114
    functionName: encode_request_update_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    - memcpy
    - is_string_type_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_request_update_req(uint8_t instance_id,
      uint32_t max_transfer_size,\n\t\t\t      uint16_t num_of_comp,\n\t\t\t      uint8_t
      max_outstanding_transfer_req,\n\t\t\t      uint16_t pkg_data_len,\n\t\t\t      uint8_t
      comp_image_set_ver_str_type,\n\t\t\t      uint8_t comp_image_set_ver_str_len,\n\t\t\t
      \     const struct variable_field *comp_img_set_ver_str,\n\t\t\t      struct
      pldm_msg *msg, size_t payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2122,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2128,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2133,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2134,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2135,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2136,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2137,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2139,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2142,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2145,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2147,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:2150,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2154,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:2157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_request_update_req_full*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2158
    functionName: decode_request_update_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_request_update_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      struct pldm_request_update_req_full
      *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - fd_meta_data_len
    - fd_will_send_pkg_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2188
    functionName: decode_request_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_request_update_resp(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *completion_code,\n\t\t\t
      \      uint16_t *fd_meta_data_len,\n\t\t\t       uint8_t *fd_will_send_pkg_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2195,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2208,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2213,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:2218,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2219,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2220,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_request_update_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2190
    functionDepth: 3
    functionLinenumber: 2190
    functionLinenumberEnd: 2225
    functionName: encode_request_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - pack_pldm_header
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_request_update_resp(uint8_t instance_id,\n\t\t\t
      \      const struct pldm_request_update_resp *resp_data,\n\t\t\t       struct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_transfer_flag_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2252,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2256,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2265,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2274,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2275,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/firmware_update.c:2277,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:2281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 11
    argNames:
    - instance_id
    - transfer_flag
    - comp_classification
    - comp_identifier
    - comp_classification_index
    - comp_comparison_stamp
    - comp_ver_str_type
    - comp_ver_str_len
    - comp_ver_str
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t
    - struct variable_field*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2285
    functionName: encode_pass_component_table_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - is_transfer_flag_valid
    - htole16
    - pack_pldm_header
    - htole32
    - memcpy
    - is_string_type_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pass_component_table_req(uint8_t instance_id,
      uint8_t transfer_flag,\n\t\t\t\t    uint16_t comp_classification,\n\t\t\t\t
      \   uint16_t comp_identifier,\n\t\t\t\t    uint8_t comp_classification_index,\n\t\t\t\t
      \   uint32_t comp_comparison_stamp,\n\t\t\t\t    uint8_t comp_ver_str_type,\n\t\t\t\t
      \   uint8_t comp_ver_str_len,\n\t\t\t\t    const struct variable_field *comp_ver_str,\n\t\t\t\t
      \   struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2294,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2300,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2305,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2306,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2307,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2308,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2309,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2310,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2312,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2315,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2318,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2320,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:2322,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2326,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:2329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - msg
    - payload_length
    - pcomp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_pass_component_table_req_full*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2330
    functionName: decode_pass_component_table_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pass_component_table_req(\n\tconst struct
      pldm_msg *msg, size_t payload_length,\n\tstruct pldm_pass_component_table_req_full
      *pcomp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_comp_resp_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2356,1
    - Dst: is_comp_resp_code_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - comp_resp
    - comp_resp_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2368
    functionName: decode_pass_component_table_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - is_comp_resp_valid
    - is_comp_resp_code_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pass_component_table_resp(const struct pldm_msg
      *msg,\n\t\t\t\t     const size_t payload_length,\n\t\t\t\t     uint8_t *completion_code,\n\t\t\t\t
      \    uint8_t *comp_resp,\n\t\t\t\t     uint8_t *comp_resp_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2376,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2383,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2389,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:2394,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2395,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2396,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_pass_component_table_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2370
    functionDepth: 3
    functionLinenumber: 2370
    functionLinenumberEnd: 2399
    functionName: encode_pass_component_table_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pass_component_table_resp(\n\tuint8_t instance_id,\n\tconst
      struct pldm_pass_component_table_resp *resp_data,\n\tstruct pldm_msg *msg, size_t
      *payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2428,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2437,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2445,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/firmware_update.c:2446,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/firmware_update.c:2448,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/firmware_update.c:2449,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/firmware_update.c:2450,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/firmware_update.c:2454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 12
    argNames:
    - instance_id
    - comp_classification
    - comp_identifier
    - comp_classification_index
    - comp_comparison_stamp
    - comp_image_size
    - update_option_flags
    - comp_ver_str_type
    - comp_ver_str_len
    - comp_ver_str
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint32_t
    - bitfield32_t
    - uint8_t
    - uint8_t
    - struct variable_field*
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2458
    functionName: encode_update_component_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    - memcpy
    - is_string_type_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_update_component_req(\n\tuint8_t instance_id,
      uint16_t comp_classification,\n\tuint16_t comp_identifier, uint8_t comp_classification_index,\n\tuint32_t
      comp_comparison_stamp, uint32_t comp_image_size,\n\tbitfield32_t update_option_flags,
      uint8_t comp_ver_str_type,\n\tuint8_t comp_ver_str_len, const struct variable_field
      *comp_ver_str,\n\tstruct pldm_msg *msg, size_t payload_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2467,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2473,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2478,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2479,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2480,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2481,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2482,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2483,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2484,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2486,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2489,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2492,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2494,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/firmware_update.c:2496,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:2500,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:2503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - msg
    - payload_length
    - up
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_update_component_req_full*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2504
    functionName: decode_update_component_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_update_component_req(const struct pldm_msg
      *msg,\n\t\t\t\tsize_t payload_length,\n\t\t\t\tstruct pldm_update_component_req_full
      *up)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_comp_compatibility_resp_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2535,1
    - Dst: is_comp_compatibility_resp_code_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2540,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2548,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 7
    argNames:
    - msg
    - payload_length
    - completion_code
    - comp_compatibility_resp
    - comp_compatibility_resp_code
    - update_option_flags_enabled
    - time_before_req_fw_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - bitfield32_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2552
    functionName: decode_update_component_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - is_comp_compatibility_resp_valid
    - is_comp_compatibility_resp_code_valid
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_update_component_resp(const struct pldm_msg
      *msg,\n\t\t\t\t size_t payload_length,\n\t\t\t\t uint8_t *completion_code,\n\t\t\t\t
      uint8_t *comp_compatibility_resp,\n\t\t\t\t uint8_t *comp_compatibility_resp_code,\n\t\t\t\t
      bitfield32_t *update_option_flags_enabled,\n\t\t\t\t uint16_t *time_before_req_fw_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2559,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2566,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2572,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:2577,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2578,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2579,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2580,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2581,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_update_component_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2554
    functionDepth: 3
    functionLinenumber: 2554
    functionLinenumberEnd: 2584
    functionName: encode_update_component_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_update_component_resp(\n\tuint8_t instance_id,
      const struct pldm_update_component_resp *resp_data,\n\tstruct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2599,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - offset
    - length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2607
    functionName: decode_request_firmware_data_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_request_firmware_data_req(const struct pldm_msg
      *msg,\n\t\t\t\t     size_t payload_length, uint32_t *offset,\n\t\t\t\t     uint32_t
      *length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2615,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2622,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2628,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2633,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2634,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - req_params
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_request_firmware_data_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2609
    functionDepth: 3
    functionLinenumber: 2609
    functionLinenumberEnd: 2637
    functionName: encode_request_firmware_data_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_request_firmware_data_req(\n\tuint8_t instance_id,\n\tconst
      struct pldm_request_firmware_data_req *req_params,\n\tstruct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2662
    functionName: encode_request_firmware_data_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_request_firmware_data_resp(uint8_t instance_id,\n\t\t\t\t
      \     uint8_t completion_code,\n\t\t\t\t      struct pldm_msg *msg,\n\t\t\t\t
      \     size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - transfer_result
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2664
    functionDepth: 0
    functionLinenumber: 2664
    functionLinenumberEnd: 2679
    functionName: decode_transfer_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_transfer_complete_req(const struct pldm_msg
      *msg,\n\t\t\t\t size_t payload_length,\n\t\t\t\t uint8_t *transfer_result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2685,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2692,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2698,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2703,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - instance_id
    - transfer_result
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2681
    functionDepth: 3
    functionLinenumber: 2681
    functionLinenumberEnd: 2706
    functionName: encode_transfer_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_transfer_complete_req(uint8_t instance_id,
      uint8_t transfer_result,\n\t\t\t\t struct pldm_msg *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2708
    functionDepth: 1
    functionLinenumber: 2708
    functionLinenumberEnd: 2733
    functionName: encode_transfer_complete_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_transfer_complete_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t\t  struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - verify_result
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2749
    functionName: decode_verify_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_verify_complete_req(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *verify_result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2755,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2762,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2768,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2773,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - instance_id
    - verify_result
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2751
    functionDepth: 3
    functionLinenumber: 2751
    functionLinenumberEnd: 2776
    functionName: encode_verify_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_verify_complete_req(uint8_t instance_id,
      uint8_t verify_result,\n\t\t\t       struct pldm_msg *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2803
    functionName: encode_verify_complete_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_verify_complete_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t\tstruct pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - apply_result
    - comp_activation_methods_modification
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - bitfield16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2832
    functionName: decode_apply_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_apply_complete_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint8_t *apply_result,\n\t\t\t      bitfield16_t
      *comp_activation_methods_modification)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2839,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2846,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2852,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2857,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:2858,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:2861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - req_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_apply_complete_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2834
    functionDepth: 3
    functionLinenumber: 2834
    functionLinenumberEnd: 2862
    functionName: encode_apply_complete_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_apply_complete_req(uint8_t instance_id,\n\t\t\t
      \     const struct pldm_apply_complete_req *req_data,\n\t\t\t      struct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2864
    functionDepth: 1
    functionLinenumber: 2864
    functionLinenumberEnd: 2889
    functionName: encode_apply_complete_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_apply_complete_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t       struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2896,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:2903,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:2908,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:2910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - payload_length
    - self_contained
    argTypes:
    - struct pldm_msg*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2891
    functionDepth: 1
    functionLinenumber: 2891
    functionLinenumberEnd: 2917
    functionName: decode_activate_firmware_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_activate_firmware_req(const struct pldm_msg
      *msg,\n\t\t\t\t size_t payload_length, bool *self_contained)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_self_contained_activation_req_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:2932,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:2942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - instance_id
    - self_contained_activation_req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - bool8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2919
    functionDepth: 1
    functionLinenumber: 2919
    functionLinenumberEnd: 2953
    functionName: encode_activate_firmware_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - is_self_contained_activation_req_valid
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_activate_firmware_req(uint8_t instance_id,\n\t\t\t\t
      bool8_t self_contained_activation_req,\n\t\t\t\t struct pldm_msg *msg, size_t
      payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/firmware_update.c:2979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - estimated_time_activation
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2955
    functionDepth: 0
    functionLinenumber: 2955
    functionLinenumberEnd: 2982
    functionName: decode_activate_firmware_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_activate_firmware_resp(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length,\n\t\t\t\t  uint8_t *completion_code,\n\t\t\t\t
      \ uint16_t *estimated_time_activation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:2990,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:2997,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3003,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:3008,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3009,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:3011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_activate_firmware_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 2984
    functionDepth: 3
    functionLinenumber: 2984
    functionLinenumberEnd: 3012
    functionName: encode_activate_firmware_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_activate_firmware_resp(\n\tuint8_t instance_id,\n\tconst
      struct pldm_activate_firmware_resp *resp_data,\n\tstruct pldm_msg *msg, size_t
      *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:3031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3037
      start: 3014
    functionDepth: 1
    functionLinenumber: 3014
    functionLinenumberEnd: 3037
    functionName: encode_get_status_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_status_req(uint8_t instance_id, struct
      pldm_msg *msg,\n\t\t\t  size_t payload_length)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_state_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3066,1
    - Dst: is_state_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3069,1
    - Dst: is_aux_state_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3072,1
    - Dst: is_aux_state_status_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3075,1
    - Dst: is_reason_code_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3081,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/firmware_update.c:3101,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 10
    argNames:
    - msg
    - payload_length
    - completion_code
    - current_state
    - previous_state
    - aux_state
    - aux_state_status
    - progress_percent
    - reason_code
    - update_option_flags_enabled
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - bitfield32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3039
    functionDepth: 1
    functionLinenumber: 3039
    functionLinenumberEnd: 3104
    functionName: decode_get_status_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - is_state_valid
    - is_reason_code_valid
    - is_aux_state_status_valid
    - is_aux_state_valid
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_status_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t   uint8_t *completion_code, uint8_t *current_state,\n\t\t\t
      \  uint8_t *previous_state, uint8_t *aux_state,\n\t\t\t   uint8_t *aux_state_status,
      uint8_t *progress_percent,\n\t\t\t   uint8_t *reason_code,\n\t\t\t   bitfield32_t
      *update_option_flags_enabled)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3111,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:3122,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3128,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:3133,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3134,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3135,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3136,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3137,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3138,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3139,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3140,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:3142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - instance_id
    - status
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_get_status_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3106
    functionDepth: 3
    functionLinenumber: 3106
    functionLinenumberEnd: 3143
    functionName: encode_get_status_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_get_status_resp(uint8_t instance_id,\n\t\t\t
      \  const struct pldm_get_status_resp *status,\n\t\t\t   struct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:3163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3145
    functionDepth: 1
    functionLinenumber: 3145
    functionLinenumberEnd: 3169
    functionName: encode_cancel_update_component_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_cancel_update_component_req(uint8_t instance_id,\n\t\t\t\t
      \      struct pldm_msg *msg,\n\t\t\t\t       size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3186
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3186
    functionName: decode_cancel_update_component_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_cancel_update_component_resp(const struct
      pldm_msg *msg,\n\t\t\t\t\tsize_t payload_length,\n\t\t\t\t\tuint8_t *completion_code)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/firmware_update.c:3205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3188
    functionDepth: 1
    functionLinenumber: 3188
    functionLinenumberEnd: 3211
    functionName: encode_cancel_update_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_cancel_update_req(uint8_t instance_id, struct
      pldm_msg *msg,\n\t\t\t     size_t payload_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_non_functioning_component_indication_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3236,1
    - Dst: le64toh
      Src: /src/libpldm/src/dsp/firmware_update.c:3246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - msg
    - payload_length
    - completion_code
    - non_functioning_component_indication
    - non_functioning_component_bitmap
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - bool8_t*
    - bitfield64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3250
    functionName: decode_cancel_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - le64toh
    - is_non_functioning_component_indication_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_cancel_update_resp(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint8_t *completion_code,\n\t\t\t
      \     bool8_t *non_functioning_component_indication,\n\t\t\t      bitfield64_t
      *non_functioning_component_bitmap)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3257,1
    - Dst: encode_pldm_header_only
      Src: /src/libpldm/src/dsp/firmware_update.c:3264,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3270,1
    - Dst: pldm_msgbuf_insert_uint8
      Src: /src/libpldm/src/dsp/firmware_update.c:3275,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3276,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3278,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:3280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - resp_data
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_cancel_update_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3252
    functionDepth: 3
    functionLinenumber: 3252
    functionLinenumberEnd: 3281
    functionName: encode_cancel_update_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 1
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_insert_uint8
    - pldm_msgbuf_init_errno
    - encode_pldm_header_only
    - pldm_msgbuf_insert
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_cancel_update_resp(uint8_t instance_id,\n\t\t\t
      \     const struct pldm_cancel_update_resp *resp_data,\n\t\t\t      struct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3289,1
    - Dst: encode_pldm_header_only_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3296,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3302,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3309,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3310,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/firmware_update.c:3311,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/firmware_update.c:3313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_fwup_update_security_revision_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3283
    functionDepth: 3
    functionLinenumber: 3283
    functionLinenumberEnd: 3314
    functionName: encode_pldm_fwup_update_security_revision_req
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - encode_pldm_header_only_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_fwup_update_security_revision_req(\n\tconst
      uint8_t instance_id,\n\tconst struct pldm_fwup_update_security_revision_req
      *req,\n\tstruct pldm_msg *msg, size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3321,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3328,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/firmware_update.c:3334,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:3336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3337
    functionName: decode_pldm_fwup_update_security_revision_resp
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 6
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_p
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_fwup_update_security_revision_resp(const
      struct pldm_msg *msg,\n\t\t\t\t\t\t   size_t payload_length,\n\t\t\t\t\t\t   uint8_t
      *completion_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_header_info_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - data
    - length
    - pin
    - hdr
    - pkg
    - flags
    argTypes:
    - void*
    - size_t
    - struct pldm_package_format_pin*
    - pldm_package_header_information_pad*
    - struct pldm_package*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3339
    functionDepth: 2
    functionLinenumber: 3339
    functionLinenumberEnd: 3356
    functionName: decode_pldm_firmware_update_package
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 17
    functionsReached:
    - decode_pldm_package_header_info_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_firmware_update_package(\n\tconst void
      *data, size_t length,\n\tconst struct pldm_package_format_pin *pin,\n\tpldm_package_header_information_pad
      *hdr, struct pldm_package *pkg,\n\tuint32_t flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3362,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3369,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3371,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3373,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3375,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3392,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3398,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:3399,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:3402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: "(pkg->hdr->package_header_format_revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3373
        line_start: 3372
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision <=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR04H)"
      pos:
        line_end: 3371
        line_start: 3370
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3369
        line_start: 3368
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->hdr->package_header_format_revision <=\n\t       pkg->pin->format.revision)"
      pos:
        line_end: 3375
        line_start: 3374
        source_file: /src/libpldm/src/dsp/firmware_update.c
    constantsTouched: []
    func_position:
      end: 3403
      start: 3358
    functionDepth: 1
    functionLinenumber: 3358
    functionLinenumberEnd: 3403
    functionName: pldm_package_firmware_device_id_record_iter_init
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_init_errno
    - assert
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_package_firmware_device_id_record_iter_init(struct
      pldm_package *pkg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_pldm_package_firmware_device_id_record_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - LIBPLDM_CC_UNUSED
    - rec
    argTypes:
    - struct pldm_package*
    - struct pldm_package_firmware_device_id_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3405
    functionDepth: 3
    functionLinenumber: 3405
    functionLinenumberEnd: 3420
    functionName: decode_pldm_package_firmware_device_id_record_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - decode_pldm_package_firmware_device_id_record_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_package_firmware_device_id_record_from_iter(\n\tstruct
      pldm_package *pkg LIBPLDM_CC_UNUSED,\n\tstruct pldm_package_firmware_device_id_record
      *rec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3426,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3433,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3435,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3437,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3439,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3473,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3479,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:3480,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:3483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: "(pkg->hdr->package_header_format_revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3437
        line_start: 3436
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision <=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR04H)"
      pos:
        line_end: 3435
        line_start: 3434
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3433
        line_start: 3432
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->hdr->package_header_format_revision <=\n\t       pkg->pin->format.revision)"
      pos:
        line_end: 3439
        line_start: 3438
        source_file: /src/libpldm/src/dsp/firmware_update.c
    constantsTouched: []
    func_position:
      end: 3484
      start: 3422
    functionDepth: 1
    functionLinenumber: 3422
    functionLinenumberEnd: 3484
    functionName: pldm_package_downstream_device_id_record_iter_init
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_init_errno
    - assert
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_package_downstream_device_id_record_iter_init(struct
      pldm_package *pkg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3494,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3506,1
    - Dst: pldm_msgbuf_init_dynamic_uint16
      Src: /src/libpldm/src/dsp/firmware_update.c:3514,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3519,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3522,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3523,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3525,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3527,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3530,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3533,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3535,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3537,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3540,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3543,1
    - Dst: pldm_msgbuf_extract_uint16_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3546,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3548,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3553,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3559,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3560,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3564,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3569,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3574,1
    - Dst: pldm_msgbuf_span_until
      Src: /src/libpldm/src/dsp/firmware_update.c:3585,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3589,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3595,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3599,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:3603,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - pkg
    - rec
    argTypes:
    - struct pldm_package*
    - struct pldm_package_downstream_device_id_record*
    assertStmts:
    - condition: "(pkg->hdr->package_header_format_revision >\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3506
        line_start: 3505
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: ((pkg->hdr->component_bitmap_bit_length & 7) == 0)
      pos:
        line_end: 3558
        line_start: 3558
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: (rec->reference_manifest_data.length == 0)
      pos:
        line_end: 3598
        line_start: 3598
        source_file: /src/libpldm/src/dsp/firmware_update.c
    constantsTouched: []
    func_position:
      end: 3604
      start: 3487
    functionDepth: 2
    functionLinenumber: 3487
    functionLinenumberEnd: 3604
    functionName: decode_pldm_package_downstream_device_id_record_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_span_until
    - pldm_msgbuf_init_dynamic_uint16
    - pldm_msgbuf_extract_uint32_to_size
    - pldm_msgbuf_discard
    - assert
    - pldm_msgbuf_extract_uint16_to_size
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - is_string_type_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_package_downstream_device_id_record_from_iter(\n\tstruct
      pldm_package *pkg,\n\tstruct pldm_package_downstream_device_id_record *rec)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3611,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3618,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3620,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3622,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3624,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/firmware_update.c:3635,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3649,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3655,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3657,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:3661,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:3664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: "(pkg->hdr->package_header_format_revision <=\n\t       pkg->pin->format.revision)"
      pos:
        line_end: 3624
        line_start: 3623
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->hdr->package_header_format_revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3622
        line_start: 3621
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision >=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3618
        line_start: 3617
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision <=\n\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR04H)"
      pos:
        line_end: 3620
        line_start: 3619
        source_file: /src/libpldm/src/dsp/firmware_update.c
    - condition: "(pkg->pin->format.revision !=\n\t\t       PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H)"
      pos:
        line_end: 3635
        line_start: 3634
        source_file: /src/libpldm/src/dsp/firmware_update.c
    constantsTouched: []
    func_position:
      end: 3665
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3665
    functionName: pldm_package_component_image_information_iter_init
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - assert
    - pldm_msgbuf_complete
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_package_component_image_information_iter_init(struct
      pldm_package *pkg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/firmware_update.c:3676,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3692,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3699,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3700,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3701,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3702,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3703,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3705,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3706,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/firmware_update.c:3708,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3710,1
    - Dst: is_string_type_valid
      Src: /src/libpldm/src/dsp/firmware_update.c:3712,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3713,1
    - Dst: pldm_msgbuf_extract_uint8_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3716,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3719,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3722,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/src/dsp/firmware_update.c:3729,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/firmware_update.c:3732,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3734,1
    - Dst: pldm_msgbuf_span_remaining
      Src: /src/libpldm/src/dsp/firmware_update.c:3745,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/firmware_update.c:3748,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/firmware_update.c:3759,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3765,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/firmware_update.c:3766,1
    - Dst: pldm_msgbuf_complete
      Src: /src/libpldm/src/dsp/firmware_update.c:3769,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 2
    argNames:
    - pkg
    - info
    argTypes:
    - struct pldm_package*
    - struct pldm_package_component_image_information*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3668
    functionDepth: 1
    functionLinenumber: 3668
    functionLinenumberEnd: 3777
    functionName: decode_pldm_package_component_image_information_from_iter
    functionSourceFile: /src/libpldm/src/dsp/firmware_update.c
    functionUses: 0
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_span_remaining
    - pldm_msgbuf_extract
    - pldm_msgbuf_extract_uint32_to_size
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete
    - pldm_msgbuf_extract_uint8_to_size
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - is_string_type_valid
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_package_component_image_information_from_iter(\n\tstruct
      pldm_package *pkg,\n\tstruct pldm_package_component_image_information *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: POINTER_CHECK
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POINTER_CHECK(pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: ATTR_TYPE_EXPECT
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_TYPE_EXPECT(type, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - current_size
    - ','
    - expected_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: BUFFER_SIZE_EXPECT
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_SIZE_EXPECT(current_size, expected_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: MEMBER_SIZE
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBER_SIZE(type, member)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - errmsg
    - msg
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: set_errmsg
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_errmsg(const char **errmsg, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t*
    assertStmts:
    - condition: (handle != UINT16_MAX)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libpldm/src/dsp/bios_table.c
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: get_bios_string_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int get_bios_string_handle(uint16_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMBER_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string_length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: pldm_bios_table_string_entry_encode_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - MEMBER_SIZE
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_string_entry_encode_length(uint16_t
      string_length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:72,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:73,1
    - Dst: pldm_bios_table_string_entry_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:74,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:75,1
    - Dst: MEMBER_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:77,1
    - Dst: get_bios_string_handle
      Src: /src/libpldm/src/dsp/bios_table.c:83,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:87,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:88,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - entry
    - entry_length
    - str
    - str_length
    argTypes:
    - void*
    - size_t
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: pldm_bios_table_string_entry_encode
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - get_bios_string_handle
    - htole16
    - POINTER_CHECK
    - MEMBER_SIZE
    - pldm_bios_table_string_entry_encode_length
    - memcpy
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_string_entry_encode(void *entry,
      size_t entry_length,\n\t\t\t\t\tconst char *str, uint16_t str_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: pldm_bios_table_string_entry_decode_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 46
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_string_entry_decode_handle(\n\tconst
      struct pldm_bios_string_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_string_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: pldm_bios_table_string_entry_decode_string_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 54
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_string_entry_decode_string_length(\n\tconst
      struct pldm_bios_string_table_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:112,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:113,1
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:118,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - entry
    - buffer
    - size
    argTypes:
    - struct pldm_bios_string_table_entry*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: pldm_bios_table_string_entry_decode_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 54
    functionsReached:
    - POINTER_CHECK
    - memcpy
    - pldm_bios_table_string_entry_decode_string_length
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_string_entry_decode_string(\n\tconst
      struct pldm_bios_string_table_entry *entry, char *buffer,\n\tsize_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table_entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: string_table_entry_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_string_entry_decode_string_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t string_table_entry_length(const void *table_entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint16_t*
    assertStmts:
    - condition: (handle != UINT16_MAX)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/libpldm/src/dsp/bios_table.c
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: get_bios_attr_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int get_bios_attr_handle(uint16_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_bios_attr_handle
      Src: /src/libpldm/src/dsp/bios_table.c:159,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:164,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - entry
    - length
    - attr_type
    - string_handle
    argTypes:
    - void*
    - size_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: attr_table_entry_encode_header
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - htole16
    - get_bios_attr_handle
    linkageType: ''
    returnType: int
    signature: "int attr_table_entry_encode_header(void *entry, size_t length,\n\t\t\t\t\t
      \ uint8_t attr_type,\n\t\t\t\t\t  uint16_t string_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: pldm_bios_table_attr_entry_decode_attribute_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 49
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_decode_attribute_handle(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: pldm_bios_table_attr_entry_decode_attribute_type
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_decode_attribute_type(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: pldm_bios_table_attr_entry_decode_string_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 57
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_decode_string_handle(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMBER_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pv_num
    - def_num
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: pldm_bios_table_attr_entry_enum_encode_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - MEMBER_SIZE
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_enum_encode_length(uint8_t
      pv_num,\n\t\t\t\t\t\t     uint8_t def_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:207,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:208,1
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:209,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:211,1
    - Dst: attr_table_entry_encode_header
      Src: /src/libpldm/src/dsp/bios_table.c:214,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:225,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - entry
    - entry_length
    - info
    argTypes:
    - void*
    - size_t
    - struct pldm_bios_table_attr_entry_enum_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: pldm_bios_table_attr_entry_enum_encode
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - htole16
    - POINTER_CHECK
    - memcpy
    - attr_table_entry_encode_header
    - BUFFER_SIZE_EXPECT
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_bios_table_attr_entry_enum_encode(\n\tvoid
      *entry, size_t entry_length,\n\tconst struct pldm_bios_table_attr_entry_enum_info
      *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: ATTR_TYPE_EXPECT
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTR_TYPE_EXPECT(type, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:245,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:246,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - entry
    - pv_num
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: pldm_bios_table_attr_entry_enum_decode_pv_num
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 69
    functionsReached:
    - POINTER_CHECK
    - ATTR_TYPE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_enum_decode_pv_num(\n\tconst
      struct pldm_bios_attr_table_entry *entry, uint8_t *pv_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:258,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:259,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - def_num
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: pldm_bios_table_attr_entry_enum_decode_def_num
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 53
    functionsReached:
    - POINTER_CHECK
    - ATTR_TYPE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_bios_table_attr_entry_enum_decode_def_num(\n\tconst
      struct pldm_bios_attr_table_entry *entry, uint8_t *def_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:271,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:272,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:273,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - entry
    - pv_hdls
    - pv_num
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint16_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 283
    functionName: pldm_bios_table_attr_entry_enum_decode_pv_hdls
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 69
    functionsReached:
    - POINTER_CHECK
    - ATTR_TYPE_EXPECT
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_enum_decode_pv_hdls(\n\tconst
      struct pldm_bios_attr_table_entry *entry, uint16_t *pv_hdls,\n\tuint8_t pv_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/src/dsp/bios_table.c:293,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - entry
    - def_indices
    - def_num
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 302
    functionName: pldm_bios_table_attr_entry_enum_decode_def_indices
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 53
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - memcpy
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_bios_table_attr_entry_enum_decode_def_indices(\n\tconst
      struct pldm_bios_attr_table_entry *entry, uint8_t *def_indices,\n\tuint8_t def_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_enum_decode_def_num
      Src: /src/libpldm/src/dsp/bios_table.c:313,1
    - Dst: pldm_bios_table_attr_entry_enum_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: attr_table_entry_length_enum
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_enum_decode_def_num
    - pldm_bios_table_attr_entry_enum_encode_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_table_entry_length_enum(const void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMBER_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:334,1
    - Dst: MEMBER_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - def_str_len
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: pldm_bios_table_attr_entry_string_encode_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - MEMBER_SIZE
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_encode_length(uint16_t
      def_str_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:349,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:355,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:360,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:365,1
    - Dst: strlen
      Src: /src/libpldm/src/dsp/bios_table.c:368,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - info
    - errmsg
    argTypes:
    - struct pldm_bios_table_attr_entry_string_info*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: pldm_bios_table_attr_entry_string_info_check
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 9
    functionsReached:
    - set_errmsg
    - strlen
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_info_check(\n\tconst
      struct pldm_bios_table_attr_entry_string_info *info,\n\tconst char **errmsg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:382,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:383,1
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:384,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:386,1
    - Dst: pldm_bios_table_attr_entry_string_info_check
      Src: /src/libpldm/src/dsp/bios_table.c:387,1
    - Dst: attr_table_entry_encode_header
      Src: /src/libpldm/src/dsp/bios_table.c:393,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:402,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:403,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:404,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - entry
    - entry_length
    - info
    argTypes:
    - void*
    - size_t
    - struct pldm_bios_table_attr_entry_string_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 410
    functionName: pldm_bios_table_attr_entry_string_encode
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - htole16
    - POINTER_CHECK
    - pldm_bios_table_attr_entry_string_info_check
    - memcpy
    - attr_table_entry_encode_header
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_encode(\n\tvoid
      *entry, size_t entry_length,\n\tconst struct pldm_bios_table_attr_entry_string_info
      *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:417,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:418,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:419,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - entry
    - def_string_length
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: pldm_bios_table_attr_entry_string_decode_def_string_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - POINTER_CHECK
    - ATTR_TYPE_EXPECT
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_decode_def_string_length(\n\tconst
      struct pldm_bios_attr_table_entry *entry,\n\tuint16_t *def_string_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: pldm_bios_table_attr_entry_string_decode_string_type
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_decode_string_type(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: pldm_bios_table_attr_entry_string_decode_max_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_decode_max_length(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: pldm_bios_table_attr_entry_string_decode_min_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_decode_min_length(\n\tconst
      struct pldm_bios_attr_table_entry *entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:466,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - entry
    - buffer
    - size
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 478
    functionName: pldm_bios_table_attr_entry_string_decode_def_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - memcpy
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_string_decode_def_string(\n\tconst
      struct pldm_bios_attr_table_entry *entry, char *buffer,\n\tsize_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_string_decode_def_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:487,1
    - Dst: pldm_bios_table_attr_entry_string_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: attr_table_entry_length_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_string_encode_length
    - pldm_bios_table_attr_entry_string_decode_def_string_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_table_entry_length_string(const void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: pldm_bios_table_attr_entry_integer_encode_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_integer_encode_length(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:518,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:522,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:528,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:534,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:538,1
    - Dst: set_errmsg
      Src: /src/libpldm/src/dsp/bios_table.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - info
    - errmsg
    argTypes:
    - struct pldm_bios_table_attr_entry_integer_info*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 549
    functionName: pldm_bios_table_attr_entry_integer_info_check
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 9
    functionsReached:
    - set_errmsg
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_integer_info_check(\n\tconst
      struct pldm_bios_table_attr_entry_integer_info *info,\n\tconst char **errmsg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:556,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:557,1
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:558,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:559,1
    - Dst: pldm_bios_table_attr_entry_integer_info_check
      Src: /src/libpldm/src/dsp/bios_table.c:560,1
    - Dst: attr_table_entry_encode_header
      Src: /src/libpldm/src/dsp/bios_table.c:566,1
    - Dst: htole64
      Src: /src/libpldm/src/dsp/bios_table.c:574,1
    - Dst: htole64
      Src: /src/libpldm/src/dsp/bios_table.c:575,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios_table.c:576,1
    - Dst: htole64
      Src: /src/libpldm/src/dsp/bios_table.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - entry
    - entry_length
    - info
    argTypes:
    - void*
    - size_t
    - struct pldm_bios_table_attr_entry_integer_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 579
    functionName: pldm_bios_table_attr_entry_integer_encode
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - htole64
    - pldm_bios_table_attr_entry_integer_encode_length
    - POINTER_CHECK
    - pldm_bios_table_attr_entry_integer_info_check
    - htole32
    - attr_table_entry_encode_header
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_integer_encode(\n\tvoid
      *entry, size_t entry_length,\n\tconst struct pldm_bios_table_attr_entry_integer_info
      *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le64toh
      Src: /src/libpldm/src/dsp/bios_table.c:588,1
    - Dst: le64toh
      Src: /src/libpldm/src/dsp/bios_table.c:589,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios_table.c:590,1
    - Dst: le64toh
      Src: /src/libpldm/src/dsp/bios_table.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - entry
    - lower
    - upper
    - scalar
    - def
    argTypes:
    - struct pldm_bios_attr_table_entry*
    - uint64_t*
    - uint64_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: pldm_bios_table_attr_entry_integer_decode
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - le32toh
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_entry_integer_decode(\n\tconst
      struct pldm_bios_attr_table_entry *entry, uint64_t *lower,\n\tuint64_t *upper,
      uint32_t *scalar, uint64_t *def)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_integer_encode_length
      Src: /src/libpldm/src/dsp/bios_table.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: attr_table_entry_length_integer
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_integer_encode_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_table_entry_length_integer(const void *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - attr_type
    - handlers
    - count
    argTypes:
    - uint8_t
    - struct table_entry_length*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: find_table_entry_length_by_type
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct table_entry_length
    signature: "struct table_entry_length *\nfind_table_entry_length_by_type(uint8_t
      attr_type,\n\t\t\t\tconst struct table_entry_length *handlers,\n\t\t\t\tsize_t
      count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_table_entry_length_by_type
      Src: /src/libpldm/src/dsp/bios_table.c:642,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:644,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:645,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:649,1
    - Dst: struct table_entry_length*::entry_length_handler
      Src: /src/libpldm/src/dsp/bios_table.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - table_entry
    argTypes:
    - void*
    assertStmts:
    - condition: (attr_table_entry->entry_length_handler != NULL)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/libpldm/src/dsp/bios_table.c
    - condition: (attr_table_entry != NULL)
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/libpldm/src/dsp/bios_table.c
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: attr_table_entry_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - struct table_entry_length*::entry_length_handler
    - ARRAY_SIZE
    - find_table_entry_length_by_type
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_table_entry_length(const void *table_entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: pldm_bios_table_attr_value_entry_decode_attribute_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_decode_attribute_handle(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: pldm_bios_table_attr_value_entry_decode_attribute_type
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_decode_attribute_type(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: pldm_bios_table_attr_value_entry_encode_enum_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_enum_length(uint8_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: pldm_bios_table_attr_value_entry_enum_decode_number
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_enum_decode_number(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/libpldm/src/dsp/bios_table.c:691,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - entry
    - handles
    - number
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 696
    functionName: pldm_bios_table_attr_value_entry_enum_decode_handles
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 53
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - memcpy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_enum_decode_handles(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry, uint8_t *handles,\n\tuint8_t number)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:705,1
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:706,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:710,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:711,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:713,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - entry
    - entry_length
    - attr_handle
    - attr_type
    - count
    - handles
    argTypes:
    - void*
    - size_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 721
    functionName: pldm_bios_table_attr_value_entry_encode_enum
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached:
    - ATTR_TYPE_EXPECT
    - htole16
    - POINTER_CHECK
    - memcpy
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_enum(\n\tvoid
      *entry, size_t entry_length, uint16_t attr_handle,\n\tuint8_t attr_type, uint8_t
      count, const uint8_t *handles)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_enum_decode_number
      Src: /src/libpldm/src/dsp/bios_table.c:726,1
    - Dst: pldm_bios_table_attr_value_entry_encode_enum_length
      Src: /src/libpldm/src/dsp/bios_table.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 733
    functionName: attr_value_table_entry_length_enum
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_enum_decode_number
    - pldm_bios_table_attr_value_entry_encode_enum_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_value_table_entry_length_enum(const void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string_length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 741
    functionName: pldm_bios_table_attr_value_entry_encode_string_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_string_length(uint16_t
      string_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:748,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: pldm_bios_table_attr_value_entry_string_decode_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 1
    functionsReached:
    - memcpy
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_string_decode_length(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_length
      Src: /src/libpldm/src/dsp/bios_table.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - entry
    - current_string
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 761
    functionName: pldm_bios_table_attr_value_entry_string_decode_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - pldm_bios_table_attr_value_entry_string_decode_length
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_string_decode_string(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry,\n\tstruct variable_field *current_string)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:770,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:774,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:775,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:778,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:784,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:785,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - entry
    - entry_length
    - attr_handle
    - attr_type
    - str_length
    - str
    argTypes:
    - void*
    - size_t
    - uint16_t
    - uint8_t
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 788
    functionName: pldm_bios_table_attr_value_entry_encode_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached:
    - ATTR_TYPE_EXPECT
    - htole16
    - POINTER_CHECK
    - memcpy
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_string(\n\tvoid
      *entry, size_t entry_length, uint16_t attr_handle,\n\tuint8_t attr_type, uint16_t
      str_length, const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_string_decode_length
      Src: /src/libpldm/src/dsp/bios_table.c:793,1
    - Dst: pldm_bios_table_attr_value_entry_encode_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: attr_value_table_entry_length_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_string_length
    - pldm_bios_table_attr_value_entry_string_decode_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_value_table_entry_length_string(const void *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: pldm_bios_table_attr_value_entry_encode_integer_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_integer_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_CHECK
      Src: /src/libpldm/src/dsp/bios_table.c:816,1
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/libpldm/src/dsp/bios_table.c:818,1
    - Dst: ATTR_TYPE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:819,1
    - Dst: BUFFER_SIZE_EXPECT
      Src: /src/libpldm/src/dsp/bios_table.c:820,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios_table.c:822,1
    - Dst: htole64
      Src: /src/libpldm/src/dsp/bios_table.c:824,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - entry
    - entry_length
    - attr_handle
    - attr_type
    - cv
    argTypes:
    - void*
    - size_t
    - uint16_t
    - uint8_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 827
    functionName: pldm_bios_table_attr_value_entry_encode_integer
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached:
    - htole64
    - ATTR_TYPE_EXPECT
    - pldm_bios_table_attr_value_entry_encode_integer_length
    - htole16
    - POINTER_CHECK
    - memcpy
    - BUFFER_SIZE_EXPECT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_encode_integer(void
      *entry,\n\t\t\t\t\t\t    size_t entry_length,\n\t\t\t\t\t\t    uint16_t attr_handle,\n\t\t\t\t\t\t
      \   uint8_t attr_type,\n\t\t\t\t\t\t    uint64_t cv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:834,1
    - Dst: le64toh
      Src: /src/libpldm/src/dsp/bios_table.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: pldm_bios_table_attr_value_entry_integer_decode_cv
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 45
    functionsReached:
    - memcpy
    - le64toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_integer_decode_cv(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_encode_integer_length
      Src: /src/libpldm/src/dsp/bios_table.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: attr_value_table_entry_length_integer
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_encode_integer_length
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_value_table_entry_length_integer(const void *entry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_table_entry_length_by_type
      Src: /src/libpldm/src/dsp/bios_table.c:868,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/dsp/bios_table.c:870,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:871,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:875,1
    - Dst: struct table_entry_length*::entry_length_handler
      Src: /src/libpldm/src/dsp/bios_table.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - table_entry
    argTypes:
    - void*
    assertStmts:
    - condition: (entry_length != NULL)
      pos:
        line_end: 870
        line_start: 870
        source_file: /src/libpldm/src/dsp/bios_table.c
    - condition: (entry_length->entry_length_handler != NULL)
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/libpldm/src/dsp/bios_table.c
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: attr_value_table_entry_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - struct table_entry_length*::entry_length_handler
    - ARRAY_SIZE
    - find_table_entry_length_by_type
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t attr_value_table_entry_length(const void *table_entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attr_value_table_entry_length
      Src: /src/libpldm/src/dsp/bios_table.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: pldm_bios_table_attr_value_entry_length
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 9
    functionsReached:
    - attr_value_table_entry_length
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_length(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios_table.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct pldm_bios_attr_val_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 895
    functionName: pldm_bios_table_attr_value_entry_decode_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 1
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_attr_value_entry_decode_handle(\n\tconst
      struct pldm_bios_attr_val_table_entry *entry)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_without_pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: pad_size_get
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pad_size_get(size_t size_without_pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table_end
    - pad_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: pad_append
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *pad_append(uint8_t *table_end, size_t pad_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios_table.c:913,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - table_end
    - checksum
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 917
    functionName: checksum_append
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htole32
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *checksum_append(uint8_t *table_end, uint32_t checksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pad_size_get
      Src: /src/libpldm/src/dsp/bios_table.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size_without_pad
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: pldm_bios_table_pad_checksum_size
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 17
    functionsReached:
    - pad_size_get
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_pad_checksum_size(size_t size_without_pad)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/src/dsp/bios_table.c:933,1
    - Dst: pad_size_get
      Src: /src/libpldm/src/dsp/bios_table.c:948,1
    - Dst: pad_append
      Src: /src/libpldm/src/dsp/bios_table.c:949,1
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/src/dsp/bios_table.c:951,1
    - Dst: checksum_append
      Src: /src/libpldm/src/dsp/bios_table.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - table
    - capacity
    - size
    argTypes:
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 956
    functionName: pldm_bios_table_append_pad_checksum
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 17
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - pldm_edac_crc32
    - pad_append
    - checksum_append
    - pad_size_get
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_bios_table_append_pad_checksum(void *table,
      size_t capacity,\n\t\t\t\t\tsize_t *size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpldm/src/dsp/bios_table.c:970,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/bios_table.c:971,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - table
    - length
    - type
    argTypes:
    - void*
    - size_t
    - enum pldm_bios_table_types
    assertStmts:
    - condition: (iter != NULL)
      pos:
        line_end: 970
        line_start: 970
        source_file: /src/libpldm/src/dsp/bios_table.c
    constantsTouched: []
    func_position:
      end: 992
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 992
    functionName: pldm_bios_table_iter_create
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 13
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_iter_create(const
      void *table, size_t length,\n\t\t\t    enum pldm_bios_table_types type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpldm/src/dsp/bios_table.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: pldm_bios_table_iter_free
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 5
    functionsReached:
    - free
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_iter_free(struct pldm_bios_table_iter
      *iter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct pldm_bios_table_iter*::entry_length_handler
      Src: /src/libpldm/src/dsp/bios_table.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1021
    functionName: pldm_bios_table_iter_is_end
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 12
    functionsReached:
    - struct pldm_bios_table_iter*::entry_length_handler
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_bios_table_iter_is_end(const struct
      pldm_bios_table_iter *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/src/dsp/bios_table.c:1026,1
    - Dst: struct pldm_bios_table_iter*::entry_length_handler
      Src: /src/libpldm/src/dsp/bios_table.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1036
    functionName: pldm_bios_table_iter_next
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 12
    functionsReached:
    - pldm_bios_table_iter_is_end
    - struct pldm_bios_table_iter*::entry_length_handler
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_iter_next(struct pldm_bios_table_iter
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: pldm_bios_table_iter_value
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE *pldm_bios_table_iter_value(struct pldm_bios_table_iter
      *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/src/dsp/bios_table.c:1051,1
    - Dst: pldm_bios_table_iter_value
      Src: /src/libpldm/src/dsp/bios_table.c:1052,1
    - Dst: equal
      Src: /src/libpldm/src/dsp/bios_table.c:1053,1
    - Dst: pldm_bios_table_iter_next
      Src: /src/libpldm/src/dsp/bios_table.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - iter
    - key
    - equal
    argTypes:
    - struct pldm_bios_table_iter*
    - void*
    - equal_handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: pldm_bios_table_entry_find_by_iter
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_iter_value
    - pldm_bios_table_iter_is_end
    - pldm_bios_table_iter_next
    - equal
    linkageType: ''
    returnType: void
    signature: "void *\npldm_bios_table_entry_find_by_iter(struct pldm_bios_table_iter
      *iter,\n\t\t\t\t   const void *key, equal_handler equal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/src/dsp/bios_table.c:1067,1
    - Dst: pldm_bios_table_entry_find_by_iter
      Src: /src/libpldm/src/dsp/bios_table.c:1069,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/src/dsp/bios_table.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - table
    - length
    - type
    - equal
    - key
    argTypes:
    - void*
    - size_t
    - enum pldm_bios_table_types
    - equal_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1072
    functionName: pldm_bios_table_entry_find_from_table
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_entry_find_by_iter
    - pldm_bios_table_iter_free
    - pldm_bios_table_iter_create
    linkageType: ''
    returnType: void
    signature: "void *\npldm_bios_table_entry_find_from_table(const void *table, size_t
      length,\n\t\t\t\t      enum pldm_bios_table_types type,\n\t\t\t\t      equal_handler
      equal, const void *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_handle
      Src: /src/libpldm/src/dsp/bios_table.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1083
    functionName: string_table_handle_equal
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_string_entry_decode_handle
    linkageType: ''
    returnType: bool
    signature: bool string_table_handle_equal(const void *entry, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_entry_find_from_table
      Src: /src/libpldm/src/dsp/bios_table.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - length
    - handle
    argTypes:
    - void*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1094
    functionName: pldm_bios_table_string_find_by_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 37
    functionsReached:
    - pldm_bios_table_entry_find_from_table
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_string_find_by_handle(const
      void *table, size_t length,\n\t\t\t\t      uint16_t handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_string_entry_decode_string_length
      Src: /src/libpldm/src/dsp/bios_table.c:1106,1
    - Dst: memcmp
      Src: /src/libpldm/src/dsp/bios_table.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - entry
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1113
    functionName: string_table_string_equal
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - memcmp
    - pldm_bios_table_string_entry_decode_string_length
    linkageType: ''
    returnType: bool
    signature: bool string_table_string_equal(const void *entry, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpldm/src/dsp/bios_table.c:1120,1
    - Dst: pldm_bios_table_entry_find_from_table
      Src: /src/libpldm/src/dsp/bios_table.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - length
    - str
    argTypes:
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1126
    functionName: pldm_bios_table_string_find_by_string
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 17
    functionsReached:
    - pldm_bios_table_entry_find_from_table
    - strlen
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_string_find_by_string(const
      void *table, size_t length,\n\t\t\t\t      const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_attribute_handle
      Src: /src/libpldm/src/dsp/bios_table.c:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1133
    functionName: attr_table_handle_equal
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_decode_attribute_handle
    linkageType: ''
    returnType: bool
    signature: bool attr_table_handle_equal(const void *entry, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_entry_find_from_table
      Src: /src/libpldm/src/dsp/bios_table.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - length
    - handle
    argTypes:
    - void*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1135
    functionDepth: 4
    functionLinenumber: 1135
    functionLinenumberEnd: 1144
    functionName: pldm_bios_table_attr_find_by_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 53
    functionsReached:
    - pldm_bios_table_entry_find_from_table
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_attr_find_by_handle(const
      void *table, size_t length,\n\t\t\t\t    uint16_t handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_entry_decode_string_handle
      Src: /src/libpldm/src/dsp/bios_table.c:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1150
    functionName: attr_table_string_handle_equal
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_entry_decode_string_handle
    linkageType: ''
    returnType: bool
    signature: bool attr_table_string_handle_equal(const void *entry, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_entry_find_from_table
      Src: /src/libpldm/src/dsp/bios_table.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - length
    - handle
    argTypes:
    - void*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1152
    functionDepth: 4
    functionLinenumber: 1152
    functionLinenumberEnd: 1160
    functionName: pldm_bios_table_attr_find_by_string_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - pldm_bios_table_entry_find_from_table
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_attr_find_by_string_handle(const
      void *table, size_t length,\n\t\t\t\t\t   uint16_t handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_attr_value_entry_decode_handle
      Src: /src/libpldm/src/dsp/bios_table.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entry
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: attr_value_table_handle_equal
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 0
    functionsReached:
    - pldm_bios_table_attr_value_entry_decode_handle
    linkageType: ''
    returnType: bool
    signature: bool attr_value_table_handle_equal(const void *entry, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_entry_find_from_table
      Src: /src/libpldm/src/dsp/bios_table.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - length
    - handle
    argTypes:
    - void*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1176
    functionName: pldm_bios_table_attr_value_find_by_handle
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 9
    functionsReached:
    - pldm_bios_table_entry_find_from_table
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE *\npldm_bios_table_attr_value_find_by_handle(const
      void *table, size_t length,\n\t\t\t\t\t  uint16_t handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_create
      Src: /src/libpldm/src/dsp/bios_table.c:1183,1
    - Dst: pldm_bios_table_iter_is_end
      Src: /src/libpldm/src/dsp/bios_table.c:1192,1
    - Dst: pldm_bios_table_iter_attr_value_entry_value
      Src: /src/libpldm/src/dsp/bios_table.c:1193,1
    - Dst: attr_value_table_entry_length
      Src: /src/libpldm/src/dsp/bios_table.c:1194,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios_table.c:1212,1
    - Dst: pldm_bios_table_pad_checksum_size
      Src: /src/libpldm/src/dsp/bios_table.c:1217,1
    - Dst: pldm_bios_table_append_pad_checksum
      Src: /src/libpldm/src/dsp/bios_table.c:1223,1
    - Dst: pldm_bios_table_iter_free
      Src: /src/libpldm/src/dsp/bios_table.c:1229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - src_table
    - src_length
    - dest_table
    - dest_length
    - entry
    - entry_length
    argTypes:
    - void*
    - size_t
    - void*
    - size_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1178
    functionDepth: 3
    functionLinenumber: 1178
    functionLinenumberEnd: 1231
    functionName: pldm_bios_table_attr_value_copy_and_update
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 33
    functionsReached:
    - pldm_bios_table_pad_checksum_size
    - pldm_bios_table_iter_create
    - pldm_bios_table_append_pad_checksum
    - pldm_bios_table_iter_free
    - pldm_bios_table_iter_is_end
    - memcpy
    - attr_value_table_entry_length
    - pldm_bios_table_iter_attr_value_entry_value
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE pldm_bios_table_attr_value_copy_and_update(\n\tconst
      void *src_table, size_t src_length, void *dest_table,\n\tsize_t *dest_length,
      const void *entry, size_t entry_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios_table.c:1246,1
    - Dst: pldm_edac_crc32
      Src: /src/libpldm/src/dsp/bios_table.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1250
    functionName: pldm_bios_table_checksum
    functionSourceFile: /src/libpldm/src/dsp/bios_table.c
    functionUses: 9
    functionsReached:
    - pldm_edac_crc32
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_bios_table_checksum(const uint8_t *table, size_t
      size)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - hdr
    - msg
    argTypes:
    - struct pldm_header_info*
    - struct pldm_msg_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 53
    functionName: pack_pldm_header_errno
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pack_pldm_header_errno(const struct pldm_header_info *hdr,\n\t\t\t
      \  struct pldm_msg_hdr *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - msg
    - hdr
    argTypes:
    - struct pldm_msg_hdr*
    - struct pldm_header_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: unpack_pldm_header_errno
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int unpack_pldm_header_errno(const struct pldm_msg_hdr *msg,\n\t\t\t
      \    struct pldm_header_info *hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:83,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/base.c:88,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/base.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hdr
    - msg
    argTypes:
    - struct pldm_header_info*
    - struct pldm_msg_hdr*
    assertStmts:
    - condition: (cc < UINT8_MAX)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/libpldm/src/dsp/base.c
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: pack_pldm_header
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 65
    functionsReached:
    - assert
    - pldm_xlate_errno
    - pack_pldm_header_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pack_pldm_header(const struct pldm_header_info
      *hdr,\n\t\t\t struct pldm_msg_hdr *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unpack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:105,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/base.c:110,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/base.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - hdr
    argTypes:
    - struct pldm_msg_hdr*
    - struct pldm_header_info*
    assertStmts:
    - condition: (cc < UINT8_MAX)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/libpldm/src/dsp/base.c
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: unpack_pldm_header
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 6
    functionsReached:
    - unpack_pldm_header_errno
    - pldm_xlate_errno
    - assert
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE unpack_pldm_header(const struct pldm_msg_hdr *msg,\n\t\t\t
      \  struct pldm_header_info *hdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - req
    - resp
    argTypes:
    - struct pldm_msg_hdr*
    - struct pldm_msg_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: pldm_msg_hdr_correlate_response
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_msg_hdr_correlate_response(const struct pldm_msg_hdr
      *req,\n\t\t\t\t     const struct pldm_msg_hdr *resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: BCD_H
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BCD_H(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: BCD_L
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BCD_L(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - digit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: AS_CHAR
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AS_CHAR(digit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: INSERT_CHAR
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_CHAR(c, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: INSERT_INT
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_INT(i, b, n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:164,1
    - Dst: BCD_H
      Src: /src/libpldm/src/dsp/base.c:164,1
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:165,1
    - Dst: BCD_L
      Src: /src/libpldm/src/dsp/base.c:165,1
    - Dst: INSERT_CHAR
      Src: /src/libpldm/src/dsp/base.c:166,1
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:169,1
    - Dst: BCD_H
      Src: /src/libpldm/src/dsp/base.c:169,1
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:170,1
    - Dst: BCD_L
      Src: /src/libpldm/src/dsp/base.c:170,1
    - Dst: INSERT_CHAR
      Src: /src/libpldm/src/dsp/base.c:173,1
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:175,1
    - Dst: BCD_H
      Src: /src/libpldm/src/dsp/base.c:175,1
    - Dst: INSERT_INT
      Src: /src/libpldm/src/dsp/base.c:176,1
    - Dst: BCD_L
      Src: /src/libpldm/src/dsp/base.c:176,1
    - Dst: INSERT_CHAR
      Src: /src/libpldm/src/dsp/base.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - version
    - buffer
    - buffer_size
    argTypes:
    - ver32_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 185
    functionName: pldm_base_ver2str
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 5
    functionsReached:
    - BCD_H
    - BCD_L
    - INSERT_CHAR
    - INSERT_INT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_base_ver2str(const ver32_t *version, char
      *buffer,\n\t\t\t  size_t buffer_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance_id
    - msg
    argTypes:
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: encode_get_types_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 9
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE encode_get_types_req(uint8_t instance_id, struct
      pldm_msg *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - instance_id
    - type
    - version
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - ver32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 227
    functionName: encode_get_commands_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 9
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_commands_req(uint8_t instance_id, uint8_t
      type, ver32_t version,\n\t\t\t    struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - msg
    - payload_length
    - type
    - version
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: decode_get_commands_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_commands_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t    uint8_t *type, ver32_t *version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:260,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/base.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - commands
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - bitfield8_t*
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 277
    functionName: encode_get_commands_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_commands_resp(uint8_t instance_id, uint8_t
      completion_code,\n\t\t\t     const bitfield8_t *commands, struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/base.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - commands
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - bitfield8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: decode_get_commands_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_commands_resp(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t     uint8_t *completion_code, bitfield8_t
      *commands)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:320,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/base.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - instance_id
    - transfer_handle
    - transfer_opflag
    - type
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 333
    functionName: encode_get_version_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 14
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_version_req(uint8_t instance_id, uint32_t
      transfer_handle,\n\t\t\t   uint8_t transfer_opflag, uint8_t type,\n\t\t\t   struct
      pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:351,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/base.c:360,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/base.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - version_data
    - version_size
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - ver32_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 366
    functionName: encode_get_version_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_get_version_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t    uint32_t next_transfer_handle,\n\t\t\t    uint8_t
      transfer_flag, const ver32_t *version_data,\n\t\t\t    size_t version_size,
      struct pldm_msg *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/base.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_opflag
    - type
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: decode_get_version_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_version_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t   uint32_t *transfer_handle, uint8_t *transfer_opflag,\n\t\t\t
      \  uint8_t *type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/base.c:408,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/base.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - version
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - ver32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 413
    functionName: decode_get_version_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 9
    functionsReached:
    - memcpy
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_version_resp(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t\t    uint8_t *completion_code,\n\t\t\t    uint32_t
      *next_transfer_handle,\n\t\t\t    uint8_t *transfer_flag, ver32_t *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance_id
    - msg
    argTypes:
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 428
    functionName: encode_get_tid_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 11
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE encode_get_tid_req(uint8_t instance_id, struct pldm_msg
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - instance_id
    - tid
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 456
    functionName: encode_set_tid_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE encode_set_tid_req(uint8_t instance_id, uint8_t
      tid, struct pldm_msg *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:462,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:469,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/base.c:475,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - payload_length
    - tid
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 478
    functionName: decode_set_tid_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_p
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_set_tid_req(const struct pldm_msg *msg,
      size_t payload_length,\n\t\t       uint8_t *tid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:485,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:492,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:498,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:499,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:500,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:501,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:502,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:503,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_multipart_receive_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 522
    functionName: decode_pldm_base_multipart_receive_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 18
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_init_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_base_multipart_receive_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_multipart_receive_req
      *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:528,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:541,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:546,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:552,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:553,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:554,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:555,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:556,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:557,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_multipart_receive_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 560
    functionName: encode_pldm_base_multipart_receive_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 7
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_base_multipart_receive_req(\n\tuint8_t
      instance_id, const struct pldm_base_multipart_receive_req *req,\n\tstruct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:568,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/base.c:575,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:582,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:589,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:590,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:592,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:594,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/src/dsp/base.c:596,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:598,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/base.c:603,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/base.c:609,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - msg
    - payload_length
    - resp
    - data_integrity_checksum
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_multipart_receive_resp*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 613
    functionName: decode_pldm_base_multipart_receive_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_extract_uint32_to_size
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_base_multipart_receive_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_multipart_receive_resp
      *resp,\n\tuint32_t *data_integrity_checksum)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:621,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:638,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:643,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:650,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:653,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:657,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:658,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/src/dsp/base.c:660,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:663,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/base.c:667,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:670,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:677,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - instance_id
    - resp
    - checksum
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_multipart_receive_resp*
    - uint32_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 681
    functionName: encode_base_multipart_receive_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_base_multipart_receive_resp(\n\tuint8_t
      instance_id,\n\tconst struct pldm_base_multipart_receive_resp *resp, uint32_t
      checksum,\n\tstruct pldm_msg *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:688,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/base.c:695,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:701,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:707,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:708,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_multipart_send_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 711
    functionName: decode_pldm_base_multipart_send_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 3
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_base_multipart_send_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_multipart_send_resp
      *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:719,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:731,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:736,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:742,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:743,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_multipart_send_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 746
    functionName: encode_pldm_base_multipart_send_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_base_multipart_send_resp(\n\tuint8_t
      instance_id, const struct pldm_base_multipart_send_resp *resp,\n\tstruct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:754,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:761,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:767,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:768,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:769,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:770,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:771,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:772,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:773,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:776,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:787,1
    - Dst: pldm_msgbuf_extract_uint32_to_size
      Src: /src/libpldm/src/dsp/base.c:791,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:793,1
    - Dst: pldm_msgbuf_span_required
      Src: /src/libpldm/src/dsp/base.c:798,1
    - Dst: pldm_msgbuf_extract_p
      Src: /src/libpldm/src/dsp/base.c:801,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:804,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - msg
    - payload_length
    - req
    - data_integrity_checksum
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_multipart_send_req*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 805
    functionName: decode_pldm_base_multipart_send_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 8
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msgbuf_extract_uint32_to_size
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_span_required
    - pldm_msgbuf_complete_consumed
    - pldm_msgbuf_extract_p
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_base_multipart_send_req(const struct
      pldm_msg *msg,\n\t\t\t\t\tsize_t payload_length,\n\t\t\t\t\tstruct pldm_base_multipart_send_req
      *req,\n\t\t\t\t\tuint32_t *data_integrity_checksum)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:813,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:829,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:834,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:840,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:841,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:842,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:843,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:844,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:845,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:846,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:856,1
    - Dst: pldm_msgbuf_insert_uint32
      Src: /src/libpldm/src/dsp/base.c:860,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:863,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/base.c:867,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:870,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:874,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:876,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - instance_id
    - req
    - checksum
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_multipart_send_req*
    - uint32_t
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 877
    functionName: encode_pldm_base_multipart_send_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_uint32
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_base_multipart_send_req(\n\tuint8_t
      instance_id, const struct pldm_base_multipart_send_req *req,\n\tuint32_t checksum,
      struct pldm_msg *msg, size_t *payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/base.c:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - instance_id
    - type
    - command
    - cc
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 901
    functionName: encode_cc_only_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 13
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_cc_only_resp(uint8_t instance_id, uint8_t
      type, uint8_t command,\n\t\t\tuint8_t cc, struct pldm_msg *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - msg_type
    - instance_id
    - pldm_type
    - command
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: encode_pldm_header_only_errno
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 4
    functionsReached:
    - pack_pldm_header_errno
    linkageType: ''
    returnType: int
    signature: "int encode_pldm_header_only_errno(uint8_t msg_type, uint8_t instance_id,\n\t\t\t\t
      \ uint8_t pldm_type, uint8_t command,\n\t\t\t\t  struct pldm_msg *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_pldm_header_only_errno
      Src: /src/libpldm/src/dsp/base.c:924,1
    - Dst: pldm_xlate_errno
      Src: /src/libpldm/src/dsp/base.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - msg_type
    - instance_id
    - pldm_type
    - command
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: encode_pldm_header_only
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 21
    functionsReached:
    - pldm_xlate_errno
    - encode_pldm_header_only_errno
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_header_only(uint8_t msg_type, uint8_t
      instance_id,\n\t\t\t    uint8_t pldm_type, uint8_t command,\n\t\t\t    struct
      pldm_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:938,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:951,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:956,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:963,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/base.c:964,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:969,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - instance_id
    - req
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_negotiate_transfer_params_req*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 932
    functionDepth: 3
    functionLinenumber: 932
    functionLinenumberEnd: 973
    functionName: encode_pldm_base_negotiate_transfer_params_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 5
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_base_negotiate_transfer_params_req(\n\tuint8_t
      instance_id,\n\tconst struct pldm_base_negotiate_transfer_params_req *req,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:981,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:998,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1003,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1010,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1011,1
    - Dst: pldm_msgbuf_insert_array
      Src: /src/libpldm/src/dsp/base.c:1012,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:1017,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:1020,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_negotiate_transfer_params_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 975
    functionDepth: 3
    functionLinenumber: 975
    functionLinenumberEnd: 1021
    functionName: encode_pldm_base_negotiate_transfer_params_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert_array
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING encode_pldm_base_negotiate_transfer_params_resp(\n\tuint8_t
      instance_id,\n\tconst struct pldm_base_negotiate_transfer_params_resp *resp,\n\tstruct
      pldm_msg *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1028,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1035,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1042,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/base.c:1044,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:1049,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:1052,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - msg
    - payload_length
    - req
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_negotiate_transfer_params_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1053
    functionName: decode_pldm_base_negotiate_transfer_params_req
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 2
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING decode_pldm_base_negotiate_transfer_params_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_negotiate_transfer_params_req
      *req)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1060,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/base.c:1067,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1074,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1081,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1082,1
    - Dst: pldm_msgbuf_extract_array
      Src: /src/libpldm/src/dsp/base.c:1083,1
    - Dst: pldm_msgbuf_discard
      Src: /src/libpldm/src/dsp/base.c:1088,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_negotiate_transfer_params_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1092
    functionName: decode_pldm_base_negotiate_transfer_params_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 4
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract_array
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_discard
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_base_negotiate_transfer_params_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_negotiate_transfer_params_resp
      *resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1100,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:1116,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1127,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/base.c:1133,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1134,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1135,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:1137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_get_tid_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts:
    - condition: (resp->completion_code == PLDM_SUCCESS)
      pos:
        line_end: 1132
        line_start: 1132
        source_file: /src/libpldm/src/dsp/base.c
    constantsTouched: []
    func_position:
      end: 1138
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1138
    functionName: encode_pldm_base_get_tid_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 14
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - assert
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_base_get_tid_resp(uint8_t instance_id,\n\t\t\t\t
      \ const struct pldm_base_get_tid_resp *resp,\n\t\t\t\t  struct pldm_msg *msg,
      size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1145,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/base.c:1152,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1158,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1164,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1165,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:1167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_get_tid_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1168
    functionName: decode_pldm_base_get_tid_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 14
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_base_get_tid_resp(const struct pldm_msg
      *msg,\n\t\t\t\t  size_t payload_length,\n\t\t\t\t  struct pldm_base_get_tid_resp
      *resp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RW_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1176,1
    - Dst: pack_pldm_header_errno
      Src: /src/libpldm/src/dsp/base.c:1192,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1203,1
    - Dst: assert
      Src: /src/libpldm/src/dsp/base.c:1209,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1210,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/dsp/base.c:1211,1
    - Dst: pldm_msgbuf_insert
      Src: /src/libpldm/src/dsp/base.c:1212,1
    - Dst: pldm_msgbuf_complete_used
      Src: /src/libpldm/src/dsp/base.c:1215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - instance_id
    - resp
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_base_get_pldm_types_resp*
    - struct pldm_msg*
    - size_t*
    assertStmts:
    - condition: (resp->completion_code == PLDM_SUCCESS)
      pos:
        line_end: 1208
        line_start: 1208
        source_file: /src/libpldm/src/dsp/base.c
    constantsTouched: []
    func_position:
      end: 1216
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1216
    functionName: encode_pldm_base_get_pldm_types_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 13
    functionsReached:
    - PLDM_MSGBUF_RW_DEFINE_P
    - ARRAY_SIZE
    - assert
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_insert
    - pack_pldm_header_errno
    - pldm_msgbuf_complete_used
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_pldm_base_get_pldm_types_resp(\n\tuint8_t
      instance_id, const struct pldm_base_get_pldm_types_resp *resp,\n\tstruct pldm_msg
      *msg, size_t *payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PLDM_MSGBUF_RO_DEFINE_P
      Src: /src/libpldm/src/dsp/base.c:1223,1
    - Dst: pldm_msg_has_error
      Src: /src/libpldm/src/dsp/base.c:1230,1
    - Dst: pldm_msgbuf_init_errno
      Src: /src/libpldm/src/dsp/base.c:1236,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1242,1
    - Dst: ARRAY_SIZE
      Src: /src/libpldm/src/dsp/base.c:1243,1
    - Dst: pldm_msgbuf_extract
      Src: /src/libpldm/src/dsp/base.c:1244,1
    - Dst: pldm_msgbuf_complete_consumed
      Src: /src/libpldm/src/dsp/base.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - msg
    - payload_length
    - resp
    argTypes:
    - struct pldm_msg*
    - size_t
    - struct pldm_base_get_pldm_types_resp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1248
    functionName: decode_pldm_base_get_pldm_types_resp
    functionSourceFile: /src/libpldm/src/dsp/base.c
    functionUses: 12
    functionsReached:
    - PLDM_MSGBUF_RO_DEFINE_P
    - ARRAY_SIZE
    - pldm_msgbuf_extract
    - pldm_msg_has_error
    - pldm_msgbuf_init_errno
    - pldm_msgbuf_complete_consumed
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_pldm_base_get_pldm_types_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tstruct pldm_base_get_pldm_types_resp
      *resp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - instance_id
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 31
    functionName: encode_get_fru_record_table_metadata_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 12
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_table_metadata_req(uint8_t
      instance_id,\n\t\t\t\t\t     struct pldm_msg *msg,\n\t\t\t\t\t     size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:63,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:64,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/fru.c:66,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/fru.c:67,1
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 10
    argNames:
    - msg
    - payload_length
    - completion_code
    - fru_data_major_version
    - fru_data_minor_version
    - fru_table_maximum_size
    - fru_table_length
    - total_record_set_identifiers
    - total_table_records
    - checksum
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t*
    - uint32_t*
    - uint16_t*
    - uint16_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: decode_get_fru_record_table_metadata_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 12
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_table_metadata_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint8_t
      *fru_data_major_version,\n\tuint8_t *fru_data_minor_version, uint32_t *fru_table_maximum_size,\n\tuint32_t
      *fru_table_length, uint16_t *total_record_set_identifiers,\n\tuint16_t *total_table_records,
      uint32_t *checksum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:91,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:103,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:104,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:106,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:107,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 10
    argNames:
    - instance_id
    - completion_code
    - fru_data_major_version
    - fru_data_minor_version
    - fru_table_maximum_size
    - fru_table_length
    - total_record_set_identifiers
    - total_table_records
    - checksum
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint16_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 112
    functionName: encode_get_fru_record_table_metadata_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 10
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_table_metadata_resp(\n\tuint8_t
      instance_id, uint8_t completion_code,\n\tuint8_t fru_data_major_version, uint8_t
      fru_data_minor_version,\n\tuint32_t fru_table_maximum_size, uint32_t fru_table_length,\n\tuint16_t
      total_record_set_identifiers, uint16_t total_table_records,\n\tuint32_t checksum,
      struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - msg
    - payload_length
    - data_transfer_handle
    - transfer_operation_flag
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: decode_get_fru_record_table_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_table_req(const struct pldm_msg
      *msg,\n\t\t\t\t    size_t payload_length,\n\t\t\t\t    uint32_t *data_transfer_handle,\n\t\t\t\t
      \   uint8_t *transfer_operation_flag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:155,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - instance_id
    - completion_code
    - next_data_transfer_handle
    - transfer_flag
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 172
    functionName: encode_get_fru_record_table_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_table_resp(uint8_t instance_id,\n\t\t\t\t
      \    uint8_t completion_code,\n\t\t\t\t     uint32_t next_data_transfer_handle,\n\t\t\t\t
      \    uint8_t transfer_flag,\n\t\t\t\t     struct pldm_msg *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:205,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/fru.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 9
    argNames:
    - fru_table
    - total_size
    - curr_size
    - record_set_id
    - record_type
    - num_frus
    - encoding
    - tlvs
    - tlvs_size
    argTypes:
    - uint8_t*
    - size_t
    - size_t*
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 217
    functionName: encode_fru_record
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 4
    functionsReached:
    - htole16
    - memcpy
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_fru_record(uint8_t *fru_table,
      size_t total_size, size_t *curr_size,\n\t\t      uint16_t record_set_id, uint8_t
      record_type,\n\t\t      uint8_t num_frus, uint8_t encoding, uint8_t *tlvs,\n\t\t
      \     size_t tlvs_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - table
    - table_size
    argTypes:
    - struct pldm_fru_record_data_format*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: is_table_end
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool is_table_end(const struct pldm_fru_record_data_format *p,\n\t\t\t
      const void *table, size_t table_size)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_table_end
      Src: /src/libpldm/src/dsp/fru.c:263,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:264,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/fru.c:303,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/fru.c:336,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 7
    argNames:
    - table
    - table_size
    - record_table
    - record_size
    - rsi
    - rt
    - ft
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 354
    functionName: get_fru_record_by_option
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 15
    functionsReached:
    - htole16
    - memcpy
    - is_table_end
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE get_fru_record_by_option(const uint8_t *table,
      size_t table_size,\n\t\t\t     uint8_t *record_table, size_t *record_size,\n\t\t\t
      \    uint16_t rsi, uint8_t rt, uint8_t ft)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:377,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:385,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:386,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/fru.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 9
    argNames:
    - instance_id
    - data_transfer_handle
    - fru_table_handle
    - record_set_identifier
    - record_type
    - field_type
    - transfer_op_flag
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 393
    functionName: encode_get_fru_record_by_option_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 7
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_by_option_req(\n\tuint8_t
      instance_id, uint32_t data_transfer_handle,\n\tuint16_t fru_table_handle, uint16_t
      record_set_identifier,\n\tuint8_t record_type, uint8_t field_type, uint8_t transfer_op_flag,\n\tstruct
      pldm_msg *msg, size_t payload_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:417,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/fru.c:418,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/fru.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 8
    argNames:
    - msg
    - payload_length
    - data_transfer_handle
    - fru_table_handle
    - record_set_identifier
    - record_type
    - field_type
    - transfer_op_flag
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint16_t*
    - uint16_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 424
    functionName: decode_get_fru_record_by_option_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_by_option_req(\n\tconst struct
      pldm_msg *msg, size_t payload_length,\n\tuint32_t *data_transfer_handle, uint16_t
      *fru_table_handle,\n\tuint16_t *record_set_identifier, uint8_t *record_type,\n\tuint8_t
      *field_type, uint8_t *transfer_op_flag)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:453,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:462,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/fru.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 8
    argNames:
    - instance_id
    - completion_code
    - next_data_transfer_handle
    - transfer_flag
    - fru_structure_data
    - data_size
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - void*
    - size_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 470
    functionName: encode_get_fru_record_by_option_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 12
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_by_option_resp(uint8_t instance_id,\n\t\t\t\t\t
      uint8_t completion_code,\n\t\t\t\t\t uint32_t next_data_transfer_handle,\n\t\t\t\t\t
      uint8_t transfer_flag,\n\t\t\t\t\t const void *fru_structure_data,\n\t\t\t\t\t
      size_t data_size, struct pldm_msg *msg,\n\t\t\t\t\t size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - fru_structure_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 503
    functionName: decode_get_fru_record_by_option_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 6
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_by_option_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint32_t
      *next_transfer_handle,\n\tuint8_t *transfer_flag, struct variable_field *fru_structure_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:525,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - instance_id
    - data_transfer_handle
    - transfer_operation_flag
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 536
    functionName: encode_get_fru_record_table_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 12
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_fru_record_table_req(uint8_t instance_id,\n\t\t\t\t
      \   uint32_t data_transfer_handle,\n\t\t\t\t    uint8_t transfer_operation_flag,\n\t\t\t\t
      \   struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:562,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/fru.c:572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 8
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_data_transfer_handle
    - transfer_flag
    - fru_record_table_data
    - fru_record_table_length
    - max_fru_record_table_length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - uint8_t*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 576
    functionName: decode_get_fru_record_table_resp_safe
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 0
    functionsReached:
    - memcpy
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_table_resp_safe(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint32_t
      *next_data_transfer_handle,\n\tuint8_t *transfer_flag, uint8_t *fru_record_table_data,\n\tsize_t
      *fru_record_table_length, size_t max_fru_record_table_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_get_fru_record_table_resp_safe
      Src: /src/libpldm/src/dsp/fru.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_data_transfer_handle
    - transfer_flag
    - fru_record_table_data
    - fru_record_table_length
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 591
    functionName: decode_get_fru_record_table_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 12
    functionsReached:
    - decode_get_fru_record_table_resp_safe
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_fru_record_table_resp(const struct pldm_msg
      *msg,\n\t\t\t\t     size_t payload_length,\n\t\t\t\t     uint8_t *completion_code,\n\t\t\t\t
      \    uint32_t *next_data_transfer_handle,\n\t\t\t\t     uint8_t *transfer_flag,\n\t\t\t\t
      \    uint8_t *fru_record_table_data,\n\t\t\t\t     size_t *fru_record_table_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/fru.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - msg
    - payload_length
    - data_transfer_handle
    - transfer_flag
    - fru_table_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 620
    functionName: decode_set_fru_record_table_req
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_fru_record_table_req(const struct pldm_msg
      *msg,\n\t\t\t\t    size_t payload_length,\n\t\t\t\t    uint32_t *data_transfer_handle,\n\t\t\t\t
      \   uint8_t *transfer_flag,\n\t\t\t\t    struct variable_field *fru_table_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/fru.c:642,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/fru.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - instance_id
    - completion_code
    - next_data_transfer_handle
    - payload_length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 654
    functionName: encode_set_fru_record_table_resp
    functionSourceFile: /src/libpldm/src/dsp/fru.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_fru_record_table_resp(uint8_t instance_id,\n\t\t\t\t
      \    uint8_t completion_code,\n\t\t\t\t     uint32_t next_data_transfer_handle,\n\t\t\t\t
      \    size_t payload_length,\n\t\t\t\t     struct pldm_msg *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - instance_id
    - msg
    argTypes:
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: encode_get_date_time_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 5
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE encode_get_date_time_req(uint8_t instance_id, struct
      pldm_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:42,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 9
    argNames:
    - instance_id
    - completion_code
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: encode_get_date_time_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 9
    functionsReached:
    - htole16
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_date_time_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t      uint8_t seconds, uint8_t minutes, uint8_t
      hours,\n\t\t\t      uint8_t day, uint8_t month, uint16_t year,\n\t\t\t      struct
      pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 9
    argNames:
    - msg
    - payload_length
    - completion_code
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 94
    functionName: decode_get_date_time_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 5
    functionsReached:
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_date_time_resp(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint8_t *completion_code, uint8_t
      *seconds,\n\t\t\t      uint8_t *minutes, uint8_t *hours, uint8_t *day,\n\t\t\t
      \     uint8_t *month, uint16_t *year)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_time_legal
      Src: /src/libpldm/src/dsp/bios.c:109,1
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:119,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/dsp/bios.c:126,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/dsp/bios.c:127,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/dsp/bios.c:128,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/dsp/bios.c:129,1
    - Dst: pldm_bcd_dec2bcd8
      Src: /src/libpldm/src/dsp/bios.c:130,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios.c:131,1
    - Dst: pldm_bcd_dec2bcd16
      Src: /src/libpldm/src/dsp/bios.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 9
    argNames:
    - instance_id
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 134
    functionName: encode_set_date_time_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached:
    - pldm_bcd_dec2bcd16
    - pldm_bcd_dec2bcd8
    - htole16
    - pack_pldm_header
    - is_time_legal
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_date_time_req(uint8_t instance_id, uint8_t
      seconds,\n\t\t\t     uint8_t minutes, uint8_t hours, uint8_t day,\n\t\t\t     uint8_t
      month, uint16_t year, struct pldm_msg *msg,\n\t\t\t     size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/dsp/bios.c:152,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/dsp/bios.c:153,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/dsp/bios.c:154,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/dsp/bios.c:155,1
    - Dst: pldm_bcd_bcd2dec8
      Src: /src/libpldm/src/dsp/bios.c:156,1
    - Dst: pldm_bcd_bcd2dec16
      Src: /src/libpldm/src/dsp/bios.c:157,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios.c:157,1
    - Dst: is_time_legal
      Src: /src/libpldm/src/dsp/bios.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 8
    argNames:
    - msg
    - payload_length
    - seconds
    - minutes
    - hours
    - day
    - month
    - year
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 164
    functionName: decode_set_date_time_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - pldm_bcd_bcd2dec8
    - pldm_bcd_bcd2dec16
    - le16toh
    - is_time_legal
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_date_time_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t     uint8_t *seconds, uint8_t *minutes,
      uint8_t *hours,\n\t\t\t     uint8_t *day, uint8_t *month, uint16_t *year)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: encode_set_date_time_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 2
    functionsReached:
    - pack_pldm_header
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_date_time_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t      struct pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - payload_length
    - completion_code
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 213
    functionName: decode_set_date_time_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_date_time_resp(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint8_t *completion_code)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:231,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:240,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - table_data
    - payload_length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: encode_get_bios_table_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_get_bios_table_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t       uint32_t next_transfer_handle,\n\t\t\t
      \      uint8_t transfer_flag, uint8_t *table_data,\n\t\t\t       size_t payload_length,
      struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:269,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - transfer_handle
    - transfer_op_flag
    - table_type
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 281
    functionName: encode_get_bios_table_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_bios_table_req(uint8_t instance_id,
      uint32_t transfer_handle,\n\t\t\t      uint8_t transfer_op_flag, uint8_t table_type,\n\t\t\t
      \     struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_op_flag
    - table_type
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: decode_get_bios_table_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_bios_table_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint32_t *transfer_handle,\n\t\t\t
      \     uint8_t *transfer_op_flag, uint8_t *table_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - bios_table_offset
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 339
    functionName: decode_get_bios_table_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 5
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_bios_table_resp(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *completion_code,\n\t\t\t
      \      uint32_t *next_transfer_handle,\n\t\t\t       uint8_t *transfer_flag,\n\t\t\t
      \      size_t *bios_table_offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:356,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:365,1
    - Dst: htole16
      Src: /src/libpldm/src/dsp/bios.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - instance_id
    - transfer_handle
    - transfer_op_flag
    - attribute_handle
    - msg
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint16_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: encode_get_bios_attribute_current_value_by_handle_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached:
    - htole16
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_get_bios_attribute_current_value_by_handle_req(\n\tuint8_t
      instance_id, uint32_t transfer_handle, uint8_t transfer_op_flag,\n\tuint16_t
      attribute_handle, struct pldm_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - attribute_data
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    - uint8_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 404
    functionName: decode_get_bios_attribute_current_value_by_handle_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 5
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_bios_attribute_current_value_by_handle_resp(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint8_t *completion_code, uint32_t
      *next_transfer_handle,\n\tuint8_t *transfer_flag, struct variable_field *attribute_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:424,1
    - Dst: le16toh
      Src: /src/libpldm/src/dsp/bios.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_op_flag
    - attribute_handle
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 429
    functionName: decode_get_bios_attribute_current_value_by_handle_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - le32toh
    - le16toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_get_bios_attribute_current_value_by_handle_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint32_t *transfer_handle, uint8_t
      *transfer_op_flag,\n\tuint16_t *attribute_handle)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:450,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:460,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - transfer_flag
    - attribute_data
    - attribute_length
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 468
    functionName: encode_get_bios_current_value_by_handle_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_DEPRECATED_UNSAFE
    signature: "LIBPLDM_ABI_DEPRECATED_UNSAFE encode_get_bios_current_value_by_handle_resp(uint8_t
      instance_id,\n\t\t\t\t\t\t uint8_t completion_code,\n\t\t\t\t\t\t uint32_t next_transfer_handle,\n\t\t\t\t\t\t
      uint8_t transfer_flag,\n\t\t\t\t\t\t const uint8_t *attribute_data,\n\t\t\t\t\t\t
      size_t attribute_length,\n\t\t\t\t\t\t struct pldm_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:495,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:502,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - instance_id
    - transfer_handle
    - transfer_flag
    - attribute_data
    - attribute_length
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 507
    functionName: encode_set_bios_attribute_current_value_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_bios_attribute_current_value_req(\n\tuint8_t
      instance_id, uint32_t transfer_handle, uint8_t transfer_flag,\n\tconst uint8_t
      *attribute_data, size_t attribute_length,\n\tstruct pldm_msg *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 536
    functionName: decode_set_bios_attribute_current_value_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 6
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_bios_attribute_current_value_resp(const
      struct pldm_msg *msg,\n\t\t\t\t\t\t size_t payload_length,\n\t\t\t\t\t\t uint8_t
      *completion_code,\n\t\t\t\t\t\t uint32_t *next_transfer_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_flag
    - attribute
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 560
    functionName: decode_set_bios_attribute_current_value_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_bios_attribute_current_value_req(\n\tconst
      struct pldm_msg *msg, size_t payload_length,\n\tuint32_t *transfer_handle, uint8_t
      *transfer_flag,\n\tstruct variable_field *attribute)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:577,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: encode_set_bios_attribute_current_value_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_bios_attribute_current_value_resp(uint8_t
      instance_id,\n\t\t\t\t\t\t uint8_t completion_code,\n\t\t\t\t\t\t uint32_t next_transfer_handle,\n\t\t\t\t\t\t
      struct pldm_msg *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:619,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:626,1
    - Dst: memcpy
      Src: /src/libpldm/src/dsp/bios.c:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 8
    argNames:
    - instance_id
    - transfer_handle
    - transfer_flag
    - table_type
    - table_data
    - table_length
    - msg
    - payload_length
    argTypes:
    - uint8_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - struct pldm_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 632
    functionName: encode_set_bios_table_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 2
    functionsReached:
    - memcpy
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_bios_table_req(uint8_t instance_id,
      uint32_t transfer_handle,\n\t\t\t      uint8_t transfer_flag, uint8_t table_type,\n\t\t\t
      \     const uint8_t *table_data, size_t table_length,\n\t\t\t      struct pldm_msg
      *msg, size_t payload_length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:656,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - payload_length
    - completion_code
    - next_transfer_handle
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 659
    functionName: decode_set_bios_table_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 2
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_bios_table_resp(const struct pldm_msg
      *msg,\n\t\t\t       size_t payload_length, uint8_t *completion_code,\n\t\t\t
      \      uint32_t *next_transfer_handle)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pack_pldm_header
      Src: /src/libpldm/src/dsp/bios.c:676,1
    - Dst: htole32
      Src: /src/libpldm/src/dsp/bios.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - instance_id
    - completion_code
    - next_transfer_handle
    - msg
    argTypes:
    - uint8_t
    - uint8_t
    - uint32_t
    - struct pldm_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 687
    functionName: encode_set_bios_table_resp
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - pack_pldm_header
    - htole32
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE encode_set_bios_table_resp(uint8_t instance_id,
      uint8_t completion_code,\n\t\t\t       uint32_t next_transfer_handle,\n\t\t\t
      \      struct pldm_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: le32toh
      Src: /src/libpldm/src/dsp/bios.c:705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - msg
    - payload_length
    - transfer_handle
    - transfer_flag
    - table_type
    - table
    argTypes:
    - struct pldm_msg*
    - size_t
    - uint32_t*
    - uint8_t*
    - uint8_t*
    - struct variable_field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 712
    functionName: decode_set_bios_table_req
    functionSourceFile: /src/libpldm/src/dsp/bios.c
    functionUses: 10
    functionsReached:
    - le32toh
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE decode_set_bios_table_req(const struct pldm_msg
      *msg, size_t payload_length,\n\t\t\t      uint32_t *transfer_handle, uint8_t
      *transfer_flag,\n\t\t\t      uint8_t *table_type, struct variable_field *table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: BIT
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cur
    argTypes:
    - pldm_instance_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: iid_next
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iid_next(pldm_instance_id_t cur)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libpldm/src/requester/instance-id.c:52,1
    - Dst: calloc
      Src: /src/libpldm/src/requester/instance-id.c:62,1
    - Dst: open
      Src: /src/libpldm/src/requester/instance-id.c:74,1
    - Dst: free
      Src: /src/libpldm/src/requester/instance-id.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - dbpath
    argTypes:
    - struct pldm_instance_db**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 82
    functionName: pldm_instance_db_init
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 16
    functionsReached:
    - free
    - stat
    - calloc
    - open
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_instance_db_init(struct pldm_instance_db **ctx,
      const char *dbpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_instance_db_init
      Src: /src/libpldm/src/requester/instance-id.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_instance_db**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: pldm_instance_db_init_default
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 2
    functionsReached:
    - pldm_instance_db_init
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_instance_db_init_default(struct pldm_instance_db
      **ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libpldm/src/requester/instance-id.c:97,1
    - Dst: free
      Src: /src/libpldm/src/requester/instance-id.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct pldm_instance_db*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: pldm_instance_db_destroy
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 11
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm_instance_db_destroy(struct pldm_instance_db
      *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: iid_next
      Src: /src/libpldm/src/requester/instance-id.c:135,1
    - Dst: BIT
      Src: /src/libpldm/src/requester/instance-id.c:141,1
    - Dst: fcntl
      Src: /src/libpldm/src/requester/instance-id.c:151,1
    - Dst: fcntl
      Src: /src/libpldm/src/requester/instance-id.c:173,1
    - Dst: BIT
      Src: /src/libpldm/src/requester/instance-id.c:187,1
    - Dst: fcntl
      Src: /src/libpldm/src/requester/instance-id.c:199,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - ctx
    - tid
    - iid
    argTypes:
    - struct pldm_instance_db*
    - pldm_tid_t
    - pldm_instance_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 214
    functionName: pldm_instance_id_alloc
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 10
    functionsReached:
    - fcntl
    - iid_next
    - BIT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_instance_id_alloc(struct pldm_instance_db
      *ctx, pldm_tid_t tid,\n\t\t\t   pldm_instance_id_t *iid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIT
      Src: /src/libpldm/src/requester/instance-id.c:229,1
    - Dst: fcntl
      Src: /src/libpldm/src/requester/instance-id.c:235,1
    - Dst: BIT
      Src: /src/libpldm/src/requester/instance-id.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - tid
    - iid
    argTypes:
    - struct pldm_instance_db*
    - pldm_tid_t
    - pldm_instance_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 247
    functionName: pldm_instance_id_free
    functionSourceFile: /src/libpldm/src/requester/instance-id.c
    functionUses: 11
    functionsReached:
    - fcntl
    - BIT
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE pldm_instance_id_free(struct pldm_instance_db *ctx,
      pldm_tid_t tid,\n\t\t\t  pldm_instance_id_t iid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:18,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:23,1
    - Dst: static_cast<char>
      Src: /src/libpldm/bindings/cpp/utils.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pldm_string_type
    - var
    argTypes:
    - uint8_t
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::utils::toString
    functionSourceFile: /src/libpldm/bindings/cpp/utils.cpp
    functionUses: 40
    functionsReached:
    - std::unexpected
    - static_cast<char>
    linkageType: ''
    returnType: std::expected<std::string, std::string>
    signature: "std::expected<std::string, std::string> toString(const uint8_t pldm_string_type,\n\t\t
      const struct variable_field &var)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:18,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:23,1
    - Dst: static_cast<char>
      Src: /src/libpldm/bindings/cpp/utils.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pldm_string_type
    - var
    argTypes:
    - uint8_t
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::utils::toString
    functionSourceFile: /src/libpldm/bindings/cpp/utils.cpp
    functionUses: 40
    functionsReached:
    - std::unexpected
    - static_cast<char>
    linkageType: ''
    returnType: std::expected<std::string, std::string>
    signature: "std::expected<std::string, std::string> toString(const uint8_t pldm_string_type,\n\t\t
      const struct variable_field &var)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:18,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:23,1
    - Dst: static_cast<char>
      Src: /src/libpldm/bindings/cpp/utils.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pldm_string_type
    - var
    argTypes:
    - uint8_t
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::utils::toString
    functionSourceFile: /src/libpldm/bindings/cpp/utils.cpp
    functionUses: 40
    functionsReached:
    - std::unexpected
    - static_cast<char>
    linkageType: ''
    returnType: std::expected<std::string, std::string>
    signature: "std::expected<std::string, std::string> toString(const uint8_t pldm_string_type,\n\t\t
      const struct variable_field &var)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:18,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/utils.cpp:23,1
    - Dst: static_cast<char>
      Src: /src/libpldm/bindings/cpp/utils.cpp:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pldm_string_type
    - var
    argTypes:
    - uint8_t
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: pldm::utils::toString
    functionSourceFile: /src/libpldm/bindings/cpp/utils.cpp
    functionUses: 40
    functionsReached:
    - std::unexpected
    - static_cast<char>
    linkageType: ''
    returnType: std::expected<std::string, std::string>
    signature: "std::expected<std::string, std::string> toString(const uint8_t pldm_string_type,\n\t\t
      const struct variable_field &var)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ref
    argTypes:
    - struct DescriptorData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: pldm::fw_update::DescriptorData::DescriptorData(const struct DescriptorData
      &ref)
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::DescriptorData::DescriptorData(const struct DescriptorData
      &ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::fw_update::DescriptorData::DescriptorData(const std::vector<uint8_t>
      &data)
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::DescriptorData::DescriptorData(const std::vector<uint8_t>
      &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - title
    - data
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: "pldm::fw_update::DescriptorData::DescriptorData(\n\tconst std::string
      &title, const std::vector<uint8_t> &data)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::DescriptorData::DescriptorData(\n\tconst std::string
      &title, const std::vector<uint8_t> &data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pldm::fw_update::DescriptorData::~DescriptorData()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm::fw_update::DescriptorData::~DescriptorData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:38,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - DescriptorData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: "pldm::fw_update::DescriptorData::operator==(\n\tconst DescriptorData
      &other) const"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - CompareNEQ
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm::fw_update::DescriptorData::operator==(\n\tconst
      DescriptorData &other) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<pldm::fw_update::DescriptorData>
      Src: /src/libpldm/bindings/cpp/types.cpp:58,1
    - Dst: pldm::fw_update::DescriptorData::DescriptorData
      Src: /src/libpldm/bindings/cpp/types.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - recordDescriptors
    argTypes:
    - "std::map<uint16_t,\n\t\t       std::unique_ptr<pldm::fw_update::DescriptorData>
      >"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: "pldm::fw_update::DescriptorData::copyDescriptorMap(\n\tconst std::map<uint16_t,\n\t\t
      \      std::unique_ptr<pldm::fw_update::DescriptorData> >\n\t\t&recordDescriptors)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<pldm::fw_update::DescriptorData>
    - pldm::fw_update::DescriptorData::DescriptorData
    linkageType: ''
    returnType: std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData>
      >
    signature: "std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData>
      > pldm::fw_update::DescriptorData::copyDescriptorMap(\n\tconst std::map<uint16_t,\n\t\t
      \      std::unique_ptr<pldm::fw_update::DescriptorData> >\n\t\t&recordDescriptors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - componentClassification
    - componentIdentifier
    - componentComparisonStamp
    - componentOptions
    - requestedComponentActivationMethod
    - componentLocation
    - componentVersion
    - componentOpaqueData
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - std::bitset<16>
    - std::bitset<16>
    - variable_field
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: "pldm::fw_update::ComponentImageInfo::ComponentImageInfo(\n\tuint16_t
      componentClassification, uint16_t componentIdentifier,\n\tuint32_t componentComparisonStamp,
      std::bitset<16> componentOptions,\n\tstd::bitset<16> requestedComponentActivationMethod,\n\tconst
      variable_field &componentLocation,\n\tconst std::string &componentVersion,\n\tconst
      std::vector<uint8_t> &componentOpaqueData)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::ComponentImageInfo::ComponentImageInfo(\n\tuint16_t
      componentClassification, uint16_t componentIdentifier,\n\tuint32_t componentComparisonStamp,
      std::bitset<16> componentOptions,\n\tstd::bitset<16> requestedComponentActivationMethod,\n\tconst
      variable_field &componentLocation,\n\tconst std::string &componentVersion,\n\tconst
      std::vector<uint8_t> &componentOpaqueData)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:103,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:106,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:109,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:112,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:115,1
    - Dst: HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:119,1
    - Dst: ComponentImageInfo::HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:120,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:126,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - other
    argTypes:
    - ComponentImageInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: "pldm::fw_update::ComponentImageInfo::operator==(\n\tconst ComponentImageInfo
      &other) const"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - CompareNEQ
    - ComponentImageInfo::HasMember
    - HasMember
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm::fw_update::ComponentImageInfo::operator==(\n\tconst
      ComponentImageInfo &other) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pldm::fw_update::ComponentImageInfo::~ComponentImageInfo()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm::fw_update::ComponentImageInfo::~ComponentImageInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DescriptorData::copyDescriptorMap
      Src: /src/libpldm/bindings/cpp/types.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - deviceUpdateOptionFlags
    - applicableComponents
    - componentImageSetVersion
    - descriptorsIn
    - firmwareDevicePackageData
    - referenceManifestData
    argTypes:
    - std::bitset<32>
    - std::vector<size_t>
    - std::string
    - std::map<uint16_t, std::unique_ptr<DescriptorData> >
    - std::vector<uint8_t>
    - std::optional<ReferenceManifestData>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: "pldm::fw_update::FirmwareDeviceIDRecord::FirmwareDeviceIDRecord(\n\tconst
      std::bitset<32> &deviceUpdateOptionFlags,\n\tconst std::vector<size_t> &applicableComponents,\n\tconst
      std::string &componentImageSetVersion,\n\tconst std::map<uint16_t, std::unique_ptr<DescriptorData>
      >\n\t\t&descriptorsIn,\n\tconst std::vector<uint8_t> &firmwareDevicePackageData,\n\tconst
      std::optional<ReferenceManifestData> &referenceManifestData)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - DescriptorData::copyDescriptorMap
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::FirmwareDeviceIDRecord::FirmwareDeviceIDRecord(\n\tconst
      std::bitset<32> &deviceUpdateOptionFlags,\n\tconst std::vector<size_t> &applicableComponents,\n\tconst
      std::string &componentImageSetVersion,\n\tconst std::map<uint16_t, std::unique_ptr<DescriptorData>
      >\n\t\t&descriptorsIn,\n\tconst std::vector<uint8_t> &firmwareDevicePackageData,\n\tconst
      std::optional<ReferenceManifestData> &referenceManifestData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: pldm::fw_update::FirmwareDeviceIDRecord::~FirmwareDeviceIDRecord()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm::fw_update::FirmwareDeviceIDRecord::~FirmwareDeviceIDRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/libpldm/bindings/cpp/types.cpp:180,1
    - Dst: size
      Src: /src/libpldm/bindings/cpp/types.cpp:180,1
    - Dst: std::vector::emplace_back
      Src: /src/libpldm/bindings/cpp/types.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: 'std::vector<uint16_t>

      pldm::fw_update::FirmwareDeviceIDRecord::getDescriptorTypes() const'
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: 'LIBPLDM_ABI_TESTING std::vector<uint16_t>

      pldm::fw_update::FirmwareDeviceIDRecord::getDescriptorTypes() const'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:192,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:196,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:199,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:203,1
    - Dst: HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:210,1
    - Dst: FirmwareDeviceIDRecord::HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:211,1
    - Dst: HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:215,1
    - Dst: FirmwareDeviceIDRecord::HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:216,1
    - Dst: size
      Src: /src/libpldm/bindings/cpp/types.cpp:222,1
    - Dst: FirmwareDeviceIDRecord::recordDescriptors::size
      Src: /src/libpldm/bindings/cpp/types.cpp:222,1
    - Dst: FirmwareDeviceIDRecord::recordDescriptors::contains
      Src: /src/libpldm/bindings/cpp/types.cpp:227,1
    - Dst: FirmwareDeviceIDRecord::recordDescriptors::at
      Src: /src/libpldm/bindings/cpp/types.cpp:230,1
    - Dst: get
      Src: /src/libpldm/bindings/cpp/types.cpp:232,1
    - Dst: auto::get
      Src: /src/libpldm/bindings/cpp/types.cpp:232,1
    - Dst: get
      Src: /src/libpldm/bindings/cpp/types.cpp:235,1
    - Dst: auto::get
      Src: /src/libpldm/bindings/cpp/types.cpp:235,1
    - Dst: CompareEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:245,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - other
    argTypes:
    - FirmwareDeviceIDRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 246
    functionName: "pldm::fw_update::FirmwareDeviceIDRecord::operator==(\n\tconst FirmwareDeviceIDRecord
      &other) const"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - CompareNEQ
    - FirmwareDeviceIDRecord::recordDescriptors::contains
    - size
    - get
    - FirmwareDeviceIDRecord::HasMember
    - HasMember
    - FirmwareDeviceIDRecord::recordDescriptors::at
    - auto::get
    - CompareEQ
    - FirmwareDeviceIDRecord::recordDescriptors::size
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm::fw_update::FirmwareDeviceIDRecord::operator==(\n\tconst
      FirmwareDeviceIDRecord &other) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: pldm::fw_update::DownstreamDeviceIDRecord::~DownstreamDeviceIDRecord()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm::fw_update::DownstreamDeviceIDRecord::~DownstreamDeviceIDRecord()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:305,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:310,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:315,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:321,1
    - Dst: HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:328,1
    - Dst: DownstreamDeviceIDRecord::HasMember
      Src: /src/libpldm/bindings/cpp/types.cpp:330,1
    - Dst: size
      Src: /src/libpldm/bindings/cpp/types.cpp:338,1
    - Dst: DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::size
      Src: /src/libpldm/bindings/cpp/types.cpp:339,1
    - Dst: DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::contains
      Src: /src/libpldm/bindings/cpp/types.cpp:344,1
    - Dst: DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::at
      Src: /src/libpldm/bindings/cpp/types.cpp:349,1
    - Dst: get
      Src: /src/libpldm/bindings/cpp/types.cpp:351,1
    - Dst: auto::get
      Src: /src/libpldm/bindings/cpp/types.cpp:351,1
    - Dst: get
      Src: /src/libpldm/bindings/cpp/types.cpp:354,1
    - Dst: auto::get
      Src: /src/libpldm/bindings/cpp/types.cpp:354,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:364,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:368,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - other
    argTypes:
    - DownstreamDeviceIDRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 375
    functionName: "pldm::fw_update::DownstreamDeviceIDRecord::operator==(\n\tconst
      DownstreamDeviceIDRecord &other) const"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - CompareNEQ
    - DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::contains
    - size
    - get
    - DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::size
    - DownstreamDeviceIDRecord::HasMember
    - HasMember
    - auto::get
    - DownstreamDeviceIDRecord::downstreamDeviceRecordDescriptors::at
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm::fw_update::DownstreamDeviceIDRecord::operator==(\n\tconst
      DownstreamDeviceIDRecord &other) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::begin
      Src: /src/libpldm/bindings/cpp/types.cpp:380,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/libpldm/bindings/cpp/types.cpp:380,1
    - Dst: std::span<const uint8_t>::begin
      Src: /src/libpldm/bindings/cpp/types.cpp:381,1
    - Dst: std::span<const uint8_t>::end
      Src: /src/libpldm/bindings/cpp/types.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - SVHID
    - vendorID
    - data
    argTypes:
    - uint8_t
    - std::span<const uint8_t>
    - std::span<const uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: "pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst
      uint8_t SVHID, const std::span<const uint8_t> &vendorID,\n\tconst std::span<const
      uint8_t> &data)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - std::span<const uint8_t>::end
    - std::span<const uint8_t>::begin
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst
      uint8_t SVHID, const std::span<const uint8_t> &vendorID,\n\tconst std::span<const
      uint8_t> &data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: pldm::fw_update::ReferenceManifestData::~ReferenceManifestData()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::ReferenceManifestData::~ReferenceManifestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ref
    argTypes:
    - ReferenceManifestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: "pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst
      ReferenceManifestData &ref)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst
      ReferenceManifestData &ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ReferenceManifestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: "pldm::fw_update::ReferenceManifestData::operator==(\n\tconst ReferenceManifestData
      &other) const"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: "LIBPLDM_ABI_TESTING pldm::fw_update::ReferenceManifestData::operator==(\n\tconst
      ReferenceManifestData &other) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - firmwareDeviceIdRecords
    - downstreamDeviceIdRecords
    - componentImageInformation
    argTypes:
    - std::vector<FirmwareDeviceIDRecord>
    - std::vector<DownstreamDeviceIDRecord>
    - std::vector<ComponentImageInfo>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: "pldm::fw_update::Package::Package(\n\tconst std::vector<FirmwareDeviceIDRecord>
      &firmwareDeviceIdRecords,\n\tconst std::vector<DownstreamDeviceIDRecord> &downstreamDeviceIdRecords,\n\tconst
      std::vector<ComponentImageInfo> &componentImageInformation)"
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pldm::fw_update::Package::Package(\n\tconst std::vector<FirmwareDeviceIDRecord>
      &firmwareDeviceIdRecords,\n\tconst std::vector<DownstreamDeviceIDRecord> &downstreamDeviceIdRecords,\n\tconst
      std::vector<ComponentImageInfo> &componentImageInformation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pldm::fw_update::Package::~Package()
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: LIBPLDM_ABI_STABLE pldm::fw_update::Package::~Package()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:428,1
    - Dst: CompareNEQ
      Src: /src/libpldm/bindings/cpp/types.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - Package
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: pldm::fw_update::Package::operator==(const Package &other) const
    functionSourceFile: /src/libpldm/bindings/cpp/types.cpp
    functionUses: 0
    functionsReached:
    - CompareNEQ
    linkageType: ''
    returnType: LIBPLDM_ABI_TESTING
    signature: LIBPLDM_ABI_TESTING pldm::fw_update::Package::operator==(const Package
      &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pldm::fw_update::PackageParserError::PackageParserError(std::string
      s)
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::PackageParserError::PackageParserError(std::string
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - rc
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pldm::fw_update::PackageParserError::PackageParserError(std::string
      s, int rc)
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::PackageParserError::PackageParserError(std::string
      s, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData> >::emplace
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:35,1
    - Dst: std::unique_ptr<pldm::fw_update::DescriptorData>
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:37,1
    - Dst: std::vector
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:38,1
    - Dst: pldm::fw_update::DescriptorData::DescriptorData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:38,1
    - Dst: decode_vendor_defined_descriptor_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:47,1
    - Dst: std::to_string
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:55,1
    - Dst: std::to_string
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:57,1
    - Dst: std::to_string
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:59,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:61,1
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:65,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:67,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:68,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:68,1
    - Dst: std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData> >::emplace
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:70,1
    - Dst: std::unique_ptr<pldm::fw_update::DescriptorData>
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:72,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:74,1
    - Dst: pldm::fw_update::DescriptorData::DescriptorData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - desc
    - descriptors
    argTypes:
    - struct pldm_descriptor*
    - std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData> >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 82
    functionName: "pldm::fw_update::PackageParser::helperParseFDDescriptor(\n\tstruct
      pldm_descriptor *desc,\n\tstd::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData>
      >\n\t\t&descriptors) noexcept"
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - auto::error
    - std::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData> >::emplace
    - auto::value
    - std::unexpected
    - decode_vendor_defined_descriptor_value
    - auto::has_value
    - std::vector
    - std::unique_ptr<pldm::fw_update::DescriptorData>
    - pldm::utils::toString
    - pldm::fw_update::DescriptorData::DescriptorData
    - std::to_string
    linkageType: ''
    returnType: std::expected<void, std::string>
    signature: "std::expected<void, std::string> pldm::fw_update::PackageParser::helperParseFDDescriptor(\n\tstruct
      pldm_descriptor *desc,\n\tstd::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData>
      >\n\t\t&descriptors) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<size_t>::emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - compList
    - bitmap
    argTypes:
    - std::vector<size_t>
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: getApplicableComponents
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - std::vector<size_t>::emplace_back
    linkageType: ''
    returnType: void
    signature: "void getApplicableComponents(std::vector<size_t> &compList,\n\t\t\t\t
      \   struct variable_field &bitmap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:109,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:114,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:116,1
    - Dst: getApplicableComponents
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:137,1
    - Dst: getReferenceManifestData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:147,1
    - Dst: helperParseFDDescriptor
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:158,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:160,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:161,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:162,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:162,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:167,1
    - Dst: pldm::fw_update::PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:167,1
    - Dst: std::vector<pldm::fw_update::DownstreamDeviceIDRecord>::emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:172,1
    - Dst: pldm::fw_update::DownstreamDeviceIDRecord
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - downstreamDeviceIdRecords
    - package
    - downstreamDeviceId
    argTypes:
    - std::vector<pldm::fw_update::DownstreamDeviceIDRecord>
    - struct pldm_package
    - pldm_package_downstream_device_id_record
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 181
    functionName: "pldm::fw_update::PackageParser::helperParseDownstreamDeviceIDRecord(\n\tstd::vector<pldm::fw_update::DownstreamDeviceIDRecord>\n\t\t&downstreamDeviceIdRecords,\n\tstruct
      pldm_package &package,\n\tpldm_package_downstream_device_id_record &downstreamDeviceId)
      noexcept"
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - auto::error
    - getApplicableComponents
    - pldm::fw_update::DownstreamDeviceIDRecord
    - getReferenceManifestData
    - pldm::fw_update::PackageParserError
    - auto::has_value
    - PackageParserError
    - auto::value
    - pldm::utils::toString
    - helperParseFDDescriptor
    - std::unexpected
    - std::vector<pldm::fw_update::DownstreamDeviceIDRecord>::emplace_back
    linkageType: ''
    returnType: std::expected<void, pldm::fw_update::PackageParserError>
    signature: "std::expected<void, pldm::fw_update::PackageParserError> pldm::fw_update::PackageParser::helperParseDownstreamDeviceIDRecord(\n\tstd::vector<pldm::fw_update::DownstreamDeviceIDRecord>\n\t\t&downstreamDeviceIdRecords,\n\tstruct
      pldm_package &package,\n\tpldm_package_downstream_device_id_record &downstreamDeviceId)
      noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helperParseFDDescriptor
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:158,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:160,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:161,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:162,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - auto::has_value
    - PackageParserError
    - auto::error
    - helperParseFDDescriptor
    - std::unexpected
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record_descriptor(\n\t\tpackage,
      downstreamDeviceId, desc, rc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pin
    argTypes:
    - pldm::fw_update::PackagePin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: pinMap
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pinMap(pldm::fw_update::PackagePin pin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: pldm::fw_update::PackageParser::~PackageParser()
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pldm::fw_update::PackageParser::~PackageParser()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:216,1
    - Dst: std::span::size
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:217,1
    - Dst: std::span::subspan
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:222,1
    - Dst: std::span::subspan
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:227,1
    - Dst: std::span::size
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:227,1
    - Dst: ReferenceManifestData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reference_manifest_data
    argTypes:
    - struct variable_field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 230
    functionName: "pldm::fw_update::PackageParser::getReferenceManifestData(\n\tstruct
      variable_field &reference_manifest_data) noexcept"
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - ReferenceManifestData
    - std::span::size
    - std::span::subspan
    linkageType: ''
    returnType: std::optional<pldm::fw_update::ReferenceManifestData>
    signature: "std::optional<pldm::fw_update::ReferenceManifestData> pldm::fw_update::PackageParser::getReferenceManifestData(\n\tstruct
      variable_field &reference_manifest_data) noexcept"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::span<const uint8_t>::size
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:238,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:247,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:248,1
    - Dst: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:251,1
    - Dst: decode_pldm_firmware_update_package
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:253,1
    - Dst: std::span<const uint8_t>::data
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:253,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:257,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:257,1
    - Dst: pinMap
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:261,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:264,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:264,1
    - Dst: helperParseFDDescriptor
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:281,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:284,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:285,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:291,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:291,1
    - Dst: getApplicableComponents
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:301,1
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:316,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:321,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:322,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:323,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:323,1
    - Dst: getReferenceManifestData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:326,1
    - Dst: std::vector::emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:329,1
    - Dst: FirmwareDeviceIDRecord
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:329,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:330,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:331,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:331,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:332,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:336,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:336,1
    - Dst: helperParseDownstreamDeviceIDRecord
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:346,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:349,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:350,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:351,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:351,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:356,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:356,1
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:371,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:374,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:375,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:376,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:376,1
    - Dst: std::vector::emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:385,1
    - Dst: ComponentImageInfo
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:385,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:390,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:390,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:394,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:394,1
    - Dst: std::unique_ptr<Package>
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:400,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:401,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:402,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:403,1
    - Dst: Package::Package
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:401,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - pkg
    - pin
    argTypes:
    - std::span<const uint8_t>
    - PackagePin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 404
    functionName: "std::expected<std::unique_ptr<pldm::fw_update::Package>,\n\t      pldm::fw_update::PackageParserError>\npldm::fw_update::PackageParser::parse(const
      std::span<const uint8_t> &pkg,\n\t\t\t\t      PackagePin pin) noexcept"
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - Package::Package
    - getReferenceManifestData
    - std::vector::emplace_back
    - std::move
    - decode_pldm_firmware_update_package
    - std::span<const uint8_t>::size
    - auto::has_value
    - PackageParserError
    - auto::value
    - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    - getApplicableComponents
    - auto::error
    - std::unexpected
    - helperParseDownstreamDeviceIDRecord
    - FirmwareDeviceIDRecord
    - std::span<const uint8_t>::data
    - pinMap
    - std::unique_ptr<Package>
    - ComponentImageInfo
    - pldm::utils::toString
    - helperParseFDDescriptor
    linkageType: ''
    returnType: LIBPLDM_ABI_STABLE
    signature: "LIBPLDM_ABI_STABLE std::expected<std::unique_ptr<pldm::fw_update::Package>,\n\t
      \     pldm::fw_update::PackageParserError>\npldm::fw_update::PackageParser::parse(const
      std::span<const uint8_t> &pkg,\n\t\t\t\t      PackagePin pin) noexcept"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: helperParseFDDescriptor
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:281,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:284,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:285,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:291,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:291,1
    - Dst: getApplicableComponents
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:301,1
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:316,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:321,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:322,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:323,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:323,1
    - Dst: getReferenceManifestData
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:326,1
    - Dst: emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:329,1
    - Dst: FirmwareDeviceIDRecord
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:329,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:330,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:331,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:331,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 333
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - getApplicableComponents
    - pldm::utils::toString
    - getReferenceManifestData
    - FirmwareDeviceIDRecord
    - auto::has_value
    - std::move
    - PackageParserError
    - auto::value
    - auto::error
    - helperParseFDDescriptor
    - std::unexpected
    - emplace_back
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record(package,\n\t\t\t\t\t\t
      \      deviceIdRecordData, rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helperParseFDDescriptor
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:281,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:284,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:285,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - auto::has_value
    - PackageParserError
    - auto::error
    - helperParseFDDescriptor
    - std::unexpected
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_firmware_device_id_record_descriptor(\n\t\t\tpackage,
      deviceIdRecordData, descriptorData, rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helperParseDownstreamDeviceIDRecord
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:346,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:349,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:350,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:351,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 1
    functionsReached:
    - helperParseDownstreamDeviceIDRecord
    - auto::has_value
    - PackageParserError
    - auto::error
    - std::unexpected
    linkageType: ''
    returnType: void
    signature: "void foreach_pldm_package_downstream_device_id_record(package,\n\t\t\t\t\t\t\t
      downstreamDeviceId, rc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pldm::utils::toString
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:371,1
    - Dst: auto::has_value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:374,1
    - Dst: std::unexpected
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:375,1
    - Dst: PackageParserError
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:376,1
    - Dst: auto::error
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:376,1
    - Dst: emplace_back
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:385,1
    - Dst: ComponentImageInfo
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:385,1
    - Dst: auto::value
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:390,1
    - Dst: std::move
      Src: /src/libpldm/bindings/cpp/firmware_update.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/bindings/cpp/firmware_update.cpp
    functionUses: 0
    functionsReached:
    - pldm::utils::toString
    - auto::value
    - auto::has_value
    - std::move
    - PackageParserError
    - ComponentImageInfo
    - auto::error
    - std::unexpected
    - emplace_back
    linkageType: ''
    returnType: void
    signature: void foreach_pldm_package_component_image_information(package, imageInfo,
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/libpldm/include/libpldm++/firmware_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/libpldm/include/libpldm++/firmware_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/libpldm/include/libpldm++/firmware_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: pldm::fw_update::PackageParser::PackageParser
    functionSourceFile: /src/libpldm/include/libpldm++/firmware_update.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PackageParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable(const NonCopyableNonMoveable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: "&\n\toperator=(const NonCopyableNonMoveable &)"
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonCopyableNonMoveable
    signature: "NonCopyableNonMoveable &\n\toperator=(const NonCopyableNonMoveable
      &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable(NonCopyableNonMoveable &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '&operator=(NonCopyableNonMoveable &&)'
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonCopyableNonMoveable
    signature: NonCopyableNonMoveable &operator=(NonCopyableNonMoveable &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~NonCopyableNonMoveable()
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonCopyableNonMoveable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: libpldm::address
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:49,1
    - Dst: libpldm::address
      Src: /src/libpldm/include/libpldm++/types.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: libpldm::HasMember
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - libpldm::address
    - static_cast<const Derived *>
    linkageType: ''
    returnType: bool
    signature: bool HasMember(const T Derived::*member) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:57,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:57,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:60,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:60,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:63,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:63,1
    - Dst: libpldm::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:67,1
    - Dst: Derived::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - Derived::*member
    - other
    argTypes:
    - T
    - Derived
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: libpldm::CompareEQ
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - Derived::HasMember
    - libpldm::GetPtr
    - Derived::GetPtr
    - libpldm::HasMember
    linkageType: ''
    returnType: bool
    signature: bool CompareEQ(const T Derived::*member, const Derived &other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:74,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:74,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:77,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:77,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:80,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:80,1
    - Dst: libpldm::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:84,1
    - Dst: Derived::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - Derived::*member
    - other
    argTypes:
    - T
    - Derived
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: libpldm::CompareNEQ
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - Derived::HasMember
    - libpldm::GetPtr
    - Derived::GetPtr
    - libpldm::HasMember
    linkageType: ''
    returnType: bool
    signature: bool CompareNEQ(const T Derived::*member, const Derived &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: libpldm::Get
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const Derived *>
    linkageType: ''
    returnType: T
    signature: T Get(const T Derived::*member) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: libpldm::GetPtr
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 2
    functionsReached:
    - static_cast<const Derived *>
    linkageType: ''
    returnType: T
    signature: T *GetPtr(const T Derived::*member) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable(const NonCopyableNonMoveable &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: "&\n\toperator=(const NonCopyableNonMoveable &)"
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonCopyableNonMoveable
    signature: "NonCopyableNonMoveable &\n\toperator=(const NonCopyableNonMoveable
      &)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: libpldm::NonCopyableNonMoveable
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonCopyableNonMoveable(NonCopyableNonMoveable &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '&operator=(NonCopyableNonMoveable &&)'
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonCopyableNonMoveable
    signature: NonCopyableNonMoveable &operator=(NonCopyableNonMoveable &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~NonCopyableNonMoveable()
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonCopyableNonMoveable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: libpldm::address
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:49,1
    - Dst: libpldm::address
      Src: /src/libpldm/include/libpldm++/types.hpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: libpldm::HasMember
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 2
    functionsReached:
    - libpldm::address
    - static_cast<const Derived *>
    linkageType: ''
    returnType: bool
    signature: bool HasMember(const T Derived::*member) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:57,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:57,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:60,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:60,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:63,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:63,1
    - Dst: libpldm::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:67,1
    - Dst: Derived::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - Derived::*member
    - other
    argTypes:
    - T
    - Derived
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: libpldm::CompareEQ
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - Derived::HasMember
    - libpldm::GetPtr
    - Derived::GetPtr
    - libpldm::HasMember
    linkageType: ''
    returnType: bool
    signature: bool CompareEQ(const T Derived::*member, const Derived &other) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:74,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:74,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:77,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:77,1
    - Dst: libpldm::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:80,1
    - Dst: Derived::HasMember
      Src: /src/libpldm/include/libpldm++/types.hpp:80,1
    - Dst: libpldm::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:84,1
    - Dst: Derived::GetPtr
      Src: /src/libpldm/include/libpldm++/types.hpp:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - Derived::*member
    - other
    argTypes:
    - T
    - Derived
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: libpldm::CompareNEQ
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - Derived::HasMember
    - libpldm::GetPtr
    - Derived::GetPtr
    - libpldm::HasMember
    linkageType: ''
    returnType: bool
    signature: bool CompareNEQ(const T Derived::*member, const Derived &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: libpldm::Get
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 0
    functionsReached:
    - static_cast<const Derived *>
    linkageType: ''
    returnType: T
    signature: T Get(const T Derived::*member) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Derived *>
      Src: /src/libpldm/include/libpldm++/types.hpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Derived::*member
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: libpldm::GetPtr
    functionSourceFile: /src/libpldm/include/libpldm++/types.hpp
    functionUses: 4
    functionsReached:
    - static_cast<const Derived *>
    linkageType: ''
    returnType: T
    signature: T *GetPtr(const T Derived::*member) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: PLDM_MSG_SIZE
    functionSourceFile: /src/libpldm/include/libpldm/base.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSG_SIZE(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: PLDM_MSG_BUFFER
    functionSourceFile: /src/libpldm/include/libpldm/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSG_BUFFER(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: PLDM_MSG_DEFINE_P
    functionSourceFile: /src/libpldm/include/libpldm/base.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLDM_MSG_DEFINE_P(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_downstream_device_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: pldm_downstream_device_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_downstream_device_iter_end(\n\tconst struct
      pldm_downstream_device_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_downstream_device_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 672
    functionName: pldm_downstream_device_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_downstream_device_iter_next(struct pldm_downstream_device_iter
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - devs
    - ','
    - dev
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 716
    functionName: foreach_pldm_downstream_device
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_downstream_device(devs, dev, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - devs
    - dev
    argTypes:
    - struct pldm_downstream_device_iter*
    - struct pldm_downstream_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: pldm_downstream_device_descriptor_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_downstream_device_descriptor_iter_init(\n\tstruct
      pldm_downstream_device_iter *devs,\n\tconst struct pldm_downstream_device *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_descriptor_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: pldm_descriptor_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_descriptor_iter_end(const struct pldm_descriptor_iter
      *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_descriptor_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 761
    functionName: pldm_descriptor_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_descriptor_iter_next(struct pldm_descriptor_iter
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - devs
    - ','
    - dev
    - ','
    - desc
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: foreach_pldm_downstream_device_descriptor
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_downstream_device_descriptor(devs, dev, desc, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_downstream_device_parameters_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1455
    functionName: pldm_downstream_device_parameters_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_downstream_device_parameters_iter_end(\n\tconst
      struct pldm_downstream_device_parameters_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_downstream_device_parameters_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1467
    functionName: pldm_downstream_device_parameters_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_downstream_device_parameters_iter_next(\n\tstruct
      pldm_downstream_device_parameters_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - params
    - ','
    - entry
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1509
    functionName: foreach_pldm_downstream_device_parameters_entry
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_downstream_device_parameters_entry(params, entry, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_FIRMWARE_DEVICES)
      pos:
        line_end: 2549
        line_start: 2549
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2552
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2552
    functionName: pldm_package_firmware_device_id_record_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_package_firmware_device_id_record_iter_end(\n\tconst
      struct pldm_package *pkg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_FIRMWARE_DEVICES)
      pos:
        line_end: 2556
        line_start: 2556
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2564
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2564
    functionName: pldm_package_firmware_device_id_record_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_package_firmware_device_id_record_iter_next(struct
      pldm_package *pkg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkg
    - ','
    - rec
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2616
    functionName: foreach_pldm_package_firmware_device_id_record
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_package_firmware_device_id_record(pkg, rec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkg
    - rec
    argTypes:
    - struct pldm_package*
    - struct pldm_package_firmware_device_id_record*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_FIRMWARE_DEVICES)
      pos:
        line_end: 2623
        line_start: 2623
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2627
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2627
    functionName: pldm_package_firmware_device_id_record_descriptor_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_package_firmware_device_id_record_descriptor_iter_init(\n\tstruct
      pldm_package *pkg,\n\tstruct pldm_package_firmware_device_id_record *rec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pkg
    - ','
    - rec
    - ','
    - desc
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2685
    functionName: foreach_pldm_package_firmware_device_id_record_descriptor
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "foreach_pldm_package_firmware_device_id_record_descriptor(pkg, rec,
      \      \\\n\t\t\t\t\t\t\t\t  desc, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_DOWNSTREAM_DEVICES)
      pos:
        line_end: 2689
        line_start: 2689
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2692
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2692
    functionName: pldm_package_downstream_device_id_record_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_package_downstream_device_id_record_iter_end(\n\tconst
      struct pldm_package *pkg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_DOWNSTREAM_DEVICES)
      pos:
        line_end: 2696
        line_start: 2696
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2703
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2703
    functionName: pldm_package_downstream_device_id_record_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_package_downstream_device_id_record_iter_next(struct
      pldm_package *pkg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkg
    - ','
    - rec
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2767
    functionName: foreach_pldm_package_downstream_device_id_record
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_package_downstream_device_id_record(pkg, rec, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pkg
    - rec
    argTypes:
    - struct pldm_package*
    - struct pldm_package_downstream_device_id_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2777
    functionName: pldm_package_downstream_device_id_record_descriptor_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_package_downstream_device_id_record_descriptor_iter_init(\n\tstruct
      pldm_package *pkg,\n\tstruct pldm_package_downstream_device_id_record *rec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pkg
    - ','
    - rec
    - ','
    - desc
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2836
    functionDepth: 0
    functionLinenumber: 2836
    functionLinenumberEnd: 2846
    functionName: foreach_pldm_package_downstream_device_id_record_descriptor
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "foreach_pldm_package_downstream_device_id_record_descriptor(pkg, rec,
      \      \\\n\t\t\t\t\t\t\t\t    desc, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: "((pkg->state == PLDM_PACKAGE_PARSE_COMPLETE &&\n\t\tpkg->iter.entries
        == 0) ||\n\t       pkg->state == PLDM_PACKAGE_PARSE_COMPONENT_IMAGE_INFORMATION)"
      pos:
        line_end: 2852
        line_start: 2850
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2855
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2855
    functionName: pldm_package_component_image_information_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_package_component_image_information_iter_end(\n\tconst
      struct pldm_package *pkg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libpldm/include/libpldm/firmware_update.h:2864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pkg
    argTypes:
    - struct pldm_package*
    assertStmts:
    - condition: (pkg->state == PLDM_PACKAGE_PARSE_COMPONENT_IMAGE_INFORMATION)
      pos:
        line_end: 2863
        line_start: 2863
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    constantsTouched: []
    func_position:
      end: 2875
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2875
    functionName: pldm_package_component_image_information_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: LIBPLDM_ITERATOR pldm_package_component_image_information_iter_next(struct
      pldm_package *pkg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkg
    - ','
    - info
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2952
    functionName: foreach_pldm_package_component_image_information
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_package_component_image_information(pkg, info, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2978
    functionName: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3005
    functionName: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3032
    functionName: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR03H
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR03H(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3059
    functionName: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
    functionSourceFile: /src/libpldm/include/libpldm/firmware_update.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: LIBPLDM_SIZEAT
    functionSourceFile: /src/libpldm/include/libpldm/compiler.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBPLDM_SIZEAT(type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: LIBPLDM_CC_COUNTED_BY
    functionSourceFile: /src/libpldm/include/libpldm/compiler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIBPLDM_CC_COUNTED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - struct pldm_platform_redfish_resource_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2940
    functionName: pldm_platform_redfish_resource_pdr_additional_resource_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_additional_resource_iter_init(\n\tconst
      struct pldm_platform_redfish_resource_pdr *pdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_additional_resource_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2948
    functionName: pldm_platform_redfish_resource_pdr_additional_resource_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_additional_resource_iter_end(\n\tconst
      struct pldm_platform_redfish_resource_pdr_additional_resource_iter\n\t\t*iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_additional_resource_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2959
    functionName: pldm_platform_redfish_resource_pdr_additional_resource_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_additional_resource_iter_next(\n\tstruct
      pldm_platform_redfish_resource_pdr_additional_resource_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdr
    - ','
    - additional_resource
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2998
    functionDepth: 0
    functionLinenumber: 2998
    functionLinenumberEnd: 3013
    functionName: foreach_pldm_platform_redfish_resource_pdr_additional_resource
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "foreach_pldm_platform_redfish_resource_pdr_additional_resource(                        \\\n\tpdr,
      additional_resource, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - struct pldm_platform_redfish_resource_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3039
    functionName: pldm_platform_redfish_resource_pdr_oem_name_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_oem_name_iter_init(\n\tconst
      struct pldm_platform_redfish_resource_pdr *pdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_oem_name_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3046
    functionName: pldm_platform_redfish_resource_pdr_oem_name_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_oem_name_iter_end(\n\tconst
      struct pldm_platform_redfish_resource_pdr_oem_name_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_resource_pdr_oem_name_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3057
    functionName: pldm_platform_redfish_resource_pdr_oem_name_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_resource_pdr_oem_name_iter_next(\n\tstruct
      pldm_platform_redfish_resource_pdr_oem_name_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdr
    - ','
    - oem_name
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3108
    functionName: foreach_pldm_platform_redfish_resource_pdr_oem_name
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_platform_redfish_resource_pdr_oem_name(pdr, oem_name,
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - struct pldm_platform_redfish_action_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3178
    functionDepth: 0
    functionLinenumber: 3178
    functionLinenumberEnd: 3189
    functionName: pldm_platform_redfish_action_pdr_related_resource_id_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_related_resource_id_iter_init(\n\tconst
      struct pldm_platform_redfish_action_pdr *pdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_action_pdr_related_resource_id_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3197
    functionName: pldm_platform_redfish_action_pdr_related_resource_id_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_related_resource_id_iter_end(\n\tconst
      struct pldm_platform_redfish_action_pdr_related_resource_id_iter\n\t\t*iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_action_pdr_related_resource_id_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3208
    functionName: pldm_platform_redfish_action_pdr_related_resource_id_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_related_resource_id_iter_next(\n\tstruct
      pldm_platform_redfish_action_pdr_related_resource_id_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdr
    - ','
    - res
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3259
    functionName: foreach_pldm_platform_redfish_action_pdr_related_resource_id
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "foreach_pldm_platform_redfish_action_pdr_related_resource_id(pdr,
      res,               \\\n\t\t\t\t\t\t\t\t     rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdr
    argTypes:
    - struct pldm_platform_redfish_action_pdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3275
    functionDepth: 0
    functionLinenumber: 3275
    functionLinenumberEnd: 3286
    functionName: pldm_platform_redfish_action_pdr_action_iter_init
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_action_iter_init(\n\tconst
      struct pldm_platform_redfish_action_pdr *pdr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_action_pdr_action_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3293
    functionName: pldm_platform_redfish_action_pdr_action_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_action_iter_end(\n\tconst
      struct pldm_platform_redfish_action_pdr_action_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_redfish_action_pdr_action_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3304
    functionName: pldm_platform_redfish_action_pdr_action_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_redfish_action_pdr_action_iter_next(\n\tstruct
      pldm_platform_redfish_action_pdr_action_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdr
    - ','
    - action
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3355
    functionName: foreach_pldm_platform_redfish_action_pdr_action
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_platform_redfish_action_pdr_action(pdr, action, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_state_effecter_pdr_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3396
    functionName: pldm_platform_state_effecter_pdr_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_state_effecter_pdr_iter_end(\n\tconst
      struct pldm_platform_state_effecter_pdr_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_state_effecter_pdr_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3398
    functionDepth: 0
    functionLinenumber: 3398
    functionLinenumberEnd: 3407
    functionName: pldm_platform_state_effecter_pdr_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_state_effecter_pdr_iter_next(\n\tstruct
      pldm_platform_state_effecter_pdr_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - states
    - ','
    - bitfield
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3453
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3453
    functionName: foreach_pldm_platform_state_effecter_pdr_states
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: foreach_pldm_platform_state_effecter_pdr_states(states, bitfield, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_state_effecter_pdr_possible_states_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3497
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3497
    functionName: pldm_platform_state_effecter_pdr_possible_states_iter_end
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_state_effecter_pdr_possible_states_iter_end(\n\tconst
      struct pldm_platform_state_effecter_pdr_possible_states_iter *iter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_platform_state_effecter_pdr_possible_states_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3499
    functionDepth: 0
    functionLinenumber: 3499
    functionLinenumberEnd: 3508
    functionName: pldm_platform_state_effecter_pdr_possible_states_iter_next
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LIBPLDM_ITERATOR
    signature: "LIBPLDM_ITERATOR pldm_platform_state_effecter_pdr_possible_states_iter_next(\n\tstruct
      pldm_platform_state_effecter_pdr_possible_states_iter *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pdr
    - ','
    - pdr_size
    - ','
    - states
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3578
      start: 3568
    functionDepth: 0
    functionLinenumber: 3568
    functionLinenumberEnd: 3578
    functionName: foreach_pldm_platform_state_effecter_pdr_possible_states
    functionSourceFile: /src/libpldm/include/libpldm/platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "foreach_pldm_platform_state_effecter_pdr_possible_states(              \\\n\tpdr,
      pdr_size, states, rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_value
      Src: /src/libpldm/include/libpldm/bios_table.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: pldm_bios_table_iter_attr_entry_value
    functionSourceFile: /src/libpldm/include/libpldm/bios_table.h
    functionUses: 1
    functionsReached:
    - pldm_bios_table_iter_value
    linkageType: ''
    returnType: struct pldm_bios_attr_table_entry
    signature: 'struct pldm_bios_attr_table_entry *

      pldm_bios_table_iter_attr_entry_value(struct pldm_bios_table_iter *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_value
      Src: /src/libpldm/include/libpldm/bios_table.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: pldm_bios_table_iter_string_entry_value
    functionSourceFile: /src/libpldm/include/libpldm/bios_table.h
    functionUses: 1
    functionsReached:
    - pldm_bios_table_iter_value
    linkageType: ''
    returnType: struct pldm_bios_string_table_entry
    signature: 'struct pldm_bios_string_table_entry *

      pldm_bios_table_iter_string_entry_value(struct pldm_bios_table_iter *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pldm_bios_table_iter_value
      Src: /src/libpldm/include/libpldm/bios_table.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct pldm_bios_table_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: pldm_bios_table_iter_attr_value_entry_value
    functionSourceFile: /src/libpldm/include/libpldm/bios_table.h
    functionUses: 2
    functionsReached:
    - pldm_bios_table_iter_value
    linkageType: ''
    returnType: struct pldm_bios_attr_val_table_entry
    signature: 'struct pldm_bios_attr_val_table_entry *

      pldm_bios_table_iter_attr_value_entry_value(struct pldm_bios_table_iter *iter)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: HTOLE32
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTOLE32(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: HTOLE16
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTOLE16(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: LE32TOH
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE32TOH(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: LE16TOH
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE16TOH(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: HTOLE32
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTOLE32(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: HTOLE16
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTOLE16(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: LE32TOH
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE32TOH(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: LE16TOH
    functionSourceFile: /src/libpldm/include/libpldm/byteorder.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE16TOH(X)
Fuzzer filename: /src/libpldm/tests/fuzz/fuzz.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- power_supply.hpp
- inttypes.h
- oem_event_manager.hpp
- com/meta/IPMI/UnifiedSEL/event.hpp
- string.h
- libpldmresponder/file_io.hpp
- file_io_type_pcie.hpp
- environ/time.h
- item_update_manager.hpp
- file_io.hpp
- stack
- libpldmresponder/pdr.hpp
- chassis.hpp
- invoker.hpp
- bios_enum_attribute.hpp
- oem/ibm/requester/dbus_to_file_handler.hpp
- dbus_to_event_handler.hpp
- xyz/openbmc_project/Metric/Value/server.hpp
- phosphor-logging/lg2.hpp
- xyz/openbmc_project/State/Host/client.hpp
- connector.hpp
- inventory_item.hpp
- xyz/openbmc_project/Dump/NewDump/server.hpp
- platform_manager.hpp
- xyz/openbmc_project/Dump/Create/common.hpp
- sys/time.h
- platform-mc/dbus_impl_fru.hpp
- libpldmresponder/file_io_type_cert.hpp
- xyz/openbmc_project/Time/Synchronization/common.hpp
- sys/socket.h
- file_io_type_cert.hpp
- sys/un.h
- oem/ibm/oem_ibm_state_set.hpp
- xyz/openbmc_project/Inventory/Decorator/Asset/common.hpp
- sdeventplus/clock.hpp
- ctime
- libpldm/base.h
- libpldmresponder/bios_attribute.hpp
- file_io_by_type.hpp
- oem/meta/event/types.hpp
- mock_terminus_manager.hpp
- libpldm/smbios.h
- test.h
- compiler.h
- cfloat
- xyz/openbmc_project/Inventory/Item/Board/common.hpp
- oem/ibm/libpldmresponder/collect_slot_vpd.hpp
- libpldm/pdr.h
- pldm_platform_cmd.hpp
- libpldm/instance-id.h
- com/ibm/Dump/Notify/server.hpp
- availability.hpp
- xyz/openbmc_project/Sensor/Threshold/Critical/server.hpp
- typeinfo
- file_io_type_http_boot.hpp
- stdplus/signal.hpp
- mock_event_manager.hpp
- libpldmresponder/pdr_utils.hpp
- system_error
- oem_meta.hpp
- libpldm/transport/af-mctp.h
- libpldmresponder/base.hpp
- fd-internal.h
- sdbusplus/server.hpp
- file_io_type_event_log.hpp
- libpldmresponder/bios_table.hpp
- platform-mc/terminus_manager.hpp
- vector
- handler.hpp
- libpldm/state_set.h
- oem/ibm/libpldmresponder/oem_ibm_handler.hpp
- libpldm/compiler.h
- libpldmresponder/bios_config.hpp
- xyz/openbmc_project/Software/ActivationProgress/server.hpp
- common/flight_recorder.hpp
- xyz/openbmc_project/PLDM/Event/server.hpp
- deque
- sdbusplus/message/types.hpp
- xyz/openbmc_project/Inventory/Item/PCIeSlot/server.hpp
- xyz/openbmc_project/Inventory/Item/server.hpp
- libpldm/control.h
- libpldm/oem/ibm/host.h
- unistd.h
- fw-update/firmware_inventory_manager.hpp
- oem/ampere/oem_ampere.hpp
- xyz/openbmc_project/Time/EpochTime/common.hpp
- mctp_endpoint_discovery.hpp
- stdio.h
- terminus.hpp
- stdlib.h
- platform-mc/event_manager.hpp
- cstddef
- variant
- dsp/bios_table.c
- pldm_fw_update_cmd.hpp
- sdbusplus/bus/match.hpp
- linux/mctp.h
- requester/handler.hpp
- fstream
- map
- event_manager.hpp
- common/utils.hpp
- stdexcept
- arpa/inet.h
- dbus/custom_dbus.hpp
- responder.h
- libpldmresponder/bios_integer_attribute.hpp
- common/transport.hpp
- libpldmresponder/inband_code_update.hpp
- fw-update/manager.hpp
- xyz/openbmc_project/ObjectMapper/client.hpp
- com/ampere/Event/ReportedSEL/event.hpp
- pldmd/handler.hpp
- fcntl.h
- fw-update/update_manager.hpp
- assert.h
- xyz/openbmc_project/Inventory/Item/Vrm/server.hpp
- nlohmann/json.hpp
- custom_dbus.hpp
- sdeventplus/utility/timer.hpp
- ../../libpldmresponder/fru.hpp
- gmock/gmock.h
- libpldm/oem/ibm/state_set.h
- platform.hpp
- base.hpp
- xyz/openbmc_project/Inventory/Item/Dimm/server.hpp
- sdeventplus/event.hpp
- xyz/openbmc_project/Logging/Entry/client.hpp
- array.h
- unordered_map
- platform_state_sensor.hpp
- ranges
- pdr.hpp
- cable.hpp
- xyz/openbmc_project/Inventory/Decorator/AssetTag/server.hpp
- limits
- ../oem/ibm/libpldmresponder/utils.hpp
- host_pdr_handler.hpp
- xyz/openbmc_project/PLDM/PDR/server.hpp
- sys/stat.h
- sdbusplus/timer.hpp
- fw-update/activation.hpp
- xyz/openbmc_project/Inventory/Item/Panel/server.hpp
- af-mctp-internal.h
- cstdlib
- libpldm/oem/ibm/file_io.h
- xyz/openbmc_project/State/OperatingSystem/Status/server.hpp
- common/instance_id.hpp
- libpldm/bios.h
- libpldm/byteorder.h
- libpldmresponder/platform_state_sensor.hpp
- utils.h
- transport.h
- xyz/openbmc_project/Software/ApplyTime/server.hpp
- file_io_type_vpd.hpp
- libpldm/oem/meta/file_io.h
- xyz/openbmc_project/Led/Group/server.hpp
- array
- pcie_device.hpp
- xyz/openbmc_project/Sensor/Threshold/event.hpp
- libpldm/firmware_fd.h
- xyz/openbmc_project/Inventory/Item/Chassis/server.hpp
- zephyr/sys/byteorder.h
- mocked_bios.hpp
- libpldm/oem/ibm/entity.h
- sdeventplus/source/signal.hpp
- platform_oem_ibm.hpp
- panel.hpp
- xyz/openbmc_project/Inventory/Decorator/Revision/common.hpp
- cstdint
- libpldmresponder/bios.hpp
- fabric_adapter.hpp
- xyz/openbmc_project/State/Decorator/Availability/server.hpp
- xyz/openbmc_project/PLDM/Event/common.hpp
- xyz/openbmc_project/Sensor/Threshold/HardShutdown/server.hpp
- platform-mc/numeric_sensor.hpp
- xyz/openbmc_project/Inventory/Item/Board/server.hpp
- xyz/openbmc_project/Object/Delete/server.hpp
- libpldm++/firmware_update.hpp
- new
- algorithm
- pdr_state_sensor.hpp
- oem_ibm_handler.hpp
- systemd/sd-bus.h
- libpldmresponder/platform_numeric_effecter.hpp
- xyz/openbmc_project/Inventory/Item/PCIeSlot/common.hpp
- oem_handler.hpp
- fru.hpp
- container-of.h
- file_io_type_post_code.hpp
- aggregate_update_manager.hpp
- xyz/openbmc_project/Common/error.hpp
- uchar.h
- motherboard.hpp
- xyz/openbmc_project/Logging/Entry/server.hpp
- update.hpp
- utils_test.hpp
- com/ibm/VPD/Manager/client.hpp
- host-bmc/host_pdr_handler.hpp
- libpldmresponder/platform_state_effecter.hpp
- libpldmresponder/bios_string_attribute.hpp
- transport/af-mctp-internal.h
- libpldmresponder/oem_handler.hpp
- host_condition.hpp
- dbus_to_terminus_effecters.hpp
- phosphor-logging/commit.hpp
- pldm_cmd_helper.hpp
- ../../platform-mc/manager.hpp
- dsp/base.h
- memory
- sys/timerfd.h
- float.h
- environ/errno.h
- fw-update/package_parser.hpp
- libpldm/states.h
- common/test/mocked_utils.hpp
- xyz/openbmc_project/State/Thermal/event.hpp
- bios_config.hpp
- pldmtool/oem/ibm/pldm_oem_ibm.hpp
- update_manager.hpp
- sdbusplus/async.hpp
- type_traits
- config.h
- bios_integer_attribute.hpp
- cstring
- host-bmc/dbus_to_event_handler.hpp
- pdr_numeric_effecter.hpp
- xyz/openbmc_project/Inventory/Decorator/AssetTag/common.hpp
- requester/request.hpp
- xyz/openbmc_project/State/Host/common.hpp
- bios_attribute.hpp
- msgbuf.hpp
- pldmd/invoker.hpp
- softoff.hpp
- xyz/openbmc_project/State/BMC/client.hpp
- sdbusplus/test/sdbus_mock.hpp
- xyz/openbmc_project/Inventory/Item/FabricAdapter/server.hpp
- functional
- poll.h
- file_io_type_pel.hpp
- libpldmresponder/oem_ibm_handler.hpp
- ../msgbuf.h
- set
- sdeventplus/source/time.hpp
- err.h
- pldm_bios_cmd.hpp
- ../oem/ibm/libpldmresponder/oem_ibm_handler.hpp
- sys/mman.h
- xyz/openbmc_project/Software/Version/client.hpp
- chrono
- collect_slot_vpd.hpp
- cstdio
- libpldm/file.h
- libpldm/api.h
- cassert
- msgbuf/platform.h
- xyz/openbmc_project/Association/common.hpp
- board.hpp
- manager.hpp
- cper.hpp
- mock_sensor_manager.hpp
- iterator
- limits.h
- file_io_type_dump.hpp
- fru_oem_ibm.hpp
- xyz/openbmc_project/State/Power/event.hpp
- platform-mc/platform_manager.hpp
- xyz/openbmc_project/Inventory/Item/Connector/client.hpp
- request.hpp
- oem/meta/oem_meta.hpp
- pdr_state_effecter.hpp
- xyz/openbmc_project/State/Decorator/OperationalStatus/server.hpp
- libpldmresponder/fru.hpp
- inventory_manager.hpp
- libpldm/fru.h
- libpldmresponder/file_io_type_lid.hpp
- sdeventplus/source/event.hpp
- xyz/openbmc_project/BIOSConfig/Manager/common.hpp
- iomanip
- queue
- xyz/openbmc_project/Inventory/Item/Accelerator/server.hpp
- libpldm/transport/mctp-demux.h
- fw-update/watch.hpp
- libpldm/firmware_update.h
- oem/meta/event/oem_event_manager.hpp
- package_parser.hpp
- xyz/openbmc_project/Software/Version/server.hpp
- file_io_type_progress_src.hpp
- span
- device_updater.hpp
- libpldmresponder/file_table.hpp
- xyz/openbmc_project/Logging/Create/client.hpp
- sdeventplus/source/io.hpp
- iostream
- fw-update/inventory_manager.hpp
- libpldm/edac.h
- oem/meta/libpldmresponder/file_io.hpp
- ../oem/ibm/libpldmresponder/fru_oem_ibm.hpp
- libpldm/bcd.h
- sys/types.h
- dbus_impl_fru.hpp
- pdr_utils.hpp
- xyz/openbmc_project/Inventory/Decorator/Compatible/server.hpp
- libpldm/platform.h
- requester/test/mock_mctp_discovery_handler_intf.hpp
- file_io_type_power_control.hpp
- requester/mctp_endpoint_discovery.hpp
- sensor_manager.hpp
- CLI/CLI.hpp
- testpkg-util.hpp
- xyz/openbmc_project/Sensor/Value/server.hpp
- org/open_power/Logging/PEL/server.hpp
- msgbuf.h
- libpldm/bios_table.h
- libcper/Cper.h
- zephyr/toolchain.h
- vrm.hpp
- numeric_sensor.hpp
- xyz/openbmc_project/Inventory/Decorator/Asset/client.hpp
- xyz/openbmc_project/Inventory/Item/Fan/server.hpp
- utils.hpp
- libpldmresponder/file_io_by_type.hpp
- xyz/openbmc_project/Inventory/Item/PCIeDevice/server.hpp
- endian.h
- file_io_type_lid.hpp
- libpldmresponder/file_io_type_pel.hpp
- sys/inotify.h
- systemd/sd-journal.h
- libpldm/oem/ibm/fru.h
- initializer_list
- platform_state_effecter.hpp
- socket.h
- mock_request.hpp
- file_io_type_bios_version.hpp
- cmath
- fw-update/firmware_inventory.hpp
- mctp-defines.h
- sdeventplus/exception.hpp
- xyz/openbmc_project/Software/MultipartUpdate/server.hpp
- firmware_inventory_manager.hpp
- libpldmresponder/file_io_type_dump.hpp
- utils.c
- xyz/openbmc_project/BIOSConfig/Manager/server.hpp
- xyz/openbmc_project/Software/Update/server.hpp
- control-internal.h
- fan.hpp
- file_table.hpp
- filesystem
- pldm_base_cmd.hpp
- platform-mc/sensor_manager.hpp
- stddef.h
- asm/byteorder.h
- time.h
- xyz/openbmc_project/Inventory/Item/common.hpp
- libpldm/oem/ibm/platform.h
- libpldmresponder/event_parser.hpp
- libpldm/transport.h
- ../dbus/custom_dbus.hpp
- exception
- watch.hpp
- string_view
- ../oem/ibm/host-bmc/host_lamp_test.hpp
- xyz/openbmc_project/Condition/HostFirmware/server.hpp
- libpldmresponder/fru_parser.hpp
- api.h
- xyz/openbmc_project/State/Boot/Progress/client.hpp
- platform-mc/dbus_to_terminus_effecters.hpp
- common/bios_utils.hpp
- xyz/openbmc_project/Inventory/Decorator/Asset/server.hpp
- common/types.hpp
- bios.hpp
- xyz/openbmc_project/Inventory/Item/PowerSupply/server.hpp
- xyz/openbmc_project/Inventory/Item/Cpu/server.hpp
- stdint.h
- optional
- oem/ibm/libpldmresponder/inband_code_update.hpp
- bios_table.hpp
- pldm_fru_cmd.hpp
- format
- gtest/gtest.h
- platform_numeric_effecter.hpp
- platform-mc/terminus.hpp
- sdbusplus/bus.hpp
- host-bmc/host_condition.hpp
- sstream
- ../../libpldmresponder/platform.hpp
- ../../requester/request.hpp
- libpldmresponder/platform.hpp
- xyz/openbmc_project/MCTP/Endpoint/client.hpp
- xyz/openbmc_project/Inventory/Item/Connector/server.hpp
- terminus_manager.hpp
- types.hpp
- errno.h
- fw-update/update.hpp
- cpu_core.hpp
- xyz/openbmc_project/Inventory/Decorator/Revision/server.hpp
- xyz/openbmc_project/Sensor/Threshold/Warning/server.hpp
- spanstream
- libpldmresponder/file_io_type_pcie.hpp
- fru_parser.hpp
- activation.hpp
- xyz/openbmc_project/Inventory/Source/PLDM/Entity/server.hpp
- ../../pldm_cmd_helper.hpp
- oem/ibm/host-bmc/host_lamp_test.hpp
- inband_code_update.hpp
- pcie_slot.hpp
- fw-update/device_updater.hpp
- oem/ibm/libpldmresponder/utils.hpp
- oem/nvidia/oem_nvidia.hpp
- xyz/openbmc_project/Inventory/Manager/client.hpp
- ../../oem/ampere/event/oem_event_manager.hpp
- xyz/openbmc_project/Software/Activation/server.hpp
- host_lamp_test.hpp
- dbus_to_file_handler.hpp
- fw-update/aggregate_update_manager.hpp
- msgbuf/core.h
- tuple
- gmock/gmock-matchers.h
- xyz/openbmc_project/Inventory/Decorator/Slot/client.hpp
- xyz/openbmc_project/Association/Definitions/server.hpp
- sdbusplus/server/object.hpp
- libpldm/entity.h
- ../oem/ibm/libpldmresponder/file_io.hpp
- event_parser.hpp
- bitset
- pldm_oem_ibm.hpp
- xyz/openbmc_project/Inventory/Item/Cable/server.hpp
- test/test_instance_id.hpp
- xyz/openbmc_project/Inventory/Item/Board/Motherboard/server.hpp
- transport/test.h
- utility
- oem_ibm.hpp
- string
- host-bmc/utils.hpp
- common/start_lifetime_as.hpp
- xyz/openbmc_project/Inventory/Decorator/Compatible/common.hpp
- platform_config.hpp
- libpldmresponder/platform_config.hpp
- ../utils.hpp
- asset.hpp
- mocked_utils.hpp
- cerrno
- oem/meta/utils.hpp
- stdbool.h
- libpldm/sizes.h
- stdalign.h
- oem/ibm/libpldmresponder/platform_oem_ibm.hpp
- libpldm/pldm_types.h
- platform-mc/manager.hpp
- xyz/openbmc_project/Inventory/Decorator/LocationCode/server.hpp
- xyz/openbmc_project/Software/Version/common.hpp
- responder.c
- sdbusplus/message.hpp
- xyz/openbmc_project/Inventory/Item/CpuCore/server.hpp
- libpldm/pldm.h
- bios_string_attribute.hpp
- firmware_inventory.hpp
- expected
- cstdarg
- climits
- xyz/openbmc_project/BIOSConfig/Manager/client.hpp
- libpldm/rde.h
- cctype
- xyz/openbmc_project/Common/UUID/common.hpp
- systemd/sd-event.h
- libpldmresponder/bios_enum_attribute.hpp
- dbus_impl_pdr.hpp
- libpldm++/types.hpp
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/pldm_package_parser_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lg2::error
  - lg2::info
  - lg2::warning
  - lg2::debug
  - lg2::error
  - lg2::info
  - lg2::warning
  - lg2::debug
  source_file: /src/pldm_shims/phosphor-logging/lg2.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm_shims/common/types.hpp
  types:
    enum:
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: CompOptionsPos
        value: '3'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/pldm_shims/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: CompOptionsPos
        value: '3'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/pldm_shims/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: CompOptionsPos
        value: '3'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/pldm_shims/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: CompOptionsPos
        value: '3'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/pldm_shims/common/types.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::utils::toString
  - pldm::utils::toString
  - pldm::utils::toString
  - pldm::utils::toString
  source_file: /src/pldm_shims/common/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  - sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure::what
  source_file: /src/pldm_shims/xyz/openbmc_project/Common/error.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(const OemAMPERE&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(OemAMPERE&&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - pldm::oem_ampere::OemAMPERE::createOemEventHandler
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(const OemAMPERE&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(OemAMPERE&&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - pldm::oem_ampere::OemAMPERE::createOemEventHandler
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(const OemAMPERE&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(OemAMPERE&&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - pldm::oem_ampere::OemAMPERE::createOemEventHandler
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(const OemAMPERE&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - '& operator=(OemAMPERE&&)'
  - pldm::oem_ampere::OemAMPERE::OemAMPERE
  - pldm::oem_ampere::OemAMPERE::createOemEventHandler
  source_file: /src/pldm/oem/ampere/oem_ampere.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/oem/ampere/event/cper.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: formatVersion
        type: uint8_t
      - name: formatType
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: CommonEventData
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/pldm/oem/ampere/event/cper.hpp
    - fields:
      - name: formatVersion
        type: uint8_t
      - name: formatType
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: CommonEventData
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/pldm/oem/ampere/event/cper.hpp
    - fields:
      - name: formatVersion
        type: uint8_t
      - name: formatType
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: CommonEventData
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/pldm/oem/ampere/event/cper.hpp
    - fields:
      - name: formatVersion
        type: uint8_t
      - name: formatType
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: CommonEventData
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/pldm/oem/ampere/event/cper.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
  - pldm::oem_ampere::OemEventManager::sendJournalRedfish
  - pldm::oem_ampere::OemEventManager::dimmIdxsToString
  - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
  - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
  - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
  - pldm::oem_ampere::OemEventManager::processStateSensorEvent
  - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
  - pldm::oem_ampere::OemEventManager::handleSensorEvent
  - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
  - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
  - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
  - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
  - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
  - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
  - pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
  - pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
  - pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
  - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
  - pldm::oem_ampere::OemEventManager::sendJournalRedfish
  - pldm::oem_ampere::OemEventManager::dimmIdxsToString
  - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
  - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
  - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
  - pldm::oem_ampere::OemEventManager::processStateSensorEvent
  - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
  - pldm::oem_ampere::OemEventManager::handleSensorEvent
  - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
  - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
  - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
  - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
  - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
  - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
  - pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
  - pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
  - pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
  - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
  - pldm::oem_ampere::OemEventManager::sendJournalRedfish
  - pldm::oem_ampere::OemEventManager::dimmIdxsToString
  - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
  - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
  - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
  - pldm::oem_ampere::OemEventManager::processStateSensorEvent
  - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
  - pldm::oem_ampere::OemEventManager::handleSensorEvent
  - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
  - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
  - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
  - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
  - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
  - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
  - pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
  - pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
  - pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
  - pldm::oem_ampere::OemEventManager::prefixMsgStrCreation
  - pldm::oem_ampere::OemEventManager::sendJournalRedfish
  - pldm::oem_ampere::OemEventManager::dimmIdxsToString
  - pldm::oem_ampere::OemEventManager::sensorIdToDIMMIdx
  - pldm::oem_ampere::OemEventManager::handleBootOverallEvent
  - pldm::oem_ampere::OemEventManager::processNumericSensorEvent
  - pldm::oem_ampere::OemEventManager::processStateSensorEvent
  - pldm::oem_ampere::OemEventManager::processSensorOpStateEvent
  - pldm::oem_ampere::OemEventManager::handleSensorEvent
  - pldm::oem_ampere::OemEventManager::handlePCIeHotPlugEvent
  - pldm::oem_ampere::OemEventManager::dimmTrainingFailureToMsg
  - pldm::oem_ampere::OemEventManager::handleDIMMStatusEvent
  - pldm::oem_ampere::OemEventManager::handleDDRStatusEvent
  - pldm::oem_ampere::OemEventManager::handleVRDStatusEvent
  - pldm::oem_ampere::OemEventManager::handleNumericWatchdogEvent
  - pldm::oem_ampere::OemEventManager::processOemMsgPollEvent
  - pldm::oem_ampere::OemEventManager::handlepldmMessagePollEvent
  - pldm::oem_ampere::OemEventManager::oemPollForPlatformEvent
  source_file: /src/pldm/oem/ampere/event/oem_event_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_ampere::guid_equal
  - pldm::oem_ampere::decodeSecAmpere
  - pldm::oem_ampere::decodeSecArm
  - pldm::oem_ampere::decodeSecPlatformMemory
  - pldm::oem_ampere::decodeSecPcie
  - pldm::oem_ampere::decodeCperSection
  - pldm::oem_ampere::decodeCperRecord
  - pldm::oem_ampere::addCperSELLog
  - pldm::oem_ampere::guid_equal
  - pldm::oem_ampere::decodeSecAmpere
  - pldm::oem_ampere::decodeSecArm
  - pldm::oem_ampere::decodeSecPlatformMemory
  - pldm::oem_ampere::decodeSecPcie
  - pldm::oem_ampere::decodeCperSection
  - pldm::oem_ampere::decodeCperRecord
  - pldm::oem_ampere::addCperSELLog
  - pldm::oem_ampere::guid_equal
  - pldm::oem_ampere::decodeSecAmpere
  - pldm::oem_ampere::decodeSecArm
  - pldm::oem_ampere::decodeSecPlatformMemory
  - pldm::oem_ampere::decodeSecPcie
  - pldm::oem_ampere::decodeCperSection
  - pldm::oem_ampere::decodeCperRecord
  - pldm::oem_ampere::addCperSELLog
  - pldm::oem_ampere::guid_equal
  - pldm::oem_ampere::decodeSecAmpere
  - pldm::oem_ampere::decodeSecArm
  - pldm::oem_ampere::decodeSecPlatformMemory
  - pldm::oem_ampere::decodeSecPcie
  - pldm::oem_ampere::decodeCperSection
  - pldm::oem_ampere::decodeCperRecord
  - pldm::oem_ampere::addCperSELLog
  source_file: /src/pldm/oem/ampere/event/cper.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - pldm::oem_ampere::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_ampere::OemEventManager::OemEventManager
  source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
  types:
    enum:
    - enumerators:
      - name: PCP_VR_STATE
        value: '75'
      - name: D2D_VR_STATE
        value: '95'
      - name: PCI_A_VR_STATE
        value: '115'
      - name: WATCH_DOG
        value: '179'
      - name: SOC_UE
        value: '198'
      - name: SOC_VR_STATE
        value: '80'
      - name: IOC_VR1_STATE
        value: '100'
      - name: SOC_BERT
        value: '200'
      - name: PCIE_HOT_PLUG
        value: '169'
      - name: CORE_UE
        value: '192'
      - name: DDR_STATUS
        value: '51'
      - name: DPHY_VR1_STATE
        value: '85'
      - name: IOC_VR2_STATE
        value: '105'
      - name: SOC_HEALTH_AVAILABILITY
        value: '170'
      - name: MCU_UE
        value: '194'
      - name: DPHY_VR2_STATE
        value: '90'
      - name: PCI_D_VR_STATE
        value: '110'
      - name: BOOT_OVERALL
        value: '175'
      - name: PCIE_UE
        value: '196'
      item_type: enum
      name: sensor_ids
      pos:
        line_end: 38
        line_start: 17
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: OK
      - name: BIOSFWPANIC
      - name: WARNING
      - name: CRITICAL
      item_type: enum
      name: log_level
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PCP_VR_STATE
        value: '75'
      - name: D2D_VR_STATE
        value: '95'
      - name: PCI_A_VR_STATE
        value: '115'
      - name: WATCH_DOG
        value: '179'
      - name: SOC_UE
        value: '198'
      - name: SOC_VR_STATE
        value: '80'
      - name: IOC_VR1_STATE
        value: '100'
      - name: SOC_BERT
        value: '200'
      - name: PCIE_HOT_PLUG
        value: '169'
      - name: CORE_UE
        value: '192'
      - name: DDR_STATUS
        value: '51'
      - name: DPHY_VR1_STATE
        value: '85'
      - name: IOC_VR2_STATE
        value: '105'
      - name: SOC_HEALTH_AVAILABILITY
        value: '170'
      - name: MCU_UE
        value: '194'
      - name: DPHY_VR2_STATE
        value: '90'
      - name: PCI_D_VR_STATE
        value: '110'
      - name: BOOT_OVERALL
        value: '175'
      - name: PCIE_UE
        value: '196'
      item_type: enum
      name: sensor_ids
      pos:
        line_end: 38
        line_start: 17
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: OK
      - name: BIOSFWPANIC
      - name: WARNING
      - name: CRITICAL
      item_type: enum
      name: log_level
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PCP_VR_STATE
        value: '75'
      - name: D2D_VR_STATE
        value: '95'
      - name: PCI_A_VR_STATE
        value: '115'
      - name: WATCH_DOG
        value: '179'
      - name: SOC_UE
        value: '198'
      - name: SOC_VR_STATE
        value: '80'
      - name: IOC_VR1_STATE
        value: '100'
      - name: SOC_BERT
        value: '200'
      - name: PCIE_HOT_PLUG
        value: '169'
      - name: CORE_UE
        value: '192'
      - name: DDR_STATUS
        value: '51'
      - name: DPHY_VR1_STATE
        value: '85'
      - name: IOC_VR2_STATE
        value: '105'
      - name: SOC_HEALTH_AVAILABILITY
        value: '170'
      - name: MCU_UE
        value: '194'
      - name: DPHY_VR2_STATE
        value: '90'
      - name: PCI_D_VR_STATE
        value: '110'
      - name: BOOT_OVERALL
        value: '175'
      - name: PCIE_UE
        value: '196'
      item_type: enum
      name: sensor_ids
      pos:
        line_end: 38
        line_start: 17
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: OK
      - name: BIOSFWPANIC
      - name: WARNING
      - name: CRITICAL
      item_type: enum
      name: log_level
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PCP_VR_STATE
        value: '75'
      - name: D2D_VR_STATE
        value: '95'
      - name: PCI_A_VR_STATE
        value: '115'
      - name: WATCH_DOG
        value: '179'
      - name: SOC_UE
        value: '198'
      - name: SOC_VR_STATE
        value: '80'
      - name: IOC_VR1_STATE
        value: '100'
      - name: SOC_BERT
        value: '200'
      - name: PCIE_HOT_PLUG
        value: '169'
      - name: CORE_UE
        value: '192'
      - name: DDR_STATUS
        value: '51'
      - name: DPHY_VR1_STATE
        value: '85'
      - name: IOC_VR2_STATE
        value: '105'
      - name: SOC_HEALTH_AVAILABILITY
        value: '170'
      - name: MCU_UE
        value: '194'
      - name: DPHY_VR2_STATE
        value: '90'
      - name: PCI_D_VR_STATE
        value: '110'
      - name: BOOT_OVERALL
        value: '175'
      - name: PCIE_UE
        value: '196'
      item_type: enum
      name: sensor_ids
      pos:
        line_end: 38
        line_start: 17
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: BOOT_STATUS_SUCCESS
        value: '0x80'
      - name: BOOT_STATUS_FAILURE
        value: '0x81'
      item_type: enum
      name: boot_status
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: UEFI_STATUS_CLASS_CODE_MIN
        value: '0x00'
      - name: MPRO
        value: '0x91'
      - name: ATF_BL1
        value: '0x92'
      - name: UEFI_STATUS_CLASS_CODE_MAX
        value: '0x7f'
      - name: SECPRO
        value: '0x90'
      - name: ATF_BL2
        value: '0x93'
      - name: DDR_INITIALIZATION
        value: '0x94'
      - name: DDR_TRAINING
        value: '0x95'
      - name: S0_DDR_TRAINING_FAILURE
        value: '0x96'
      - name: ATF_BL31
        value: '0x97'
      - name: ATF_BL32
        value: '0x98'
      - name: S1_DDR_TRAINING_FAILURE
        value: '0x99'
      item_type: enum
      name: boot_stage
      pos:
        line_end: 66
        line_start: 52
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: OK
      - name: BIOSFWPANIC
      - name: WARNING
      - name: CRITICAL
      item_type: enum
      name: log_level
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NO_SYSTEM_LEVEL_ERROR
        value: '0x01'
      - name: TRAINING_FAILURE
        value: '0x06'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: ECC_INITIALIZATION_FAILURE
        value: '0x04'
      - name: CONFIGURATION_FAILURE
        value: '0x05'
      - name: BOOT_FAILURE_NO_VALID_CONFIG
        value: '0x08'
      - name: FAILSAFE_ACTIVATED_NEXT_BOOT_SUCCESS
        value: '0x09'
      item_type: enum
      name: ddr_status
      pos:
        line_end: 140
        line_start: 131
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: INSTALLED_NO_ERROR
        value: '0x01'
      - name: INSTALLED_BUT_DISABLED
        value: '0x10'
      - name: TRAINING_FAILURE
        value: '0x12'
      - name: NOT_INSTALLED
        value: '0x02'
      - name: OTHER_FAILURE
        value: '0x07'
      - name: PMIC_HIGH_TEMP
        value: '0x13'
      - name: TSx_HIGH_TEMP
        value: '0x14'
      - name: SPD_HUB_HIGH_TEMP
        value: '0x15'
      - name: PMIC_TEMP_ALERT
        value: '0x16'
      item_type: enum
      name: dimm_status
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: PHY_TRAINING_FAILURE_TYPE
        value: '0x01'
      - name: DIMM_TRAINING_FAILURE_TYPE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_type
      pos:
        line_end: 168
        line_start: 164
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: PHY_READ_GATE_LEVELING_FAILURE
        value: '0x04'
      - name: CA_LEVELING
        value: '0x02'
      - name: PHY_WRITE_LEVEL_FAILURE
        value: '0x03'
      - name: PHY_TRAINING_SETUP_FAILURE
        value: '0x01'
      - name: PHY_READ_LEVEL_FAILURE
        value: '0x05'
      - name: WRITE_DQ_LEVELING
        value: '0x06'
      - name: PHY_SW_TRAINING_FAILURE
        value: '0x07'
      item_type: enum
      name: phy_training_failure_syndrome
      pos:
        line_end: 182
        line_start: 172
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - enumerators:
      - name: NA
        value: '0x00'
      - name: LRDRIMM_DB_SW_TRAINING_FAILURE
        value: '0x03'
      - name: DRAM_VREFDQ_TRAINING_FAILURE
        value: '0x01'
      - name: LRDIMM_DB_TRAINING_FAILURE
        value: '0x02'
      item_type: enum
      name: dimm_training_failure_syndrome
      pos:
        line_end: 193
        line_start: 187
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t segment:5;\n        uint32_t bus:8;\n
          \       uint32_t device:5;\n        uint32_t function:4;\n        uint32_t
          action:1;\n        uint32_t opStatus:1;\n        uint32_t mediaSlot:7;\n
          \       uint32_t reserved:1;\n    } __attribute__((packed))"
      item_type: union
      name: PCIeHotPlugEventRecord_t
      pos:
        line_end: 107
        line_start: 93
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t type:2;\n        uint32_t mcuRankIdx:3;\n
          \       uint32_t reserved_1:3; // byte0\n        uint32_t sliceNum:4;\n
          \       uint32_t upperNibbStatErr:1;\n        uint32_t lowerNibbStatErr:1;\n
          \       uint32_t reserved_2:2; // byte1\n        uint32_t syndrome:4;\n
          \       uint32_t reserved_3:4; // byte2\n        uint32_t reserved_byte:8;\n
          \   } __attribute__((packed))"
      item_type: union
      name: DIMMTrainingFailure_t
      pos:
        line_end: 125
        line_start: 109
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t vr_status_byte_low:8;\n        uint32_t
          vr_status_byte_high:8;\n        uint32_t reserved_1:12;\n        uint32_t
          warning:1;\n        uint32_t critical:1;\n        uint32_t reserved_2:2;\n
          \   } __attribute__((packed))"
      item_type: union
      name: VRDStatus_t
      pos:
        line_end: 222
        line_start: 210
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t segment:5;\n        uint32_t bus:8;\n
          \       uint32_t device:5;\n        uint32_t function:4;\n        uint32_t
          action:1;\n        uint32_t opStatus:1;\n        uint32_t mediaSlot:7;\n
          \       uint32_t reserved:1;\n    } __attribute__((packed))"
      item_type: union
      name: PCIeHotPlugEventRecord_t
      pos:
        line_end: 107
        line_start: 93
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t type:2;\n        uint32_t mcuRankIdx:3;\n
          \       uint32_t reserved_1:3; // byte0\n        uint32_t sliceNum:4;\n
          \       uint32_t upperNibbStatErr:1;\n        uint32_t lowerNibbStatErr:1;\n
          \       uint32_t reserved_2:2; // byte1\n        uint32_t syndrome:4;\n
          \       uint32_t reserved_3:4; // byte2\n        uint32_t reserved_byte:8;\n
          \   } __attribute__((packed))"
      item_type: union
      name: DIMMTrainingFailure_t
      pos:
        line_end: 125
        line_start: 109
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t vr_status_byte_low:8;\n        uint32_t
          vr_status_byte_high:8;\n        uint32_t reserved_1:12;\n        uint32_t
          warning:1;\n        uint32_t critical:1;\n        uint32_t reserved_2:2;\n
          \   } __attribute__((packed))"
      item_type: union
      name: VRDStatus_t
      pos:
        line_end: 222
        line_start: 210
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t segment:5;\n        uint32_t bus:8;\n
          \       uint32_t device:5;\n        uint32_t function:4;\n        uint32_t
          action:1;\n        uint32_t opStatus:1;\n        uint32_t mediaSlot:7;\n
          \       uint32_t reserved:1;\n    } __attribute__((packed))"
      item_type: union
      name: PCIeHotPlugEventRecord_t
      pos:
        line_end: 107
        line_start: 93
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t type:2;\n        uint32_t mcuRankIdx:3;\n
          \       uint32_t reserved_1:3; // byte0\n        uint32_t sliceNum:4;\n
          \       uint32_t upperNibbStatErr:1;\n        uint32_t lowerNibbStatErr:1;\n
          \       uint32_t reserved_2:2; // byte1\n        uint32_t syndrome:4;\n
          \       uint32_t reserved_3:4; // byte2\n        uint32_t reserved_byte:8;\n
          \   } __attribute__((packed))"
      item_type: union
      name: DIMMTrainingFailure_t
      pos:
        line_end: 125
        line_start: 109
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t vr_status_byte_low:8;\n        uint32_t
          vr_status_byte_high:8;\n        uint32_t reserved_1:12;\n        uint32_t
          warning:1;\n        uint32_t critical:1;\n        uint32_t reserved_2:2;\n
          \   } __attribute__((packed))"
      item_type: union
      name: VRDStatus_t
      pos:
        line_end: 222
        line_start: 210
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t segment:5;\n        uint32_t bus:8;\n
          \       uint32_t device:5;\n        uint32_t function:4;\n        uint32_t
          action:1;\n        uint32_t opStatus:1;\n        uint32_t mediaSlot:7;\n
          \       uint32_t reserved:1;\n    } __attribute__((packed))"
      item_type: union
      name: PCIeHotPlugEventRecord_t
      pos:
        line_end: 107
        line_start: 93
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t type:2;\n        uint32_t mcuRankIdx:3;\n
          \       uint32_t reserved_1:3; // byte0\n        uint32_t sliceNum:4;\n
          \       uint32_t upperNibbStatErr:1;\n        uint32_t lowerNibbStatErr:1;\n
          \       uint32_t reserved_2:2; // byte1\n        uint32_t syndrome:4;\n
          \       uint32_t reserved_3:4; // byte2\n        uint32_t reserved_byte:8;\n
          \   } __attribute__((packed))"
      item_type: union
      name: DIMMTrainingFailure_t
      pos:
        line_end: 125
        line_start: 109
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct\n    {\n        uint32_t vr_status_byte_low:8;\n        uint32_t
          vr_status_byte_high:8;\n        uint32_t reserved_1:12;\n        uint32_t
          warning:1;\n        uint32_t critical:1;\n        uint32_t reserved_2:2;\n
          \   } __attribute__((packed))"
      item_type: union
      name: VRDStatus_t
      pos:
        line_end: 222
        line_start: 210
        source_file: /src/pldm/oem/ampere/event/oem_event_manager.hpp
- function_names:
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(const OemNVIDIA&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(OemNVIDIA&&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(const OemNVIDIA&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(OemNVIDIA&&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(const OemNVIDIA&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(OemNVIDIA&&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(const OemNVIDIA&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - '& operator=(OemNVIDIA&&)'
  - pldm::oem_nvidia::OemNVIDIA::OemNVIDIA
  - pldm::oem_nvidia::OemNVIDIA::createOemEventHandler
  source_file: /src/pldm/oem/nvidia/oem_nvidia.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestFileTable::SetUp
  - TestFileTable::TearDown
  - TEST
  - TEST
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST_F
  - TEST_F
  - TEST
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MockOemUtilsHandler::MockOemUtilsHandler
  - MockCodeUpdate::MockCodeUpdate
  - MockSlotHandler::MockSlotHandler
  - MockOemPlatformHandler::MockOemPlatformHandler
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MockLampTest::MockLampTest
  - TEST
  source_file: /src/pldm/oem/ibm/test/host_bmc_lamp_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  - "pldm::responder::oem_ibm_platform::Handler::\n    getOemStateSensorReadingsHandler(\n
    \       pldm::pdr::EntityType entityType, EntityInstance entityInstance,\n        ContainerID
    containerId, StateSetId stateSetId,\n        CompositeCount compSensorCnt, uint16_t
    /*sensorId*/,\n        std::vector<get_sensor_state_field>& stateField)"
  - "pldm::responder::oem_ibm_platform::Handler::\n    oemSetStateEffecterStatesHandler(\n
    \       uint16_t entityType, uint16_t entityInstance, uint16_t stateSetId,\n        uint8_t
    compEffecterCnt,\n        std::vector<set_effecter_state_field>& stateField, uint16_t
    effecterId)"
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllCodeUpdateSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllSlotEnableSensorPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAIEffecterPDR
  - pldm::responder::oem_ibm_platform::buildAllRealSAISensorPDR
  - "pldm::responder::oem_ibm_platform::Handler::buildOEMPDR(\n    pdr_utils::Repo&
    repo)"
  - "pldm::responder::oem_ibm_platform::Handler::setPlatformHandler(\n    pldm::responder::platform::Handler*
    handler)"
  - "pldm::responder::oem_ibm_platform::Handler::sendEventToHost(\n    std::vector<uint8_t>&
    requestMsg, uint8_t instanceId)"
  - pldm::responder::oem_ibm_platform::encodeEventMsg
  - "pldm::responder::oem_ibm_platform::Handler::sendStateSensorEvent(\n    uint16_t
    sensorId, enum sensor_event_class_states sensorEventClass,\n    uint8_t sensorOffset,
    uint8_t eventState, uint8_t prevEventState)"
  - "pldm::responder::oem_ibm_platform::Handler::_processEndUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::_processStartUpdate(\n    sdeventplus::source::EventBase&
    /*source */)"
  - "pldm::responder::oem_ibm_platform::Handler::updateOemDbusPaths(\n    std::string&
    dbusPath)"
  - "pldm::responder::oem_ibm_platform::Handler::_processSystemReboot(\n    sdeventplus::source::EventBase&
    /*source */)"
  - pldm::responder::oem_ibm_platform::Handler::checkAndDisableWatchDog()
  - pldm::responder::oem_ibm_platform::Handler::watchDogRunning()
  - pldm::responder::oem_ibm_platform::Handler::resetWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::disableWatchDogTimer()
  - pldm::responder::oem_ibm_platform::Handler::checkBMCState()
  - "*\n    pldm::responder::oem_ibm_platform::Handler::fetchLastBMCRecord(\n        const
    pldm_pdr* repo)"
  - "pldm::responder::oem_ibm_platform::Handler::checkRecordHandleInRange(\n    const
    uint32_t& record_handle)"
  - pldm::responder::oem_ibm_platform::Handler::processSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::startStopTimer(bool value)
  - "pldm::responder::oem_ibm_platform::Handler::setSurvTimer(uint8_t tid,\n                                                              bool
    value)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtPowerOn()
  - "pldm::responder::oem_ibm_platform::Handler::setBootTypesBiosAttr(\n    const
    std::string& restartCause)"
  - pldm::responder::oem_ibm_platform::Handler::handleBootTypesAtChassisOff()
  - pldm::responder::oem_ibm_platform::Handler::turnOffRealSAIEffecter()
  - pldm::responder::oem_ibm_platform::Handler::fetchRealSAIStatus()
  - pldm::responder::oem_ibm_platform::Handler::processSAIUpdate()
  source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - pldm::responder::utils::setupUnixSocket
  - pldm::responder::utils::writeToUnixSocket
  - pldm::responder::utils::checkIfIBMFru
  - pldm::responder::utils::findPortObjects
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  - "pldm::responder::oem_ibm_utils::Handler::setCoreCount(\n    const EntityAssociations&
    Associations, const EntityMaps entityMaps)"
  source_file: /src/pldm/oem/ibm/libpldmresponder/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::CodeUpdate::fetchCurrentBootSide
  - pldm::responder::CodeUpdate::fetchNextBootSide
  - pldm::responder::CodeUpdate::setCurrentBootSide
  - pldm::responder::CodeUpdate::setNextBootSide
  - pldm::responder::CodeUpdate::setRequestedApplyTime
  - pldm::responder::CodeUpdate::setRequestedActivation
  - pldm::responder::CodeUpdate::setVersions
  - pldm::responder::CodeUpdate::processRenameEvent
  - pldm::responder::CodeUpdate::writeBootSideFile
  - pldm::responder::CodeUpdate::readBootSideFile
  - pldm::responder::CodeUpdate::processPriorityChangeNotification
  - pldm::responder::CodeUpdate::setOemPlatformHandler
  - pldm::responder::CodeUpdate::clearDirPath
  - pldm::responder::CodeUpdate::sendStateSensorEvent
  - pldm::responder::CodeUpdate::deleteImage
  - pldm::responder::fetchBootSide
  - pldm::responder::setBootSide
  - pldm::responder::executeCmd
  - pldm::responder::processCodeUpdateLid
  - pldm::responder::CodeUpdate::assembleCodeUpdateImage
  - pldm::responder::CodeUpdate::fetchCurrentBootSide
  - pldm::responder::CodeUpdate::fetchNextBootSide
  - pldm::responder::CodeUpdate::setCurrentBootSide
  - pldm::responder::CodeUpdate::setNextBootSide
  - pldm::responder::CodeUpdate::setRequestedApplyTime
  - pldm::responder::CodeUpdate::setRequestedActivation
  - pldm::responder::CodeUpdate::setVersions
  - pldm::responder::CodeUpdate::processRenameEvent
  - pldm::responder::CodeUpdate::writeBootSideFile
  - pldm::responder::CodeUpdate::readBootSideFile
  - pldm::responder::CodeUpdate::processPriorityChangeNotification
  - pldm::responder::CodeUpdate::setOemPlatformHandler
  - pldm::responder::CodeUpdate::clearDirPath
  - pldm::responder::CodeUpdate::sendStateSensorEvent
  - pldm::responder::CodeUpdate::deleteImage
  - pldm::responder::fetchBootSide
  - pldm::responder::setBootSide
  - pldm::responder::executeCmd
  - pldm::responder::processCodeUpdateLid
  - pldm::responder::CodeUpdate::assembleCodeUpdateImage
  - pldm::responder::CodeUpdate::fetchCurrentBootSide
  - pldm::responder::CodeUpdate::fetchNextBootSide
  - pldm::responder::CodeUpdate::setCurrentBootSide
  - pldm::responder::CodeUpdate::setNextBootSide
  - pldm::responder::CodeUpdate::setRequestedApplyTime
  - pldm::responder::CodeUpdate::setRequestedActivation
  - pldm::responder::CodeUpdate::setVersions
  - pldm::responder::CodeUpdate::processRenameEvent
  - pldm::responder::CodeUpdate::writeBootSideFile
  - pldm::responder::CodeUpdate::readBootSideFile
  - pldm::responder::CodeUpdate::processPriorityChangeNotification
  - pldm::responder::CodeUpdate::setOemPlatformHandler
  - pldm::responder::CodeUpdate::clearDirPath
  - pldm::responder::CodeUpdate::sendStateSensorEvent
  - pldm::responder::CodeUpdate::deleteImage
  - pldm::responder::fetchBootSide
  - pldm::responder::setBootSide
  - pldm::responder::executeCmd
  - pldm::responder::processCodeUpdateLid
  - pldm::responder::CodeUpdate::assembleCodeUpdateImage
  - pldm::responder::CodeUpdate::fetchCurrentBootSide
  - pldm::responder::CodeUpdate::fetchNextBootSide
  - pldm::responder::CodeUpdate::setCurrentBootSide
  - pldm::responder::CodeUpdate::setNextBootSide
  - pldm::responder::CodeUpdate::setRequestedApplyTime
  - pldm::responder::CodeUpdate::setRequestedActivation
  - pldm::responder::CodeUpdate::setVersions
  - pldm::responder::CodeUpdate::processRenameEvent
  - pldm::responder::CodeUpdate::writeBootSideFile
  - pldm::responder::CodeUpdate::readBootSideFile
  - pldm::responder::CodeUpdate::processPriorityChangeNotification
  - pldm::responder::CodeUpdate::setOemPlatformHandler
  - pldm::responder::CodeUpdate::clearDirPath
  - pldm::responder::CodeUpdate::sendStateSensorEvent
  - pldm::responder::CodeUpdate::deleteImage
  - pldm::responder::fetchBootSide
  - pldm::responder::setBootSide
  - pldm::responder::executeCmd
  - pldm::responder::processCodeUpdateLid
  - pldm::responder::CodeUpdate::assembleCodeUpdateImage
  source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magicNumber
        type: uint16_t
      - name: headerVersion
        type: uint16_t
      - name: lidNumber
        type: uint32_t
      - name: lidDate
        type: uint32_t
      - name: lidTime
        type: uint16_t
      - name: lidClass
        type: uint16_t
      - name: lidCrc
        type: uint32_t
      - name: lidSize
        type: uint32_t
      - name: headerSize
        type: uint32_t
      item_type: struct
      name: LidHeader
      pos:
        line_end: 728
        line_start: 717
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    - fields:
      - name: magicNumber
        type: uint16_t
      - name: headerVersion
        type: uint16_t
      - name: lidNumber
        type: uint32_t
      - name: lidDate
        type: uint32_t
      - name: lidTime
        type: uint16_t
      - name: lidClass
        type: uint16_t
      - name: lidCrc
        type: uint32_t
      - name: lidSize
        type: uint32_t
      - name: headerSize
        type: uint32_t
      item_type: struct
      name: LidHeader
      pos:
        line_end: 728
        line_start: 717
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    - fields:
      - name: magicNumber
        type: uint16_t
      - name: headerVersion
        type: uint16_t
      - name: lidNumber
        type: uint32_t
      - name: lidDate
        type: uint32_t
      - name: lidTime
        type: uint16_t
      - name: lidClass
        type: uint16_t
      - name: lidCrc
        type: uint32_t
      - name: lidSize
        type: uint32_t
      - name: headerSize
        type: uint32_t
      item_type: struct
      name: LidHeader
      pos:
        line_end: 728
        line_start: 717
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    - fields:
      - name: magicNumber
        type: uint16_t
      - name: headerVersion
        type: uint16_t
      - name: lidNumber
        type: uint32_t
      - name: lidDate
        type: uint32_t
      - name: lidTime
        type: uint16_t
      - name: lidClass
        type: uint16_t
      - name: lidCrc
        type: uint32_t
      - name: lidSize
        type: uint32_t
      - name: headerSize
        type: uint32_t
      item_type: struct
      name: LidHeader
      pos:
        line_end: 728
        line_start: 717
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
    typedefs: []
    union: []
- function_names:
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  - "pldm::responder::oem_ibm_fru::Handler::setIBMFruHandler(\n    pldm::responder::fru::Handler*
    handler)"
  - "pldm::responder::oem_ibm_fru::Handler::processOEMFRUTable(\n    const std::vector<uint8_t>&
    fruData)"
  - pldm::responder::oem_ibm_fru::Handler::updateDBusProperty
  - pldm::responder::oem_ibm_fru::Handler::dbus_map_update
  - pldm::responder::oem_ibm_fru::Handler::setFirmwareUAK
  source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::CertHandler::writeFromMemory
  - pldm::responder::CertHandler::readIntoMemory
  - pldm::responder::CertHandler::read
  - pldm::responder::CertHandler::write
  - pldm::responder::CertHandler::newFileAvailable
  - pldm::responder::CertHandler::newFileAvailableWithMetaData
  - pldm::responder::CertHandler::fileAckWithMetaData
  - pldm::responder::CertHandler::writeFromMemory
  - pldm::responder::CertHandler::readIntoMemory
  - pldm::responder::CertHandler::read
  - pldm::responder::CertHandler::write
  - pldm::responder::CertHandler::newFileAvailable
  - pldm::responder::CertHandler::newFileAvailableWithMetaData
  - pldm::responder::CertHandler::fileAckWithMetaData
  - pldm::responder::CertHandler::writeFromMemory
  - pldm::responder::CertHandler::readIntoMemory
  - pldm::responder::CertHandler::read
  - pldm::responder::CertHandler::write
  - pldm::responder::CertHandler::newFileAvailable
  - pldm::responder::CertHandler::newFileAvailableWithMetaData
  - pldm::responder::CertHandler::fileAckWithMetaData
  - pldm::responder::CertHandler::writeFromMemory
  - pldm::responder::CertHandler::readIntoMemory
  - pldm::responder::CertHandler::read
  - pldm::responder::CertHandler::write
  - pldm::responder::CertHandler::newFileAvailable
  - pldm::responder::CertHandler::newFileAvailableWithMetaData
  - pldm::responder::CertHandler::fileAckWithMetaData
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::filetable::FileTable::FileTable
  - ~FileTable()
  - pldm::filetable::FileTable::FileTable
  - '& operator=(const FileTable&)'
  - pldm::filetable::FileTable::FileTable
  - '& operator=(FileTable&&)'
  - pldm::filetable::FileTable::at
  - pldm::filetable::FileTable::isEmpty
  - pldm::filetable::FileTable::clear
  - pldm::filetable::FileTable::FileTable
  - ~FileTable()
  - pldm::filetable::FileTable::FileTable
  - '& operator=(const FileTable&)'
  - pldm::filetable::FileTable::FileTable
  - '& operator=(FileTable&&)'
  - pldm::filetable::FileTable::at
  - pldm::filetable::FileTable::isEmpty
  - pldm::filetable::FileTable::clear
  - pldm::filetable::FileTable::FileTable
  - ~FileTable()
  - pldm::filetable::FileTable::FileTable
  - '& operator=(const FileTable&)'
  - pldm::filetable::FileTable::FileTable
  - '& operator=(FileTable&&)'
  - pldm::filetable::FileTable::at
  - pldm::filetable::FileTable::isEmpty
  - pldm::filetable::FileTable::clear
  - pldm::filetable::FileTable::FileTable
  - ~FileTable()
  - pldm::filetable::FileTable::FileTable
  - '& operator=(const FileTable&)'
  - pldm::filetable::FileTable::FileTable
  - '& operator=(FileTable&&)'
  - pldm::filetable::FileTable::at
  - pldm::filetable::FileTable::isEmpty
  - pldm::filetable::FileTable::clear
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: handle
        type: Handle
      - name: fsPath
        type: fs::path
      - name: traits
        type: bitfield32_t
      item_type: struct
      name: FileEntry
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    - fields:
      - name: handle
        type: Handle
      - name: fsPath
        type: fs::path
      - name: traits
        type: bitfield32_t
      item_type: struct
      name: FileEntry
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    - fields:
      - name: handle
        type: Handle
      - name: fsPath
        type: fs::path
      - name: traits
        type: bitfield32_t
      item_type: struct
      name: FileEntry
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    - fields:
      - name: handle
        type: Handle
      - name: fsPath
        type: fs::path
      - name: traits
        type: bitfield32_t
      item_type: struct
      name: FileEntry
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::ProgressCodeHandler::setRawBootProperty
  - pldm::responder::ProgressCodeHandler::write
  - pldm::responder::ProgressCodeHandler::setRawBootProperty
  - pldm::responder::ProgressCodeHandler::write
  - pldm::responder::ProgressCodeHandler::setRawBootProperty
  - pldm::responder::ProgressCodeHandler::write
  - pldm::responder::ProgressCodeHandler::setRawBootProperty
  - pldm::responder::ProgressCodeHandler::write
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::FileHandler::FileHandler
  - ~FileHandler()
  - pldm::responder::FileHandler::FileHandler
  - ~FileHandler()
  - pldm::responder::FileHandler::FileHandler
  - ~FileHandler()
  - pldm::responder::FileHandler::FileHandler
  - ~FileHandler()
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_platform::Handler::Handler
  - pldm::responder::oem_ibm_platform::Handler::getNextEffecterId
  - pldm::responder::oem_ibm_platform::Handler::getNextSensorId
  - '& getAssociateEntityMap()'
  - pldm::responder::oem_ibm_platform::Handler::countSetEventReceiver
  - pldm::responder::oem_ibm_platform::Handler::setEventReceiver
  - ~Handler() override
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  - pldm::responder::oem_ibm_bios::Handler::Handler
  - pldm::responder::oem_ibm_bios::Handler::processOEMBaseBiosTable
  source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
  types:
    enum:
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    - enumerators:
      - name: SET_EVENT_RECEIVER_SENT
        value: '0x2'
      item_type: enum
      name: SetEventReceiverCount
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: CodeUpdateState
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
      type: ibm_oem_pldm_state_set_firmware_update_state_values
    union: []
- function_names:
  - pldm::responder::CodeUpdate::CodeUpdate
  - pldm::responder::CodeUpdate::fetchnewImageId
  - pldm::responder::CodeUpdate::isCodeUpdateInProgress
  - pldm::responder::CodeUpdate::setCodeUpdateProgress
  - pldm::responder::CodeUpdate::getMarkerLidSensor
  - pldm::responder::CodeUpdate::setMarkerLidSensor
  - pldm::responder::CodeUpdate::setFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::setBootSideRenameStateSensor
  - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
  - ~CodeUpdate()
  - pldm::responder::CodeUpdate::CodeUpdate
  - pldm::responder::CodeUpdate::fetchnewImageId
  - pldm::responder::CodeUpdate::isCodeUpdateInProgress
  - pldm::responder::CodeUpdate::setCodeUpdateProgress
  - pldm::responder::CodeUpdate::getMarkerLidSensor
  - pldm::responder::CodeUpdate::setMarkerLidSensor
  - pldm::responder::CodeUpdate::setFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::setBootSideRenameStateSensor
  - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
  - ~CodeUpdate()
  - pldm::responder::CodeUpdate::CodeUpdate
  - pldm::responder::CodeUpdate::fetchnewImageId
  - pldm::responder::CodeUpdate::isCodeUpdateInProgress
  - pldm::responder::CodeUpdate::setCodeUpdateProgress
  - pldm::responder::CodeUpdate::getMarkerLidSensor
  - pldm::responder::CodeUpdate::setMarkerLidSensor
  - pldm::responder::CodeUpdate::setFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::setBootSideRenameStateSensor
  - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
  - ~CodeUpdate()
  - pldm::responder::CodeUpdate::CodeUpdate
  - pldm::responder::CodeUpdate::fetchnewImageId
  - pldm::responder::CodeUpdate::isCodeUpdateInProgress
  - pldm::responder::CodeUpdate::setCodeUpdateProgress
  - pldm::responder::CodeUpdate::getMarkerLidSensor
  - pldm::responder::CodeUpdate::setMarkerLidSensor
  - pldm::responder::CodeUpdate::setFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::getFirmwareUpdateSensor
  - pldm::responder::CodeUpdate::setBootSideRenameStateSensor
  - pldm::responder::CodeUpdate::getBootSideRenameStateSensor
  - ~CodeUpdate()
  source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: current_boot_side
        type: std::string
      - name: next_boot_side
        type: std::string
      - name: running_version_object
        type: std::string
      item_type: struct
      name: pldm_boot_side_data
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    - fields:
      - name: current_boot_side
        type: std::string
      - name: next_boot_side
        type: std::string
      - name: running_version_object
        type: std::string
      item_type: struct
      name: pldm_boot_side_data
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    - fields:
      - name: current_boot_side
        type: std::string
      - name: next_boot_side
        type: std::string
      - name: running_version_object
        type: std::string
      item_type: struct
      name: pldm_boot_side_data
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    - fields:
      - name: current_boot_side
        type: std::string
      - name: next_boot_side
        type: std::string
      - name: running_version_object
        type: std::string
      item_type: struct
      name: pldm_boot_side_data
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::SlotHandler::SlotHandler
  - ~SlotHandler()
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(const SlotHandler&)'
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(SlotHandler&&)'
  - pldm::responder::SlotHandler::SlotHandler
  - pldm::responder::SlotHandler::SlotHandler
  - ~SlotHandler()
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(const SlotHandler&)'
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(SlotHandler&&)'
  - pldm::responder::SlotHandler::SlotHandler
  - pldm::responder::SlotHandler::SlotHandler
  - ~SlotHandler()
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(const SlotHandler&)'
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(SlotHandler&&)'
  - pldm::responder::SlotHandler::SlotHandler
  - pldm::responder::SlotHandler::SlotHandler
  - ~SlotHandler()
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(const SlotHandler&)'
  - pldm::responder::SlotHandler::SlotHandler
  - '& operator=(SlotHandler&&)'
  - pldm::responder::SlotHandler::SlotHandler
  source_file: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  - pldm::responder::platform::sendBiosAttributeUpdateEvent
  source_file: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::SlotHandler::timeOutHandler
  - pldm::responder::SlotHandler::enableSlot
  - pldm::responder::SlotHandler::processSlotOperations
  - pldm::responder::SlotHandler::callVPDManager
  - pldm::responder::SlotHandler::getAdapterObjPath
  - pldm::responder::SlotHandler::createPresenceMatch
  - pldm::responder::SlotHandler::processPresentPropertyChange
  - pldm::responder::SlotHandler::getEntityIDfromEffecterID
  - pldm::responder::SlotHandler::fetchSlotSensorState
  - pldm::responder::SlotHandler::setOemPlatformHandler
  - pldm::responder::SlotHandler::sendStateSensorEvent
  - pldm::responder::SlotHandler::fetchSensorStateFromDbus
  - pldm::responder::SlotHandler::timeOutHandler
  - pldm::responder::SlotHandler::enableSlot
  - pldm::responder::SlotHandler::processSlotOperations
  - pldm::responder::SlotHandler::callVPDManager
  - pldm::responder::SlotHandler::getAdapterObjPath
  - pldm::responder::SlotHandler::createPresenceMatch
  - pldm::responder::SlotHandler::processPresentPropertyChange
  - pldm::responder::SlotHandler::getEntityIDfromEffecterID
  - pldm::responder::SlotHandler::fetchSlotSensorState
  - pldm::responder::SlotHandler::setOemPlatformHandler
  - pldm::responder::SlotHandler::sendStateSensorEvent
  - pldm::responder::SlotHandler::fetchSensorStateFromDbus
  - pldm::responder::SlotHandler::timeOutHandler
  - pldm::responder::SlotHandler::enableSlot
  - pldm::responder::SlotHandler::processSlotOperations
  - pldm::responder::SlotHandler::callVPDManager
  - pldm::responder::SlotHandler::getAdapterObjPath
  - pldm::responder::SlotHandler::createPresenceMatch
  - pldm::responder::SlotHandler::processPresentPropertyChange
  - pldm::responder::SlotHandler::getEntityIDfromEffecterID
  - pldm::responder::SlotHandler::fetchSlotSensorState
  - pldm::responder::SlotHandler::setOemPlatformHandler
  - pldm::responder::SlotHandler::sendStateSensorEvent
  - pldm::responder::SlotHandler::fetchSensorStateFromDbus
  - pldm::responder::SlotHandler::timeOutHandler
  - pldm::responder::SlotHandler::enableSlot
  - pldm::responder::SlotHandler::processSlotOperations
  - pldm::responder::SlotHandler::callVPDManager
  - pldm::responder::SlotHandler::getAdapterObjPath
  - pldm::responder::SlotHandler::createPresenceMatch
  - pldm::responder::SlotHandler::processPresentPropertyChange
  - pldm::responder::SlotHandler::getEntityIDfromEffecterID
  - pldm::responder::SlotHandler::fetchSlotSensorState
  - pldm::responder::SlotHandler::setOemPlatformHandler
  - pldm::responder::SlotHandler::sendStateSensorEvent
  - pldm::responder::SlotHandler::fetchSensorStateFromDbus
  source_file: /src/pldm/oem/ibm/libpldmresponder/collect_slot_vpd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::PelHandler::readIntoMemory
  - pldm::responder::PelHandler::read
  - pldm::responder::PelHandler::writeFromMemory
  - pldm::responder::PelHandler::fileAck
  - pldm::responder::PelHandler::storePel
  - pldm::responder::PelHandler::write
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::PelHandler::readIntoMemory
  - pldm::responder::PelHandler::read
  - pldm::responder::PelHandler::writeFromMemory
  - pldm::responder::PelHandler::fileAck
  - pldm::responder::PelHandler::storePel
  - pldm::responder::PelHandler::write
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::PelHandler::readIntoMemory
  - pldm::responder::PelHandler::read
  - pldm::responder::PelHandler::writeFromMemory
  - pldm::responder::PelHandler::fileAck
  - pldm::responder::PelHandler::storePel
  - pldm::responder::PelHandler::write
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::detail::getEntryLevelFromPEL
  - pldm::responder::PelHandler::readIntoMemory
  - pldm::responder::PelHandler::read
  - pldm::responder::PelHandler::writeFromMemory
  - pldm::responder::PelHandler::fileAck
  - pldm::responder::PelHandler::storePel
  - pldm::responder::PelHandler::write
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::CertHandler::CertHandler
  - pldm::responder::CertHandler::fileAck
  - ~CertHandler() override
  - pldm::responder::CertHandler::CertHandler
  - pldm::responder::CertHandler::fileAck
  - ~CertHandler() override
  - pldm::responder::CertHandler::CertHandler
  - pldm::responder::CertHandler::fileAck
  - ~CertHandler() override
  - pldm::responder::CertHandler::CertHandler
  - pldm::responder::CertHandler::fileAck
  - ~CertHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
  types:
    enum:
    - enumerators:
      - name: PLDM_INVALID_CERT_DATA
        value: 0X03
      item_type: enum
      name: SignedCertStatus
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    - enumerators:
      - name: PLDM_INVALID_CERT_DATA
        value: 0X03
      item_type: enum
      name: SignedCertStatus
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    - enumerators:
      - name: PLDM_INVALID_CERT_DATA
        value: 0X03
      item_type: enum
      name: SignedCertStatus
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    - enumerators:
      - name: PLDM_INVALID_CERT_DATA
        value: 0X03
      item_type: enum
      name: SignedCertStatus
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::ProgressCodeHandler::ProgressCodeHandler
  - pldm::responder::ProgressCodeHandler::writeFromMemory
  - pldm::responder::ProgressCodeHandler::readIntoMemory
  - pldm::responder::ProgressCodeHandler::read
  - pldm::responder::ProgressCodeHandler::fileAck
  - pldm::responder::ProgressCodeHandler::newFileAvailable
  - pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
  - pldm::responder::ProgressCodeHandler::fileAckWithMetaData
  - ~ProgressCodeHandler() override
  - pldm::responder::ProgressCodeHandler::ProgressCodeHandler
  - pldm::responder::ProgressCodeHandler::writeFromMemory
  - pldm::responder::ProgressCodeHandler::readIntoMemory
  - pldm::responder::ProgressCodeHandler::read
  - pldm::responder::ProgressCodeHandler::fileAck
  - pldm::responder::ProgressCodeHandler::newFileAvailable
  - pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
  - pldm::responder::ProgressCodeHandler::fileAckWithMetaData
  - ~ProgressCodeHandler() override
  - pldm::responder::ProgressCodeHandler::ProgressCodeHandler
  - pldm::responder::ProgressCodeHandler::writeFromMemory
  - pldm::responder::ProgressCodeHandler::readIntoMemory
  - pldm::responder::ProgressCodeHandler::read
  - pldm::responder::ProgressCodeHandler::fileAck
  - pldm::responder::ProgressCodeHandler::newFileAvailable
  - pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
  - pldm::responder::ProgressCodeHandler::fileAckWithMetaData
  - ~ProgressCodeHandler() override
  - pldm::responder::ProgressCodeHandler::ProgressCodeHandler
  - pldm::responder::ProgressCodeHandler::writeFromMemory
  - pldm::responder::ProgressCodeHandler::readIntoMemory
  - pldm::responder::ProgressCodeHandler::read
  - pldm::responder::ProgressCodeHandler::fileAck
  - pldm::responder::ProgressCodeHandler::newFileAvailable
  - pldm::responder::ProgressCodeHandler::newFileAvailableWithMetaData
  - pldm::responder::ProgressCodeHandler::fileAckWithMetaData
  - ~ProgressCodeHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::DumpHandler::DumpHandler
  - pldm::responder::DumpHandler::fileAckWithMetaData
  - ~DumpHandler() override
  - pldm::responder::DumpHandler::DumpHandler
  - pldm::responder::DumpHandler::fileAckWithMetaData
  - ~DumpHandler() override
  - pldm::responder::DumpHandler::DumpHandler
  - pldm::responder::DumpHandler::fileAckWithMetaData
  - ~DumpHandler() override
  - pldm::responder::DumpHandler::DumpHandler
  - pldm::responder::DumpHandler::fileAckWithMetaData
  - ~DumpHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::DumpHandler::findDumpObjPath
  - pldm::responder::DumpHandler::newFileAvailable
  - pldm::responder::DumpHandler::getOffloadUri
  - pldm::responder::DumpHandler::writeFromMemory
  - pldm::responder::DumpHandler::write
  - pldm::responder::DumpHandler::fileAck
  - pldm::responder::DumpHandler::readIntoMemory
  - pldm::responder::DumpHandler::read
  - pldm::responder::DumpHandler::newFileAvailableWithMetaData
  - pldm::responder::DumpHandler::findDumpObjPath
  - pldm::responder::DumpHandler::newFileAvailable
  - pldm::responder::DumpHandler::getOffloadUri
  - pldm::responder::DumpHandler::writeFromMemory
  - pldm::responder::DumpHandler::write
  - pldm::responder::DumpHandler::fileAck
  - pldm::responder::DumpHandler::readIntoMemory
  - pldm::responder::DumpHandler::read
  - pldm::responder::DumpHandler::newFileAvailableWithMetaData
  - pldm::responder::DumpHandler::findDumpObjPath
  - pldm::responder::DumpHandler::newFileAvailable
  - pldm::responder::DumpHandler::getOffloadUri
  - pldm::responder::DumpHandler::writeFromMemory
  - pldm::responder::DumpHandler::write
  - pldm::responder::DumpHandler::fileAck
  - pldm::responder::DumpHandler::readIntoMemory
  - pldm::responder::DumpHandler::read
  - pldm::responder::DumpHandler::newFileAvailableWithMetaData
  - pldm::responder::DumpHandler::findDumpObjPath
  - pldm::responder::DumpHandler::newFileAvailable
  - pldm::responder::DumpHandler::getOffloadUri
  - pldm::responder::DumpHandler::writeFromMemory
  - pldm::responder::DumpHandler::write
  - pldm::responder::DumpHandler::fileAck
  - pldm::responder::DumpHandler::readIntoMemory
  - pldm::responder::DumpHandler::read
  - pldm::responder::DumpHandler::newFileAvailableWithMetaData
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::dma::transferAll
  - pldm::responder::dma::transferAll
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::dma::transferAll
  - pldm::responder::dma::transferAll
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::dma::transferAll
  - pldm::responder::dma::transferAll
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::dma::transferAll
  - pldm::responder::dma::transferAll
  - pldm::responder::oem_ibm::Handler::Handler
  - pldm::responder::oem_ibm::Handler::Handler
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::PCIeInfoHandler::readIntoMemory
  - pldm::responder::PCIeInfoHandler::read
  - pldm::responder::PCIeInfoHandler::newFileAvailable
  - pldm::responder::PCIeInfoHandler::fileAckWithMetaData
  - pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
  - ~PCIeInfoHandler() override
  - pldm::responder::PCIeInfoHandler::readIntoMemory
  - pldm::responder::PCIeInfoHandler::read
  - pldm::responder::PCIeInfoHandler::newFileAvailable
  - pldm::responder::PCIeInfoHandler::fileAckWithMetaData
  - pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
  - ~PCIeInfoHandler() override
  - pldm::responder::PCIeInfoHandler::readIntoMemory
  - pldm::responder::PCIeInfoHandler::read
  - pldm::responder::PCIeInfoHandler::newFileAvailable
  - pldm::responder::PCIeInfoHandler::fileAckWithMetaData
  - pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
  - ~PCIeInfoHandler() override
  - pldm::responder::PCIeInfoHandler::readIntoMemory
  - pldm::responder::PCIeInfoHandler::read
  - pldm::responder::PCIeInfoHandler::newFileAvailable
  - pldm::responder::PCIeInfoHandler::fileAckWithMetaData
  - pldm::responder::PCIeInfoHandler::newFileAvailableWithMetaData
  - ~PCIeInfoHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
  types:
    enum:
    - enumerators:
      - name: Primary
        value: '0x0'
      - name: Unknown
        value: '0xFF'
      - name: OpenCAPI
        value: '0x2'
      - name: Secondary
        value: '0x1'
      item_type: enum
      name: linkTypeData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - enumerators:
      - name: Primary
        value: '0x0'
      - name: Unknown
        value: '0xFF'
      - name: OpenCAPI
        value: '0x2'
      - name: Secondary
        value: '0x1'
      item_type: enum
      name: linkTypeData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - enumerators:
      - name: Primary
        value: '0x0'
      - name: Unknown
        value: '0xFF'
      - name: OpenCAPI
        value: '0x2'
      - name: Secondary
        value: '0x1'
      item_type: enum
      name: linkTypeData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - enumerators:
      - name: Primary
        value: '0x0'
      - name: Unknown
        value: '0xFF'
      - name: OpenCAPI
        value: '0x2'
      - name: Secondary
        value: '0x1'
      item_type: enum
      name: linkTypeData
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: numSlotLocCodes
        type: uint8_t
      - name: slotLocCodesCmnPrtSize
        type: uint8_t
      - name: slotLocCodesCmnPrt[1]
        type: uint8_t
      item_type: struct
      name: slotLocCode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: slotLocCodeSz
        type: uint8_t
      - name: slotLocCodeSuf[1]
        type: uint8_t
      item_type: struct
      name: slotLocCodeSuf
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: parentLinkId
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: hubDrcIndex
        type: uint32_t
      - name: linkStatus
        type: uint8_t
      - name: linkType
        type: pldm::responder::linkTypeData
      - name: reserved2
        type: uint16_t
      - name: linkSpeed
        type: uint8_t
      - name: linkWidth
        type: uint8_t
      - name: pcieHostBridgeLocCodeSize
        type: uint8_t
      - name: pcieHostBridgeLocCodeOff
        type: uint16_t
      - name: topLocalPortLocCodeSize
        type: uint8_t
      - name: topLocalPortLocCodeOff
        type: uint16_t
      - name: bottomLocalPortLocCodeSize
        type: uint8_t
      - name: bottomLocalPortLocCodeOff
        type: uint16_t
      - name: topRemotePortLocCodeSize
        type: uint8_t
      - name: topRemotePortLocCodeOff
        type: uint16_t
      - name: bottomRemotePortLocCodeSize
        type: uint8_t
      - name: bottomRemotePortLocCodeOff
        type: uint16_t
      - name: slotLocCodesOffset
        type: uint16_t
      - name: pciLinkEntryLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkEntry
      pos:
        line_end: 65
        line_start: 39
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: totalDataSize
        type: uint32_t
      - name: numPcieLinkEntries
        type: int16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkEntry[1]
        type: pcieLinkEntry
      item_type: struct
      name: topologyBlob
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: cableLength
        type: uint8_t
      - name: cableType
        type: uint8_t
      - name: cableStatus
        type: uint8_t
      - name: hostPortLocationCodeSize
        type: uint8_t
      - name: ioEnclosurePortLocationCodeSize
        type: uint8_t
      - name: cablePartNumberSize
        type: uint8_t
      - name: hostPortLocationCodeOffset
        type: uint16_t
      - name: ioEnclosurePortLocationCodeOffset
        type: uint16_t
      - name: cablePartNumberOffset
        type: uint16_t
      - name: cableAttrLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkCableAttr
      pos:
        line_end: 120
        line_start: 102
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: lengthOfResponse
        type: uint32_t
      - name: numOfCables
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkCableAttr[1]
        type: pcieLinkCableAttr
      item_type: struct
      name: cableAttributesList
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: numSlotLocCodes
        type: uint8_t
      - name: slotLocCodesCmnPrtSize
        type: uint8_t
      - name: slotLocCodesCmnPrt[1]
        type: uint8_t
      item_type: struct
      name: slotLocCode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: slotLocCodeSz
        type: uint8_t
      - name: slotLocCodeSuf[1]
        type: uint8_t
      item_type: struct
      name: slotLocCodeSuf
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: parentLinkId
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: hubDrcIndex
        type: uint32_t
      - name: linkStatus
        type: uint8_t
      - name: linkType
        type: pldm::responder::linkTypeData
      - name: reserved2
        type: uint16_t
      - name: linkSpeed
        type: uint8_t
      - name: linkWidth
        type: uint8_t
      - name: pcieHostBridgeLocCodeSize
        type: uint8_t
      - name: pcieHostBridgeLocCodeOff
        type: uint16_t
      - name: topLocalPortLocCodeSize
        type: uint8_t
      - name: topLocalPortLocCodeOff
        type: uint16_t
      - name: bottomLocalPortLocCodeSize
        type: uint8_t
      - name: bottomLocalPortLocCodeOff
        type: uint16_t
      - name: topRemotePortLocCodeSize
        type: uint8_t
      - name: topRemotePortLocCodeOff
        type: uint16_t
      - name: bottomRemotePortLocCodeSize
        type: uint8_t
      - name: bottomRemotePortLocCodeOff
        type: uint16_t
      - name: slotLocCodesOffset
        type: uint16_t
      - name: pciLinkEntryLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkEntry
      pos:
        line_end: 65
        line_start: 39
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: totalDataSize
        type: uint32_t
      - name: numPcieLinkEntries
        type: int16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkEntry[1]
        type: pcieLinkEntry
      item_type: struct
      name: topologyBlob
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: cableLength
        type: uint8_t
      - name: cableType
        type: uint8_t
      - name: cableStatus
        type: uint8_t
      - name: hostPortLocationCodeSize
        type: uint8_t
      - name: ioEnclosurePortLocationCodeSize
        type: uint8_t
      - name: cablePartNumberSize
        type: uint8_t
      - name: hostPortLocationCodeOffset
        type: uint16_t
      - name: ioEnclosurePortLocationCodeOffset
        type: uint16_t
      - name: cablePartNumberOffset
        type: uint16_t
      - name: cableAttrLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkCableAttr
      pos:
        line_end: 120
        line_start: 102
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: lengthOfResponse
        type: uint32_t
      - name: numOfCables
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkCableAttr[1]
        type: pcieLinkCableAttr
      item_type: struct
      name: cableAttributesList
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: numSlotLocCodes
        type: uint8_t
      - name: slotLocCodesCmnPrtSize
        type: uint8_t
      - name: slotLocCodesCmnPrt[1]
        type: uint8_t
      item_type: struct
      name: slotLocCode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: slotLocCodeSz
        type: uint8_t
      - name: slotLocCodeSuf[1]
        type: uint8_t
      item_type: struct
      name: slotLocCodeSuf
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: parentLinkId
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: hubDrcIndex
        type: uint32_t
      - name: linkStatus
        type: uint8_t
      - name: linkType
        type: pldm::responder::linkTypeData
      - name: reserved2
        type: uint16_t
      - name: linkSpeed
        type: uint8_t
      - name: linkWidth
        type: uint8_t
      - name: pcieHostBridgeLocCodeSize
        type: uint8_t
      - name: pcieHostBridgeLocCodeOff
        type: uint16_t
      - name: topLocalPortLocCodeSize
        type: uint8_t
      - name: topLocalPortLocCodeOff
        type: uint16_t
      - name: bottomLocalPortLocCodeSize
        type: uint8_t
      - name: bottomLocalPortLocCodeOff
        type: uint16_t
      - name: topRemotePortLocCodeSize
        type: uint8_t
      - name: topRemotePortLocCodeOff
        type: uint16_t
      - name: bottomRemotePortLocCodeSize
        type: uint8_t
      - name: bottomRemotePortLocCodeOff
        type: uint16_t
      - name: slotLocCodesOffset
        type: uint16_t
      - name: pciLinkEntryLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkEntry
      pos:
        line_end: 65
        line_start: 39
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: totalDataSize
        type: uint32_t
      - name: numPcieLinkEntries
        type: int16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkEntry[1]
        type: pcieLinkEntry
      item_type: struct
      name: topologyBlob
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: cableLength
        type: uint8_t
      - name: cableType
        type: uint8_t
      - name: cableStatus
        type: uint8_t
      - name: hostPortLocationCodeSize
        type: uint8_t
      - name: ioEnclosurePortLocationCodeSize
        type: uint8_t
      - name: cablePartNumberSize
        type: uint8_t
      - name: hostPortLocationCodeOffset
        type: uint16_t
      - name: ioEnclosurePortLocationCodeOffset
        type: uint16_t
      - name: cablePartNumberOffset
        type: uint16_t
      - name: cableAttrLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkCableAttr
      pos:
        line_end: 120
        line_start: 102
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: lengthOfResponse
        type: uint32_t
      - name: numOfCables
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkCableAttr[1]
        type: pcieLinkCableAttr
      item_type: struct
      name: cableAttributesList
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: numSlotLocCodes
        type: uint8_t
      - name: slotLocCodesCmnPrtSize
        type: uint8_t
      - name: slotLocCodesCmnPrt[1]
        type: uint8_t
      item_type: struct
      name: slotLocCode
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: slotLocCodeSz
        type: uint8_t
      - name: slotLocCodeSuf[1]
        type: uint8_t
      item_type: struct
      name: slotLocCodeSuf
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: parentLinkId
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: hubDrcIndex
        type: uint32_t
      - name: linkStatus
        type: uint8_t
      - name: linkType
        type: pldm::responder::linkTypeData
      - name: reserved2
        type: uint16_t
      - name: linkSpeed
        type: uint8_t
      - name: linkWidth
        type: uint8_t
      - name: pcieHostBridgeLocCodeSize
        type: uint8_t
      - name: pcieHostBridgeLocCodeOff
        type: uint16_t
      - name: topLocalPortLocCodeSize
        type: uint8_t
      - name: topLocalPortLocCodeOff
        type: uint16_t
      - name: bottomLocalPortLocCodeSize
        type: uint8_t
      - name: bottomLocalPortLocCodeOff
        type: uint16_t
      - name: topRemotePortLocCodeSize
        type: uint8_t
      - name: topRemotePortLocCodeOff
        type: uint16_t
      - name: bottomRemotePortLocCodeSize
        type: uint8_t
      - name: bottomRemotePortLocCodeOff
        type: uint16_t
      - name: slotLocCodesOffset
        type: uint16_t
      - name: pciLinkEntryLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkEntry
      pos:
        line_end: 65
        line_start: 39
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: totalDataSize
        type: uint32_t
      - name: numPcieLinkEntries
        type: int16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkEntry[1]
        type: pcieLinkEntry
      item_type: struct
      name: topologyBlob
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: entryLength
        type: uint16_t
      - name: version
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: linkId
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: linkDrcIndex
        type: uint32_t
      - name: cableLength
        type: uint8_t
      - name: cableType
        type: uint8_t
      - name: cableStatus
        type: uint8_t
      - name: hostPortLocationCodeSize
        type: uint8_t
      - name: ioEnclosurePortLocationCodeSize
        type: uint8_t
      - name: cablePartNumberSize
        type: uint8_t
      - name: hostPortLocationCodeOffset
        type: uint16_t
      - name: ioEnclosurePortLocationCodeOffset
        type: uint16_t
      - name: cablePartNumberOffset
        type: uint16_t
      - name: cableAttrLocCode[1]
        type: uint8_t
      item_type: struct
      name: pcieLinkCableAttr
      pos:
        line_end: 120
        line_start: 102
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    - fields:
      - name: lengthOfResponse
        type: uint32_t
      - name: numOfCables
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: pciLinkCableAttr[1]
        type: pcieLinkCableAttr
      item_type: struct
      name: cableAttributesList
      pos:
        line_end: 128
        line_start: 122
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::keywordHandler::keywordHandler
  - pldm::responder::keywordHandler::writeFromMemory
  - pldm::responder::keywordHandler::readIntoMemory
  - pldm::responder::keywordHandler::write
  - pldm::responder::keywordHandler::fileAck
  - pldm::responder::keywordHandler::newFileAvailable
  - pldm::responder::keywordHandler::fileAckWithMetaData
  - pldm::responder::keywordHandler::newFileAvailableWithMetaData
  - ~keywordHandler() override
  - pldm::responder::keywordHandler::keywordHandler
  - pldm::responder::keywordHandler::writeFromMemory
  - pldm::responder::keywordHandler::readIntoMemory
  - pldm::responder::keywordHandler::write
  - pldm::responder::keywordHandler::fileAck
  - pldm::responder::keywordHandler::newFileAvailable
  - pldm::responder::keywordHandler::fileAckWithMetaData
  - pldm::responder::keywordHandler::newFileAvailableWithMetaData
  - ~keywordHandler() override
  - pldm::responder::keywordHandler::keywordHandler
  - pldm::responder::keywordHandler::writeFromMemory
  - pldm::responder::keywordHandler::readIntoMemory
  - pldm::responder::keywordHandler::write
  - pldm::responder::keywordHandler::fileAck
  - pldm::responder::keywordHandler::newFileAvailable
  - pldm::responder::keywordHandler::fileAckWithMetaData
  - pldm::responder::keywordHandler::newFileAvailableWithMetaData
  - ~keywordHandler() override
  - pldm::responder::keywordHandler::keywordHandler
  - pldm::responder::keywordHandler::writeFromMemory
  - pldm::responder::keywordHandler::readIntoMemory
  - pldm::responder::keywordHandler::write
  - pldm::responder::keywordHandler::fileAck
  - pldm::responder::keywordHandler::newFileAvailable
  - pldm::responder::keywordHandler::fileAckWithMetaData
  - pldm::responder::keywordHandler::newFileAvailableWithMetaData
  - ~keywordHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::FileHandler::transferFileDataToSocket
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::getHandlerByType
  - pldm::responder::FileHandler::readFile
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::FileHandler::transferFileDataToSocket
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::getHandlerByType
  - pldm::responder::FileHandler::readFile
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::FileHandler::transferFileDataToSocket
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::getHandlerByType
  - pldm::responder::FileHandler::readFile
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::FileHandler::transferFileDataToSocket
  - pldm::responder::FileHandler::transferFileData
  - pldm::responder::getHandlerByType
  - pldm::responder::FileHandler::readFile
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::dma::DMA::transferHostDataToSocket
  - pldm::responder::dma::DMA::transferDataHost
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  - pldm::responder::oem_ibm::encodeRWResponseHandler
  - pldm::responder::oem_ibm::encodeReadResponseHandler
  - pldm::responder::oem_ibm::encodeWriteResponseHandler
  - pldm::responder::oem_ibm::encodeGetFileResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeMemoryResponseHandler
  - pldm::responder::oem_ibm::encodeRWTypeResponseHandler
  - pldm::responder::oem_ibm::encodeFileAckResponseHandler
  - pldm::responder::oem_ibm::Handler::readFileIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileFromMemory
  - pldm::responder::oem_ibm::Handler::getFileTable
  - pldm::responder::oem_ibm::Handler::readFile
  - pldm::responder::oem_ibm::Handler::writeFile
  - pldm::responder::oem_ibm::rwFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByTypeFromMemory
  - pldm::responder::oem_ibm::Handler::readFileByTypeIntoMemory
  - pldm::responder::oem_ibm::Handler::writeFileByType
  - pldm::responder::oem_ibm::Handler::readFileByType
  - pldm::responder::oem_ibm::Handler::fileAck
  - pldm::responder::oem_ibm::Handler::getAlertStatus
  - pldm::responder::oem_ibm::Handler::newFileAvailable
  - pldm::responder::oem_ibm::Handler::fileAckWithMetaData
  - pldm::responder::oem_ibm::Handler::newFileAvailableWithMetaData
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    - fields:
      - name: hostAddr
        type: uint64_t
      - name: len
        type: uint32_t
      - name: upstream
        type: uint32_t
      item_type: struct
      name: AspeedXdmaOp
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io.cpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_ibm_utils::Handler::Handler
  - ~Handler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::PelHandler::PelHandler
  - pldm::responder::PelHandler::fileAckWithMetaData
  - pldm::responder::PelHandler::newFileAvailable
  - pldm::responder::PelHandler::newFileAvailableWithMetaData
  - ~PelHandler() override
  - pldm::responder::PelHandler::PelHandler
  - pldm::responder::PelHandler::fileAckWithMetaData
  - pldm::responder::PelHandler::newFileAvailable
  - pldm::responder::PelHandler::newFileAvailableWithMetaData
  - ~PelHandler() override
  - pldm::responder::PelHandler::PelHandler
  - pldm::responder::PelHandler::fileAckWithMetaData
  - pldm::responder::PelHandler::newFileAvailable
  - pldm::responder::PelHandler::newFileAvailableWithMetaData
  - ~PelHandler() override
  - pldm::responder::PelHandler::PelHandler
  - pldm::responder::PelHandler::fileAckWithMetaData
  - pldm::responder::PelHandler::newFileAvailable
  - pldm::responder::PelHandler::newFileAvailableWithMetaData
  - ~PelHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  - pldm::responder::oem_ibm_fru::Handler::Handler
  - '& getAssociateEntityMap()'
  - ~Handler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    - fields:
      - name: vendorId
        type: uint16_t
      - name: deviceId
        type: uint16_t
      - name: first_reserved
        type: uint32_t
      - name: revisionId
        type: uint8_t
      - name: classCode
        type: std::array<uint8_t, 3>
      - name: second_reserved[8]
        type: uint32_t
      - name: subSystemVendorId
        type: uint16_t
      - name: subSystemId
        type: uint16_t
      - name: last_reserved[4]
        type: uint32_t
      item_type: struct
      name: PcieConfigSpaceData
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/pldm/oem/ibm/libpldmresponder/fru_oem_ibm.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::filetable::FileTable::FileTable
  - FileTable::operator()() const
  - pldm::filetable::buildFileTable
  - pldm::filetable::clearFileTable
  - pldm::filetable::FileTable::FileTable
  - FileTable::operator()() const
  - pldm::filetable::buildFileTable
  - pldm::filetable::clearFileTable
  - pldm::filetable::FileTable::FileTable
  - FileTable::operator()() const
  - pldm::filetable::buildFileTable
  - pldm::filetable::clearFileTable
  - pldm::filetable::FileTable::FileTable
  - FileTable::operator()() const
  - pldm::filetable::buildFileTable
  - pldm::filetable::clearFileTable
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_table.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::PCIeInfoHandler::PCIeInfoHandler
  - pldm::responder::PCIeInfoHandler::writeFromMemory
  - pldm::responder::PCIeInfoHandler::write
  - pldm::responder::PCIeInfoHandler::fileAck
  - pldm::responder::PCIeInfoHandler::parseTopologyData
  - pldm::responder::PCIeInfoHandler::parseCableInfo
  - pldm::responder::PCIeInfoHandler::PCIeInfoHandler
  - pldm::responder::PCIeInfoHandler::writeFromMemory
  - pldm::responder::PCIeInfoHandler::write
  - pldm::responder::PCIeInfoHandler::fileAck
  - pldm::responder::PCIeInfoHandler::parseTopologyData
  - pldm::responder::PCIeInfoHandler::parseCableInfo
  - pldm::responder::PCIeInfoHandler::PCIeInfoHandler
  - pldm::responder::PCIeInfoHandler::writeFromMemory
  - pldm::responder::PCIeInfoHandler::write
  - pldm::responder::PCIeInfoHandler::fileAck
  - pldm::responder::PCIeInfoHandler::parseTopologyData
  - pldm::responder::PCIeInfoHandler::parseCableInfo
  - pldm::responder::PCIeInfoHandler::PCIeInfoHandler
  - pldm::responder::PCIeInfoHandler::writeFromMemory
  - pldm::responder::PCIeInfoHandler::write
  - pldm::responder::PCIeInfoHandler::fileAck
  - pldm::responder::PCIeInfoHandler::parseTopologyData
  - pldm::responder::PCIeInfoHandler::parseCableInfo
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_pcie.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::keywordHandler::read
  - pldm::responder::keywordHandler::read
  - pldm::responder::keywordHandler::read
  - pldm::responder::keywordHandler::read
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: byte
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_vpd.cpp
      type: uint8_t
    union: []
- function_names:
  - pldm::responder::LidHandler::LidHandler
  - pldm::responder::LidHandler::constructLIDPath
  - pldm::responder::LidHandler::writeFromMemory
  - pldm::responder::LidHandler::readIntoMemory
  - pldm::responder::LidHandler::write
  - pldm::responder::LidHandler::read
  - pldm::responder::LidHandler::fileAck
  - pldm::responder::LidHandler::newFileAvailable
  - pldm::responder::LidHandler::fileAckWithMetaData
  - pldm::responder::LidHandler::newFileAvailableWithMetaData
  - ~LidHandler() override
  - pldm::responder::LidHandler::LidHandler
  - pldm::responder::LidHandler::constructLIDPath
  - pldm::responder::LidHandler::writeFromMemory
  - pldm::responder::LidHandler::readIntoMemory
  - pldm::responder::LidHandler::write
  - pldm::responder::LidHandler::read
  - pldm::responder::LidHandler::fileAck
  - pldm::responder::LidHandler::newFileAvailable
  - pldm::responder::LidHandler::fileAckWithMetaData
  - pldm::responder::LidHandler::newFileAvailableWithMetaData
  - ~LidHandler() override
  - pldm::responder::LidHandler::LidHandler
  - pldm::responder::LidHandler::constructLIDPath
  - pldm::responder::LidHandler::writeFromMemory
  - pldm::responder::LidHandler::readIntoMemory
  - pldm::responder::LidHandler::write
  - pldm::responder::LidHandler::read
  - pldm::responder::LidHandler::fileAck
  - pldm::responder::LidHandler::newFileAvailable
  - pldm::responder::LidHandler::fileAckWithMetaData
  - pldm::responder::LidHandler::newFileAvailableWithMetaData
  - ~LidHandler() override
  - pldm::responder::LidHandler::LidHandler
  - pldm::responder::LidHandler::constructLIDPath
  - pldm::responder::LidHandler::writeFromMemory
  - pldm::responder::LidHandler::readIntoMemory
  - pldm::responder::LidHandler::write
  - pldm::responder::LidHandler::read
  - pldm::responder::LidHandler::fileAck
  - pldm::responder::LidHandler::newFileAvailable
  - pldm::responder::LidHandler::fileAckWithMetaData
  - pldm::responder::LidHandler::newFileAvailableWithMetaData
  - ~LidHandler() override
  source_file: /src/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::getEffecterID
  - pldm::led::HostLampTest::setHostStateEffecter
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::getEffecterID
  - pldm::led::HostLampTest::setHostStateEffecter
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::getEffecterID
  - pldm::led::HostLampTest::setHostStateEffecter
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::asserted
  - pldm::led::HostLampTest::getEffecterID
  - pldm::led::HostLampTest::setHostStateEffecter
  source_file: /src/pldm/oem/ibm/host-bmc/host_lamp_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~HostLampTestInterfaces()
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTest() override
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(const HostLampTest&)'
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(HostLampTest&&)'
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTestInterfaces()
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTest() override
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(const HostLampTest&)'
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(HostLampTest&&)'
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTestInterfaces()
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTest() override
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(const HostLampTest&)'
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(HostLampTest&&)'
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTestInterfaces()
  - pldm::led::HostLampTest::HostLampTest
  - ~HostLampTest() override
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(const HostLampTest&)'
  - pldm::led::HostLampTest::HostLampTest
  - '& operator=(HostLampTest&&)'
  - pldm::led::HostLampTest::HostLampTest
  source_file: /src/pldm/oem/ibm/host-bmc/host_lamp_test.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::sendNewFileAvailableCmd
  - pldm::requester::oem_ibm::DbusToFileHandler::reportResourceDumpFailure
  - pldm::requester::oem_ibm::DbusToFileHandler::processNewResourceDump
  - pldm::requester::oem_ibm::DbusToFileHandler::getAcfFileContent
  - pldm::requester::oem_ibm::DbusToFileHandler::newCsrFileAvailable
  - pldm::requester::oem_ibm::DbusToFileHandler::newFileAvailableSendToHost
  source_file: /src/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - pldm::requester::oem_ibm::DbusToFileHandler::DbusToFileHandler
  - '& operator=(const DbusToFileHandler&)'
  - '& operator=(DbusToFileHandler&&)'
  - ~DbusToFileHandler()
  source_file: /src/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_meta::mapTIDtoEID
  - pldm::oem_meta::mapTIDtoEID
  - pldm::oem_meta::checkMetaIana
  - pldm::oem_meta::getSlotNumberStringByTID
  - pldm::oem_meta::mapTIDtoEID
  - pldm::oem_meta::mapTIDtoEID
  - pldm::oem_meta::checkMetaIana
  - pldm::oem_meta::getSlotNumberStringByTID
  source_file: /src/pldm/oem/meta/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_meta::OemMETA::OemMETA
  - pldm::oem_meta::OemMETA::OemMETA
  - '& operator=(const OemMETA&)'
  - pldm::oem_meta::OemMETA::OemMETA
  - '& operator=(OemMETA&&)'
  - pldm::oem_meta::OemMETA::OemMETA
  - pldm::oem_meta::OemMETA::OemMETA
  - '& operator=(const OemMETA&)'
  - pldm::oem_meta::OemMETA::OemMETA
  - '& operator=(OemMETA&&)'
  source_file: /src/pldm/oem/meta/oem_meta.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_meta::OemMETA::OemMETA
  - pldm::oem_meta::OemMETA::registerOemEventHandler
  - pldm::oem_meta::OemMETA::registerOemHandler
  - pldm::oem_meta::OemMETA::OemMETA
  - pldm::oem_meta::OemMETA::registerOemEventHandler
  - pldm::oem_meta::OemMETA::registerOemHandler
  source_file: /src/pldm/oem/meta/oem_meta.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/oem/meta/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_meta::OemEventManager::processOemMetaEvent
  - pldm::oem_meta::OemEventManager::handleOemEvent
  - pldm::oem_meta::OemEventManager::handleSystemEvent
  - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
  - pldm::oem_meta::OemEventManager::handleMemoryError
  - pldm::oem_meta::OemEventManager::handleSystemPostEvent
  - pldm::oem_meta::OemEventManager::processOemMetaEvent
  - pldm::oem_meta::OemEventManager::handleOemEvent
  - pldm::oem_meta::OemEventManager::handleSystemEvent
  - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
  - pldm::oem_meta::OemEventManager::handleMemoryError
  - pldm::oem_meta::OemEventManager::handleSystemPostEvent
  - pldm::oem_meta::OemEventManager::processOemMetaEvent
  - pldm::oem_meta::OemEventManager::handleOemEvent
  - pldm::oem_meta::OemEventManager::handleSystemEvent
  - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
  - pldm::oem_meta::OemEventManager::handleMemoryError
  - pldm::oem_meta::OemEventManager::handleSystemPostEvent
  - pldm::oem_meta::OemEventManager::processOemMetaEvent
  - pldm::oem_meta::OemEventManager::handleOemEvent
  - pldm::oem_meta::OemEventManager::handleSystemEvent
  - pldm::oem_meta::OemEventManager::handleUnifiedBIOSEvent
  - pldm::oem_meta::OemEventManager::handleMemoryError
  - pldm::oem_meta::OemEventManager::handleSystemPostEvent
  source_file: /src/pldm/oem/meta/event/oem_event_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/oem/meta/event/types.hpp
  types:
    enum:
    - enumerators:
      - name: SYSTEM_EVENT_RECORD
        value: '0x02'
      - name: UNIFIED_BIOS_SEL
        value: '0xFB'
      item_type: enum
      name: RecordType
      pos:
        line_end: 12
        line_start: 8
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: SYSTEM_PROCESSOR_ERR
        value: '0x7'
      - name: SYSTEM_POST_ERR
        value: '0x1E'
      - name: SYSTEM_CXL_ERR
        value: '0xC1'
      - name: SYSTEM_CXL_ERR_2_0
        value: '0xC2'
      item_type: enum
      name: SystemError
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PROTOCOL_ERR
        value: '0x1'
      - name: COMPONENT_ERR
        value: '0x2'
      item_type: enum
      name: CxlError
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PROTOCOL_ERR
        value: '0x1'
      - name: COMPONENT_ERR
        value: '0x2'
      item_type: enum
      name: CxlError2
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MACHINE_CHK_ERR
        value: '0x40'
      item_type: enum
      name: ProcessorError
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: SYSTEM_FIRMWARE_ERROR
        value: '0x2B'
      item_type: enum
      name: SystemPostError
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UNCORRECT_SYSTEM_FATAL_ERR
        value: '0xB'
      - name: CORRECTABLE_SYSTEM_ERR
        value: '0xC'
      item_type: enum
      name: ProcessorSeverity
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UNIFIED_PCIE_ERR
        value: '0x0'
      - name: UNIFIED_MEM_ERR
        value: '0x1'
      - name: UNIFIED_UPI_ERR
        value: '0x2'
      - name: UNIFIED_IIO_ERR
        value: '0x3'
      - name: UNIFIED_MCA_ERR
        value: '0x4'
      - name: UNIFIED_MCA_ERR_EXT
        value: '0x5'
      - name: UNIFIED_RP_PIO_1st
        value: '0x6'
      - name: UNIFIED_RP_PIO_2nd
        value: '0x7'
      - name: UNIFIED_POST_EVENT
        value: '0x8'
      - name: UNIFIED_PCIE_EVENT
        value: '0x9'
      - name: UNIFIED_PPR_EVENT
        value: '0xD'
      - name: UNIFIED_BOOT_GUARD
        value: '0xC'
      - name: UNIFIED_UPI_EVENT
        value: '0xB'
      - name: UNIFIED_CXL_MEM_ERR
        value: '0xE'
      - name: UNIFIED_MEM_EVENT
        value: '0xA'
      item_type: enum
      name: UnifiedError
      pos:
        line_end: 67
        line_start: 50
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MEMORY_TRAINING_ERR
        value: '0x0'
      - name: MEMORY_CORRECTABLE_ERR
        value: '0x1'
      - name: MEMORY_UNCORRECTABLE_ERR
        value: '0x2'
      - name: MEMORY_CORR_ERR_PTRL_SCR
        value: '0x3'
      - name: MEMORY_UNCORR_ERR_PTRL_SCR
        value: '0x4'
      - name: MEMORY_PARITY_ERR_PCC0
        value: '0x5'
      - name: MEMORY_PARITY_ERR_PCC1
        value: '0x6'
      - name: MEMORY_PMIC_ERR
        value: '0x7'
      - name: MEMORY_CXL_TRAINNING_ERR
        value: '0x8'
      - name: MEMORY_CXL_MEM_SPD_CRC_ERR
        value: '0x9'
      - name: MEMORY_CXL_MEM_SPD_NULL_DATA_ERR
        value: '0xA'
      - name: MEMORY_CXL_MEM_INIT_TIMEOUT_ERR
        value: '0xB'
      item_type: enum
      name: MemoryError
      pos:
        line_end: 83
        line_start: 69
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: POST_PXE_BOOT_FAIL
        value: '0x0'
      - name: POST_CMOS_CLEARED
        value: '0x1'
      - name: POST_TPM_SELF_TEST_FAIL
        value: '0x2'
      - name: POST_BOOT_DRIVE_FAIL
        value: '0x3'
      - name: POST_DATA_DRIVE_FAIL
        value: '0x4'
      - name: POST_INVALID_BOOT_ORDER
        value: '0x5'
      - name: POST_HTTP_BOOT_FAIL
        value: '0x6'
      - name: POST_GET_CERT_FAIL
        value: '0x7'
      - name: POST_PASSWD_CLEARED_BY_JUMPER
        value: '0x8'
      - name: POST_DXE_FV_CHK_FAIL
        value: '0x9'
      - name: POST_DRAM_CHANNEL_RETIRED
        value: '0xC'
      - name: POST_DRAM_PAGE_RETIRED
        value: '0xB'
      - name: POST_CXL_ERR_RECORD_CLEARED_BY_BIOS
        value: '0xE'
      - name: POST_AMD_ABL_FAIL
        value: '0xA'
      - name: POST_CXL_NOT_READY
        value: '0xD'
      item_type: enum
      name: PostError
      pos:
        line_end: 102
        line_start: 85
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PCIE_DPC
        value: '0x0'
      item_type: enum
      name: PcieEvent
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MEM_PPR
        value: '0x0'
      - name: MEM_ADDDC
        value: '0x5'
      - name: MEM_NO_DIMM
        value: '0x7'
      - name: MEM_CXL_POST_PPR
        value: '0x8'
      item_type: enum
      name: MemoryEvent
      pos:
        line_end: 115
        line_start: 109
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UPI_INIT_ERR
        value: '0x0'
      item_type: enum
      name: UpiError
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: SYSTEM_EVENT_RECORD
        value: '0x02'
      - name: UNIFIED_BIOS_SEL
        value: '0xFB'
      item_type: enum
      name: RecordType
      pos:
        line_end: 12
        line_start: 8
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: SYSTEM_PROCESSOR_ERR
        value: '0x7'
      - name: SYSTEM_POST_ERR
        value: '0x1E'
      - name: SYSTEM_CXL_ERR
        value: '0xC1'
      - name: SYSTEM_CXL_ERR_2_0
        value: '0xC2'
      item_type: enum
      name: SystemError
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PROTOCOL_ERR
        value: '0x1'
      - name: COMPONENT_ERR
        value: '0x2'
      item_type: enum
      name: CxlError
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PROTOCOL_ERR
        value: '0x1'
      - name: COMPONENT_ERR
        value: '0x2'
      item_type: enum
      name: CxlError2
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MACHINE_CHK_ERR
        value: '0x40'
      item_type: enum
      name: ProcessorError
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: SYSTEM_FIRMWARE_ERROR
        value: '0x2B'
      item_type: enum
      name: SystemPostError
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UNCORRECT_SYSTEM_FATAL_ERR
        value: '0xB'
      - name: CORRECTABLE_SYSTEM_ERR
        value: '0xC'
      item_type: enum
      name: ProcessorSeverity
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UNIFIED_PCIE_ERR
        value: '0x0'
      - name: UNIFIED_MEM_ERR
        value: '0x1'
      - name: UNIFIED_UPI_ERR
        value: '0x2'
      - name: UNIFIED_IIO_ERR
        value: '0x3'
      - name: UNIFIED_MCA_ERR
        value: '0x4'
      - name: UNIFIED_MCA_ERR_EXT
        value: '0x5'
      - name: UNIFIED_RP_PIO_1st
        value: '0x6'
      - name: UNIFIED_RP_PIO_2nd
        value: '0x7'
      - name: UNIFIED_POST_EVENT
        value: '0x8'
      - name: UNIFIED_PCIE_EVENT
        value: '0x9'
      - name: UNIFIED_PPR_EVENT
        value: '0xD'
      - name: UNIFIED_BOOT_GUARD
        value: '0xC'
      - name: UNIFIED_UPI_EVENT
        value: '0xB'
      - name: UNIFIED_CXL_MEM_ERR
        value: '0xE'
      - name: UNIFIED_MEM_EVENT
        value: '0xA'
      item_type: enum
      name: UnifiedError
      pos:
        line_end: 67
        line_start: 50
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MEMORY_TRAINING_ERR
        value: '0x0'
      - name: MEMORY_CORRECTABLE_ERR
        value: '0x1'
      - name: MEMORY_UNCORRECTABLE_ERR
        value: '0x2'
      - name: MEMORY_CORR_ERR_PTRL_SCR
        value: '0x3'
      - name: MEMORY_UNCORR_ERR_PTRL_SCR
        value: '0x4'
      - name: MEMORY_PARITY_ERR_PCC0
        value: '0x5'
      - name: MEMORY_PARITY_ERR_PCC1
        value: '0x6'
      - name: MEMORY_PMIC_ERR
        value: '0x7'
      - name: MEMORY_CXL_TRAINNING_ERR
        value: '0x8'
      - name: MEMORY_CXL_MEM_SPD_CRC_ERR
        value: '0x9'
      - name: MEMORY_CXL_MEM_SPD_NULL_DATA_ERR
        value: '0xA'
      - name: MEMORY_CXL_MEM_INIT_TIMEOUT_ERR
        value: '0xB'
      item_type: enum
      name: MemoryError
      pos:
        line_end: 83
        line_start: 69
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: POST_PXE_BOOT_FAIL
        value: '0x0'
      - name: POST_CMOS_CLEARED
        value: '0x1'
      - name: POST_TPM_SELF_TEST_FAIL
        value: '0x2'
      - name: POST_BOOT_DRIVE_FAIL
        value: '0x3'
      - name: POST_DATA_DRIVE_FAIL
        value: '0x4'
      - name: POST_INVALID_BOOT_ORDER
        value: '0x5'
      - name: POST_HTTP_BOOT_FAIL
        value: '0x6'
      - name: POST_GET_CERT_FAIL
        value: '0x7'
      - name: POST_PASSWD_CLEARED_BY_JUMPER
        value: '0x8'
      - name: POST_DXE_FV_CHK_FAIL
        value: '0x9'
      - name: POST_DRAM_CHANNEL_RETIRED
        value: '0xC'
      - name: POST_DRAM_PAGE_RETIRED
        value: '0xB'
      - name: POST_CXL_ERR_RECORD_CLEARED_BY_BIOS
        value: '0xE'
      - name: POST_AMD_ABL_FAIL
        value: '0xA'
      - name: POST_CXL_NOT_READY
        value: '0xD'
      item_type: enum
      name: PostError
      pos:
        line_end: 102
        line_start: 85
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: PCIE_DPC
        value: '0x0'
      item_type: enum
      name: PcieEvent
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: MEM_PPR
        value: '0x0'
      - name: MEM_ADDDC
        value: '0x5'
      - name: MEM_NO_DIMM
        value: '0x7'
      - name: MEM_CXL_POST_PPR
        value: '0x8'
      item_type: enum
      name: MemoryEvent
      pos:
        line_end: 115
        line_start: 109
        source_file: /src/pldm/oem/meta/event/types.hpp
    - enumerators:
      - name: UPI_INIT_ERR
        value: '0x0'
      item_type: enum
      name: UpiError
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/pldm/oem/meta/event/types.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: sled
        type: uint8_t
      - name: socket
        type: uint8_t
      - name: channel
        type: uint8_t
      - name: slot
        type: uint8_t
      item_type: struct
      name: DimmInfo
      pos:
        line_end: 229
        line_start: 223
        source_file: /src/pldm/oem/meta/event/types.hpp
    - fields:
      - name: Bus
        type: uint8_t
      - name: Dev
        type: uint8_t
      - name: Fun
        type: uint8_t
      - name: '* Name'
        type: char
      item_type: struct
      name: BdfInfo
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/pldm/oem/meta/event/types.hpp
    - fields:
      - name: sled
        type: uint8_t
      - name: socket
        type: uint8_t
      - name: channel
        type: uint8_t
      - name: slot
        type: uint8_t
      item_type: struct
      name: DimmInfo
      pos:
        line_end: 229
        line_start: 223
        source_file: /src/pldm/oem/meta/event/types.hpp
    - fields:
      - name: Bus
        type: uint8_t
      - name: Dev
        type: uint8_t
      - name: Fun
        type: uint8_t
      - name: '* Name'
        type: char
      item_type: struct
      name: BdfInfo
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/pldm/oem/meta/event/types.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::oem_meta::OemEventManager::OemEventManager
  - pldm::oem_meta::OemEventManager::OemEventManager
  - pldm::oem_meta::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_meta::OemEventManager::getDimmDeviceName
  - pldm::oem_meta::OemEventManager::to_hex_string
  - pldm::oem_meta::OemEventManager::convertToDimmString
  - pldm::oem_meta::OemEventManager::getCommonDimmLocation
  - pldm::oem_meta::OemEventManager::OemEventManager
  - pldm::oem_meta::OemEventManager::OemEventManager
  - pldm::oem_meta::OemEventManager::OemEventManager
  - '& operator=(const OemEventManager&)'
  - '& operator=(OemEventManager&&)'
  - ~OemEventManager()
  - pldm::oem_meta::OemEventManager::getDimmDeviceName
  - pldm::oem_meta::OemEventManager::to_hex_string
  - pldm::oem_meta::OemEventManager::convertToDimmString
  - pldm::oem_meta::OemEventManager::getCommonDimmLocation
  source_file: /src/pldm/oem/meta/event/oem_event_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - '& operator=(const FileHandler&)'
  - '& operator=(FileHandler&&)'
  - ~FileHandler()
  - pldm::responder::oem_meta::FileHandler::write
  - pldm::responder::oem_meta::FileHandler::read
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - pldm::responder::oem_meta::FileHandler::FileHandler
  - '& operator=(const FileHandler&)'
  - '& operator=(FileHandler&&)'
  - ~FileHandler()
  - pldm::responder::oem_meta::FileHandler::write
  - pldm::responder::oem_meta::FileHandler::read
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
  types:
    enum:
    - enumerators:
      - name: POST_CODE
        value: '0x00'
      - name: APML_ALERT
        value: '0x04'
      - name: HTTP_BOOT
        value: '0x03'
      - name: POWER_CONTROL
        value: '0x02'
      - name: BIOS_VERSION
        value: '0x01'
      - name: EVENT_LOG
        value: '0x05'
      item_type: enum
      name: FileIOType
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    - enumerators:
      - name: POST_CODE
        value: '0x00'
      - name: APML_ALERT
        value: '0x04'
      - name: HTTP_BOOT
        value: '0x03'
      - name: POWER_CONTROL
        value: '0x02'
      - name: BIOS_VERSION
        value: '0x01'
      - name: EVENT_LOG
        value: '0x05'
      item_type: enum
      name: FileIOType
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_by_type.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::PowerControlHandler::write
  - pldm::responder::oem_meta::PowerControlHandler::write
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp
  types:
    enum:
    - enumerators:
      - name: SLED_CYCLE
        value: '0x00'
      - name: NIC1_POWER_CYCLE
        value: '0x04'
      - name: NIC0_POWER_CYCLE
        value: '0x03'
      - name: SLOT_DC_CYCLE
        value: '0x02'
      - name: SLOT_12V_CYCLE
        value: '0x01'
      - name: NIC2_POWER_CYCLE
        value: '0x05'
      - name: NIC3_POWER_CYCLE
        value: '0x06'
      item_type: enum
      name: POWER_CONTROL_OPTION
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp
    - enumerators:
      - name: SLED_CYCLE
        value: '0x00'
      - name: NIC1_POWER_CYCLE
        value: '0x04'
      - name: NIC0_POWER_CYCLE
        value: '0x03'
      - name: SLOT_DC_CYCLE
        value: '0x02'
      - name: SLOT_12V_CYCLE
        value: '0x01'
      - name: NIC2_POWER_CYCLE
        value: '0x05'
      - name: NIC3_POWER_CYCLE
        value: '0x06'
      item_type: enum
      name: POWER_CONTROL_OPTION
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - '& operator=(const PowerControlHandler&)'
  - '& operator=(PowerControlHandler&&)'
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - ~PowerControlHandler() override
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - '& operator=(const PowerControlHandler&)'
  - '& operator=(PowerControlHandler&&)'
  - pldm::responder::oem_meta::PowerControlHandler::PowerControlHandler
  - ~PowerControlHandler() override
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_power_control.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::HttpBootHandler::read
  - pldm::responder::oem_meta::HttpBootHandler::read
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::PostCodeHandler::write
  - pldm::responder::oem_meta::PostCodeHandler::write
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - '& operator=(const EventLogHandler&)'
  - '& operator=(EventLogHandler&&)'
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - ~EventLogHandler() override
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - '& operator=(const EventLogHandler&)'
  - '& operator=(EventLogHandler&&)'
  - pldm::responder::oem_meta::EventLogHandler::EventLogHandler
  - ~EventLogHandler() override
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - '& operator=(const PostCodeHandler&)'
  - '& operator=(PostCodeHandler&&)'
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - ~PostCodeHandler() override
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - '& operator=(const PostCodeHandler&)'
  - '& operator=(PostCodeHandler&&)'
  - pldm::responder::oem_meta::PostCodeHandler::PostCodeHandler
  - ~PostCodeHandler() override
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_post_code.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - '& operator=(const HttpBootHandler&)'
  - '& operator=(HttpBootHandler&&)'
  - ~HttpBootHandler() override
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - pldm::responder::oem_meta::HttpBootHandler::HttpBootHandler
  - '& operator=(const HttpBootHandler&)'
  - '& operator=(HttpBootHandler&&)'
  - ~HttpBootHandler() override
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_http_boot.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - '& operator=(const FileIOHandler&)'
  - '& operator=(FileIOHandler&&)'
  - ~FileIOHandler() override
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  - '& operator=(const FileIOHandler&)'
  - '& operator=(FileIOHandler&&)'
  - ~FileIOHandler() override
  - pldm::responder::oem_meta::FileIOHandler::FileIOHandler
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
  - pldm::responder::oem_meta::FileIOHandler::writeFileIO
  - pldm::responder::oem_meta::FileIOHandler::readFileIO
  - pldm::responder::oem_meta::FileIOHandler::getHandlerByType
  - pldm::responder::oem_meta::FileIOHandler::writeFileIO
  - pldm::responder::oem_meta::FileIOHandler::readFileIO
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::BIOSVersionHandler::write
  - pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
  - pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
  - pldm::responder::oem_meta::BIOSVersionHandler::write
  - pldm::responder::oem_meta::BIOSVersionHandler::checkDataIntegrity
  - pldm::responder::oem_meta::BIOSVersionHandler::convertToBIOSVersionStr
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::record::commit
  - pldm::responder::oem_meta::record::powerRailFault
  - pldm::responder::oem_meta::record::voltageRegulatorFault
  - pldm::responder::oem_meta::record::thermalFault
  - pldm::responder::oem_meta::record::commit
  - pldm::responder::oem_meta::record::powerRailFault
  - pldm::responder::oem_meta::record::voltageRegulatorFault
  - pldm::responder::oem_meta::record::thermalFault
  - pldm::responder::oem_meta::report::recordEventLog
  - pldm::responder::oem_meta::report::thermalFault
  - pldm::responder::oem_meta::report::powerRailFault
  - pldm::responder::oem_meta::report::prochotSdSensor
  - pldm::responder::oem_meta::report::mtiaFault
  - pldm::responder::oem_meta::report::rainbowFault
  - pldm::responder::oem_meta::report::reportError
  - pldm::responder::oem_meta::report::recordEventLog
  - pldm::responder::oem_meta::report::thermalFault
  - pldm::responder::oem_meta::report::powerRailFault
  - pldm::responder::oem_meta::report::prochotSdSensor
  - pldm::responder::oem_meta::report::mtiaFault
  - pldm::responder::oem_meta::report::rainbowFault
  - pldm::responder::oem_meta::report::reportError
  - pldm::responder::oem_meta::format::vrFault
  - pldm::responder::oem_meta::format::dimmPmicError
  - pldm::responder::oem_meta::format::vrFault
  - pldm::responder::oem_meta::format::dimmPmicError
  - pldm::responder::oem_meta::checkEventAssert
  - pldm::responder::oem_meta::processEventData
  - pldm::responder::oem_meta::addSystemEventLogAndJournal
  - pldm::responder::oem_meta::EventLogHandler::write
  - pldm::responder::oem_meta::record::commit
  - pldm::responder::oem_meta::record::powerRailFault
  - pldm::responder::oem_meta::record::voltageRegulatorFault
  - pldm::responder::oem_meta::record::thermalFault
  - pldm::responder::oem_meta::record::commit
  - pldm::responder::oem_meta::record::powerRailFault
  - pldm::responder::oem_meta::record::voltageRegulatorFault
  - pldm::responder::oem_meta::record::thermalFault
  - pldm::responder::oem_meta::report::recordEventLog
  - pldm::responder::oem_meta::report::thermalFault
  - pldm::responder::oem_meta::report::powerRailFault
  - pldm::responder::oem_meta::report::prochotSdSensor
  - pldm::responder::oem_meta::report::mtiaFault
  - pldm::responder::oem_meta::report::rainbowFault
  - pldm::responder::oem_meta::report::reportError
  - pldm::responder::oem_meta::report::recordEventLog
  - pldm::responder::oem_meta::report::thermalFault
  - pldm::responder::oem_meta::report::powerRailFault
  - pldm::responder::oem_meta::report::prochotSdSensor
  - pldm::responder::oem_meta::report::mtiaFault
  - pldm::responder::oem_meta::report::rainbowFault
  - pldm::responder::oem_meta::report::reportError
  - pldm::responder::oem_meta::format::vrFault
  - pldm::responder::oem_meta::format::dimmPmicError
  - pldm::responder::oem_meta::format::vrFault
  - pldm::responder::oem_meta::format::dimmPmicError
  - pldm::responder::oem_meta::checkEventAssert
  - pldm::responder::oem_meta::processEventData
  - pldm::responder::oem_meta::addSystemEventLogAndJournal
  - pldm::responder::oem_meta::EventLogHandler::write
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
  types:
    enum:
    - enumerators:
      - name: CPU_THERMAL_TRIP
        value: '0x0'
      - name: PMALERT_ASSERTION
        value: '0x3'
      - name: DIMM_PMIC_ERROR
        value: '0x7'
      - name: BIC_POWER_FAILURE
        value: '0xb'
      - name: CHASSIS_POWER_ON_IS_INITIATED_BY_NIC_INSERTION
        value: '0xf'
      - name: SYS_THROTTLE
        value: '0x13'
      - name: FAN_ERROR
        value: '0x17'
      - name: CXL1_HB
        value: '0x1b'
      - name: PROCHOT_IS_TRIGGERED_DUE_TO_SD_SENSOR_READING_EXCEED_UCR
        value: '0x1f'
      - name: OS_LOAD_WDT_EXPIRED
        value: '0x23'
      - name: RAINBOW_FAULT
        value: '0x29'
      - name: FAST_PROCHOT_ASSERTION
        value: '0x4'
      - name: ADDC_DUMP
        value: '0x8'
      - name: BLADE_IS_POWERED_CYCLE_BY_BLADE_BUTTON
        value: '0x10'
      - name: CPU_POWER_FAILURE
        value: '0xc'
      - name: VR_FAULT
        value: '0x14'
      - name: HDT_PRSNT_ASSERTION
        value: '0x18'
      - name: CXL2_HB
        value: '0x1c'
      - name: FRB2_WDT_HARD_RST
        value: '0x20'
      - name: OS_LOAD_WDT_HARD_RST
        value: '0x24'
      - name: POST_TIMEOUTED
        value: '0x28'
      - name: HSC_OCP
        value: '0x1'
      - name: FRB3_TIMER_EXPIRED
        value: '0x5'
      - name: BMC_COMES_OUT_OF_COLD_RESET
        value: '0x9'
      - name: V_BOOT_FAILURE
        value: '0xd'
      - name: CHASSIS_IS_POWERED_CYCLE_BY_SLED_BUTTON
        value: '0x11'
      - name: SYSTEM_MANAGEMENT_ERROR
        value: '0x15'
      - name: PLTRST_ASSERTION
        value: '0x19'
      - name: POST_STARTED
        value: '0x1d'
      - name: FRB2_WDT_PWR_DOWN
        value: '0x21'
      - name: OS_LOAD_WDT_PWR_DOWN
        value: '0x25'
      - name: MTIA_FAULT
        value: '0x27'
      - name: P12V_STBY_UV
        value: '0x2'
      - name: POWER_ON_SEQUENCE_FAILURE
        value: '0x6'
      - name: BIOS_FRB12_WATCHDOG_TIMER_EXPIRED
        value: '0xa'
      - name: BMC_IS_REQUESTED_TO_REBOOT
        value: '0xe'
      - name: HSC_FAULT
        value: '0x12'
      - name: POST_COMPLETED
        value: '0x16'
      - name: APML_ALERT_ASSERTION
        value: '0x1a'
      - name: POST_ENDED
        value: '0x1e'
      - name: FRB2_WDT_PWR_CYCLE
        value: '0x22'
      - name: OS_LOAD_WDT_PWR_CYCLE
        value: '0x26'
      item_type: enum
      name: EventType
      pos:
        line_end: 69
        line_start: 25
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - enumerators:
      - name: DEASSERTED
        value: '0x0'
      - name: ASSERTED
        value: '0x1'
      item_type: enum
      name: EventAssert
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - enumerators:
      - name: CPU_THERMAL_TRIP
        value: '0x0'
      - name: PMALERT_ASSERTION
        value: '0x3'
      - name: DIMM_PMIC_ERROR
        value: '0x7'
      - name: BIC_POWER_FAILURE
        value: '0xb'
      - name: CHASSIS_POWER_ON_IS_INITIATED_BY_NIC_INSERTION
        value: '0xf'
      - name: SYS_THROTTLE
        value: '0x13'
      - name: FAN_ERROR
        value: '0x17'
      - name: CXL1_HB
        value: '0x1b'
      - name: PROCHOT_IS_TRIGGERED_DUE_TO_SD_SENSOR_READING_EXCEED_UCR
        value: '0x1f'
      - name: OS_LOAD_WDT_EXPIRED
        value: '0x23'
      - name: RAINBOW_FAULT
        value: '0x29'
      - name: FAST_PROCHOT_ASSERTION
        value: '0x4'
      - name: ADDC_DUMP
        value: '0x8'
      - name: BLADE_IS_POWERED_CYCLE_BY_BLADE_BUTTON
        value: '0x10'
      - name: CPU_POWER_FAILURE
        value: '0xc'
      - name: VR_FAULT
        value: '0x14'
      - name: HDT_PRSNT_ASSERTION
        value: '0x18'
      - name: CXL2_HB
        value: '0x1c'
      - name: FRB2_WDT_HARD_RST
        value: '0x20'
      - name: OS_LOAD_WDT_HARD_RST
        value: '0x24'
      - name: POST_TIMEOUTED
        value: '0x28'
      - name: HSC_OCP
        value: '0x1'
      - name: FRB3_TIMER_EXPIRED
        value: '0x5'
      - name: BMC_COMES_OUT_OF_COLD_RESET
        value: '0x9'
      - name: V_BOOT_FAILURE
        value: '0xd'
      - name: CHASSIS_IS_POWERED_CYCLE_BY_SLED_BUTTON
        value: '0x11'
      - name: SYSTEM_MANAGEMENT_ERROR
        value: '0x15'
      - name: PLTRST_ASSERTION
        value: '0x19'
      - name: POST_STARTED
        value: '0x1d'
      - name: FRB2_WDT_PWR_DOWN
        value: '0x21'
      - name: OS_LOAD_WDT_PWR_DOWN
        value: '0x25'
      - name: MTIA_FAULT
        value: '0x27'
      - name: P12V_STBY_UV
        value: '0x2'
      - name: POWER_ON_SEQUENCE_FAILURE
        value: '0x6'
      - name: BIOS_FRB12_WATCHDOG_TIMER_EXPIRED
        value: '0xa'
      - name: BMC_IS_REQUESTED_TO_REBOOT
        value: '0xe'
      - name: HSC_FAULT
        value: '0x12'
      - name: POST_COMPLETED
        value: '0x16'
      - name: APML_ALERT_ASSERTION
        value: '0x1a'
      - name: POST_ENDED
        value: '0x1e'
      - name: FRB2_WDT_PWR_CYCLE
        value: '0x22'
      - name: OS_LOAD_WDT_PWR_CYCLE
        value: '0x26'
      item_type: enum
      name: EventType
      pos:
        line_end: 69
        line_start: 25
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - enumerators:
      - name: DEASSERTED
        value: '0x0'
      - name: ASSERTED
        value: '0x1'
      item_type: enum
      name: EventAssert
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    preproc_defs: []
    structs:
    - fields:
      - name: netName
        type: std::string
      - name: isPMBus
        type: bool
      item_type: struct
      name: VRSource
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - fields:
      - name: name
        type: std::string
      - name: object_path
        type: std::string
      - name: '* type_label'
        type: char
      - name: recorder
        type: RawRecorder
      item_type: struct
      name: FaultDesc
      pos:
        line_end: 189
        line_start: 180
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - fields:
      - name: reporter
        type: EventReporter
      - name: formatter
        type: EventFormatter
      item_type: struct
      name: EventDescriptor
      pos:
        line_end: 956
        line_start: 952
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - fields:
      - name: netName
        type: std::string
      - name: isPMBus
        type: bool
      item_type: struct
      name: VRSource
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - fields:
      - name: name
        type: std::string
      - name: object_path
        type: std::string
      - name: '* type_label'
        type: char
      - name: recorder
        type: RawRecorder
      item_type: struct
      name: FaultDesc
      pos:
        line_end: 189
        line_start: 180
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    - fields:
      - name: reporter
        type: EventReporter
      - name: formatter
        type: EventFormatter
      item_type: struct
      name: EventDescriptor
      pos:
        line_end: 956
        line_start: 952
        source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_event_log.cpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - '& operator=(const BIOSVersionHandler&)'
  - '& operator=(BIOSVersionHandler&&)'
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - ~BIOSVersionHandler() override
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - '& operator=(const BIOSVersionHandler&)'
  - '& operator=(BIOSVersionHandler&&)'
  - pldm::responder::oem_meta::BIOSVersionHandler::BIOSVersionHandler
  - ~BIOSVersionHandler() override
  source_file: /src/pldm/oem/meta/libpldmresponder/file_io_type_bios_version.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - interruptFlightRecorderCallBack
  - requestPLDMServiceName
  - processRxMsg
  - main
  source_file: /src/pldm/pldmd/pldmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::Invoker::registerHandler
  - pldm::responder::Invoker::handle
  - pldm::responder::Invoker::registerHandler
  - pldm::responder::Invoker::handle
  - pldm::responder::Invoker::registerHandler
  - pldm::responder::Invoker::handle
  - pldm::responder::Invoker::registerHandler
  - pldm::responder::Invoker::handle
  source_file: /src/pldm/pldmd/invoker.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~CmdHandler()
  - pldm::responder::CmdHandler::handle
  - pldm::responder::CmdHandler::ccOnlyResponse
  - ~CmdHandler()
  - pldm::responder::CmdHandler::handle
  - pldm::responder::CmdHandler::ccOnlyResponse
  - ~CmdHandler()
  - pldm::responder::CmdHandler::handle
  - pldm::responder::CmdHandler::ccOnlyResponse
  - ~CmdHandler()
  - pldm::responder::CmdHandler::handle
  - pldm::responder::CmdHandler::ccOnlyResponse
  source_file: /src/pldm/pldmd/handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(const Pdr&)'
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(Pdr&&)'
  - ~Pdr() override
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(const Pdr&)'
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(Pdr&&)'
  - ~Pdr() override
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(const Pdr&)'
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(Pdr&&)'
  - ~Pdr() override
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(const Pdr&)'
  - pldm::dbus_api::Pdr::Pdr
  - '& operator=(Pdr&&)'
  - ~Pdr() override
  - pldm::dbus_api::Pdr::Pdr
  source_file: /src/pldm/pldmd/dbus_impl_pdr.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus_api::Pdr::findStateEffecterPDR
  - pldm::dbus_api::Pdr::findStateSensorPDR
  - pldm::dbus_api::Pdr::findStateEffecterPDR
  - pldm::dbus_api::Pdr::findStateSensorPDR
  - pldm::dbus_api::Pdr::findStateEffecterPDR
  - pldm::dbus_api::Pdr::findStateSensorPDR
  - pldm::dbus_api::Pdr::findStateEffecterPDR
  - pldm::dbus_api::Pdr::findStateSensorPDR
  source_file: /src/pldm/pldmd/dbus_impl_pdr.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(const OemIBM&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(OemIBM&&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - pldm::oem_ibm::OemIBM::createCodeUpdate
  - pldm::oem_ibm::OemIBM::createSlotHandler
  - pldm::oem_ibm::OemIBM::createOemPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
  - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemFruHandler
  - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
  - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
  - pldm::oem_ibm::OemIBM::createHostLampTestHandler
  - pldm::oem_ibm::OemIBM::registerHandler
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(const OemIBM&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(OemIBM&&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - pldm::oem_ibm::OemIBM::createCodeUpdate
  - pldm::oem_ibm::OemIBM::createSlotHandler
  - pldm::oem_ibm::OemIBM::createOemPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
  - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemFruHandler
  - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
  - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
  - pldm::oem_ibm::OemIBM::createHostLampTestHandler
  - pldm::oem_ibm::OemIBM::registerHandler
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(const OemIBM&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(OemIBM&&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - pldm::oem_ibm::OemIBM::createCodeUpdate
  - pldm::oem_ibm::OemIBM::createSlotHandler
  - pldm::oem_ibm::OemIBM::createOemPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
  - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemFruHandler
  - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
  - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
  - pldm::oem_ibm::OemIBM::createHostLampTestHandler
  - pldm::oem_ibm::OemIBM::registerHandler
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(const OemIBM&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - '& operator=(OemIBM&&)'
  - pldm::oem_ibm::OemIBM::OemIBM
  - pldm::oem_ibm::OemIBM::createCodeUpdate
  - pldm::oem_ibm::OemIBM::createSlotHandler
  - pldm::oem_ibm::OemIBM::createOemPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemIbmBiosHandler
  - pldm::oem_ibm::OemIBM::createOemIbmPlatformHandler
  - pldm::oem_ibm::OemIBM::createOemFruHandler
  - pldm::oem_ibm::OemIBM::createOemIbmUtilsHandler
  - pldm::oem_ibm::OemIBM::createOemIbmFruHandler
  - pldm::oem_ibm::OemIBM::createHostLampTestHandler
  - pldm::oem_ibm::OemIBM::registerHandler
  source_file: /src/pldm/pldmd/oem_ibm.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestInstanceIdDb::TestInstanceIdDb
  - ~TestInstanceIdDb()
  - TestInstanceIdDb::createDb
  - TestInstanceIdDb::TestInstanceIdDb
  source_file: /src/pldm/test/test_instance_id.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestHandler::TestHandler
  - TestHandler::handle
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/test/pldmd_registration_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/pldm/utilities/requester/set_state_effecter_async.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/pldm/utilities/requester/set_state_effecter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::SoftPowerOff::isError
  - pldm::SoftPowerOff::isTimerExpired
  - pldm::SoftPowerOff::isCompleted
  - pldm::SoftPowerOff::isReceiveResponse
  - pldm::SoftPowerOff::stopTimer
  - pldm::SoftPowerOff::isError
  - pldm::SoftPowerOff::isTimerExpired
  - pldm::SoftPowerOff::isCompleted
  - pldm::SoftPowerOff::isReceiveResponse
  - pldm::SoftPowerOff::stopTimer
  source_file: /src/pldm/softoff/softoff.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/pldm/softoff/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::SoftPowerOff::SoftPowerOff
  - pldm::SoftPowerOff::getHostState
  - pldm::SoftPowerOff::hostSoftOffComplete
  - pldm::SoftPowerOff::parseConfig
  - pldm::SoftPowerOff::getEffecterID
  - pldm::SoftPowerOff::getSensorInfo
  - pldm::SoftPowerOff::hostSoftOff
  - pldm::SoftPowerOff::startTimer
  - pldm::SoftPowerOff::SoftPowerOff
  - pldm::SoftPowerOff::getHostState
  - pldm::SoftPowerOff::hostSoftOffComplete
  - pldm::SoftPowerOff::parseConfig
  - pldm::SoftPowerOff::getEffecterID
  - pldm::SoftPowerOff::getSensorInfo
  - pldm::SoftPowerOff::hostSoftOff
  - pldm::SoftPowerOff::startTimer
  source_file: /src/pldm/softoff/softoff.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::utils::findStateEffecterPDR
  - pldm::utils::findStateSensorPDR
  - pldm::utils::readHostEID
  - pldm::utils::isValidEID
  - pldm::utils::getNumPadBytes
  - pldm::utils::uintToDate
  - pldm::utils::parseEffecterData
  - pldm::utils::DBusHandler::getService
  - pldm::utils::DBusHandler::getSubtree
  - pldm::utils::DBusHandler::getSubTreePaths
  - pldm::utils::DBusHandler::getAncestors
  - pldm::utils::reportError
  - pldm::utils::DBusHandler::setDbusProperty
  - pldm::utils::DBusHandler::getDbusPropertyVariant
  - pldm::utils::DBusHandler::getAssociatedSubTree
  - pldm::utils::DBusHandler::getManagedObj
  - pldm::utils::DBusHandler::getDbusPropertiesVariant
  - pldm::utils::jsonEntryToDbusVal
  - pldm::utils::findStateEffecterId
  - pldm::utils::emitStateSensorEventSignal
  - pldm::utils::recoverMctpEndpoint
  - pldm::utils::findStateSensorId
  - pldm::utils::printBuffer
  - pldm::utils::toString
  - pldm::utils::split
  - pldm::utils::getCurrentSystemTime
  - pldm::utils::checkForFruPresence
  - pldm::utils::checkIfLogicalBitSet
  - pldm::utils::setFruPresence
  - pldm::utils::trimNameForDbus
  - pldm::utils::dbusPropValuesToDouble
  - pldm::utils::fruFieldValuestring
  - pldm::utils::fruFieldParserU32
  - pldm::utils::getStateSensorPDRsByType
  - pldm::utils::findSensorIds
  - pldm::utils::getStateEffecterPDRsByType
  - pldm::utils::findEffecterIds
  - pldm::utils::setBiosAttr
  - pldm::utils::generateSwId
  - pldm::utils::MMapHandler::MMapHandler
  - pldm::utils::MMapHandler::MMapHandler
  - MMapHandler::~MMapHandler()
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getSize
  - pldm::utils::findStateEffecterPDR
  - pldm::utils::findStateSensorPDR
  - pldm::utils::readHostEID
  - pldm::utils::isValidEID
  - pldm::utils::getNumPadBytes
  - pldm::utils::uintToDate
  - pldm::utils::parseEffecterData
  - pldm::utils::DBusHandler::getService
  - pldm::utils::DBusHandler::getSubtree
  - pldm::utils::DBusHandler::getSubTreePaths
  - pldm::utils::DBusHandler::getAncestors
  - pldm::utils::reportError
  - pldm::utils::DBusHandler::setDbusProperty
  - pldm::utils::DBusHandler::getDbusPropertyVariant
  - pldm::utils::DBusHandler::getAssociatedSubTree
  - pldm::utils::DBusHandler::getManagedObj
  - pldm::utils::DBusHandler::getDbusPropertiesVariant
  - pldm::utils::jsonEntryToDbusVal
  - pldm::utils::findStateEffecterId
  - pldm::utils::emitStateSensorEventSignal
  - pldm::utils::recoverMctpEndpoint
  - pldm::utils::findStateSensorId
  - pldm::utils::printBuffer
  - pldm::utils::toString
  - pldm::utils::split
  - pldm::utils::getCurrentSystemTime
  - pldm::utils::checkForFruPresence
  - pldm::utils::checkIfLogicalBitSet
  - pldm::utils::setFruPresence
  - pldm::utils::trimNameForDbus
  - pldm::utils::dbusPropValuesToDouble
  - pldm::utils::fruFieldValuestring
  - pldm::utils::fruFieldParserU32
  - pldm::utils::getStateSensorPDRsByType
  - pldm::utils::findSensorIds
  - pldm::utils::getStateEffecterPDRsByType
  - pldm::utils::findEffecterIds
  - pldm::utils::setBiosAttr
  - pldm::utils::generateSwId
  - pldm::utils::MMapHandler::MMapHandler
  - pldm::utils::MMapHandler::MMapHandler
  - MMapHandler::~MMapHandler()
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getSize
  - pldm::utils::findStateEffecterPDR
  - pldm::utils::findStateSensorPDR
  - pldm::utils::readHostEID
  - pldm::utils::isValidEID
  - pldm::utils::getNumPadBytes
  - pldm::utils::uintToDate
  - pldm::utils::parseEffecterData
  - pldm::utils::DBusHandler::getService
  - pldm::utils::DBusHandler::getSubtree
  - pldm::utils::DBusHandler::getSubTreePaths
  - pldm::utils::DBusHandler::getAncestors
  - pldm::utils::reportError
  - pldm::utils::DBusHandler::setDbusProperty
  - pldm::utils::DBusHandler::getDbusPropertyVariant
  - pldm::utils::DBusHandler::getAssociatedSubTree
  - pldm::utils::DBusHandler::getManagedObj
  - pldm::utils::DBusHandler::getDbusPropertiesVariant
  - pldm::utils::jsonEntryToDbusVal
  - pldm::utils::findStateEffecterId
  - pldm::utils::emitStateSensorEventSignal
  - pldm::utils::recoverMctpEndpoint
  - pldm::utils::findStateSensorId
  - pldm::utils::printBuffer
  - pldm::utils::toString
  - pldm::utils::split
  - pldm::utils::getCurrentSystemTime
  - pldm::utils::checkForFruPresence
  - pldm::utils::checkIfLogicalBitSet
  - pldm::utils::setFruPresence
  - pldm::utils::trimNameForDbus
  - pldm::utils::dbusPropValuesToDouble
  - pldm::utils::fruFieldValuestring
  - pldm::utils::fruFieldParserU32
  - pldm::utils::getStateSensorPDRsByType
  - pldm::utils::findSensorIds
  - pldm::utils::getStateEffecterPDRsByType
  - pldm::utils::findEffecterIds
  - pldm::utils::setBiosAttr
  - pldm::utils::generateSwId
  - pldm::utils::MMapHandler::MMapHandler
  - pldm::utils::MMapHandler::MMapHandler
  - MMapHandler::~MMapHandler()
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getSize
  - pldm::utils::findStateEffecterPDR
  - pldm::utils::findStateSensorPDR
  - pldm::utils::readHostEID
  - pldm::utils::isValidEID
  - pldm::utils::getNumPadBytes
  - pldm::utils::uintToDate
  - pldm::utils::parseEffecterData
  - pldm::utils::DBusHandler::getService
  - pldm::utils::DBusHandler::getSubtree
  - pldm::utils::DBusHandler::getSubTreePaths
  - pldm::utils::DBusHandler::getAncestors
  - pldm::utils::reportError
  - pldm::utils::DBusHandler::setDbusProperty
  - pldm::utils::DBusHandler::getDbusPropertyVariant
  - pldm::utils::DBusHandler::getAssociatedSubTree
  - pldm::utils::DBusHandler::getManagedObj
  - pldm::utils::DBusHandler::getDbusPropertiesVariant
  - pldm::utils::jsonEntryToDbusVal
  - pldm::utils::findStateEffecterId
  - pldm::utils::emitStateSensorEventSignal
  - pldm::utils::recoverMctpEndpoint
  - pldm::utils::findStateSensorId
  - pldm::utils::printBuffer
  - pldm::utils::toString
  - pldm::utils::split
  - pldm::utils::getCurrentSystemTime
  - pldm::utils::checkForFruPresence
  - pldm::utils::checkIfLogicalBitSet
  - pldm::utils::setFruPresence
  - pldm::utils::trimNameForDbus
  - pldm::utils::dbusPropValuesToDouble
  - pldm::utils::fruFieldValuestring
  - pldm::utils::fruFieldParserU32
  - pldm::utils::getStateSensorPDRsByType
  - pldm::utils::findSensorIds
  - pldm::utils::getStateEffecterPDRsByType
  - pldm::utils::findEffecterIds
  - pldm::utils::setBiosAttr
  - pldm::utils::generateSwId
  - pldm::utils::MMapHandler::MMapHandler
  - pldm::utils::MMapHandler::MMapHandler
  - MMapHandler::~MMapHandler()
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getData
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getBytes
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getChars
  - pldm::utils::MMapHandler::getSize
  source_file: /src/pldm/common/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  - pldm::bios::utils::BIOSTableIter::iterator::iterator
  - '* operator*() const'
  - '& operator++()'
  - operator==(const EndSentinel&) const
  - operator!=(const EndSentinel& endSentinel) const
  - pldm::bios::utils::BIOSTableIter::BIOSTableIter
  - pldm::bios::utils::BIOSTableIter::begin
  - pldm::bios::utils::BIOSTableIter::end
  source_file: /src/pldm/common/bios_utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    - fields: []
      item_type: struct
      name: EndSentinel
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/pldm/common/bios_utils.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - '& operator=(const InstanceIdError&) noexcept'
  - '& operator=(InstanceIdError&&) noexcept'
  - ~InstanceIdError() noexcept override
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::rc
  - '& msg() const noexcept'
  - pldm::InstanceIdError::rcToMsg
  - pldm::InstanceIdError::what
  - pldm::InstanceIdDb::InstanceIdDb
  - pldm::InstanceIdDb::InstanceIdDb
  - ~InstanceIdDb()
  - pldm::InstanceIdDb::next
  - pldm::InstanceIdDb::free
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - '& operator=(const InstanceIdError&) noexcept'
  - '& operator=(InstanceIdError&&) noexcept'
  - ~InstanceIdError() noexcept override
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::InstanceIdError
  - pldm::InstanceIdError::rc
  - '& msg() const noexcept'
  - pldm::InstanceIdError::rcToMsg
  - pldm::InstanceIdError::what
  - pldm::InstanceIdDb::InstanceIdDb
  - pldm::InstanceIdDb::InstanceIdDb
  - ~InstanceIdDb()
  - pldm::InstanceIdDb::next
  - pldm::InstanceIdDb::free
  source_file: /src/pldm/common/instance_id.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const EntityKey& e) const
  - operator==(const EntityKey& e) const
  - operator==(const EntityKey& e) const
  - operator==(const EntityKey& e) const
  source_file: /src/pldm/common/types.hpp
  types:
    enum:
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompOptionsPos
        value: '3'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 178
        line_start: 168
        source_file: /src/pldm/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompOptionsPos
        value: '3'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 178
        line_start: 168
        source_file: /src/pldm/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompOptionsPos
        value: '3'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 178
        line_start: 168
        source_file: /src/pldm/common/types.hpp
    - enumerators:
      - name: CompClassificationPos
        value: '0'
      - name: CompIdentifierPos
        value: '1'
      - name: ReqCompActivationMethodPos
        value: '4'
      - name: CompComparisonStampPos
        value: '2'
      - name: CompOptionsPos
        value: '3'
      - name: CompLocationOffsetPos
        value: '5'
      - name: CompSizePos
        value: '6'
      - name: CompVersionPos
        value: '7'
      item_type: enum
      name: ComponentImageInfoPos
      pos:
        line_end: 178
        line_start: 168
        source_file: /src/pldm/common/types.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: EntityType
      - name: instanceIdx
        type: EntityInstance
      - name: containerId
        type: ContainerID
      item_type: struct
      name: EntityKey
      pos:
        line_end: 224
        line_start: 213
        source_file: /src/pldm/common/types.hpp
    - fields:
      - name: type
        type: EntityType
      - name: instanceIdx
        type: EntityInstance
      - name: containerId
        type: ContainerID
      item_type: struct
      name: EntityKey
      pos:
        line_end: 224
        line_start: 213
        source_file: /src/pldm/common/types.hpp
    - fields:
      - name: type
        type: EntityType
      - name: instanceIdx
        type: EntityInstance
      - name: containerId
        type: ContainerID
      item_type: struct
      name: EntityKey
      pos:
        line_end: 224
        line_start: 213
        source_file: /src/pldm/common/types.hpp
    - fields:
      - name: type
        type: EntityType
      - name: instanceIdx
        type: EntityInstance
      - name: containerId
        type: ContainerID
      item_type: struct
      name: EntityKey
      pos:
        line_end: 224
        line_start: 213
        source_file: /src/pldm/common/types.hpp
    typedefs: []
    union: []
- function_names:
  - std::start_lifetime_as
  - std::start_lifetime_as
  - std::start_lifetime_as
  - std::start_lifetime_as
  source_file: /src/pldm/common/start_lifetime_as.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PldmTransport::PldmTransport
  - PldmTransport::PldmTransport
  - '& operator=(const PldmTransport& other)'
  - '& operator=(PldmTransport&& other)'
  source_file: /src/pldm/common/transport.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '* mctp_demux'
        type: struct pldm_transport_mctp_demux
      - name: '* af_mctp'
        type: struct pldm_transport_af_mctp
      item_type: union
      name: TransportImpl
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/pldm/common/transport.hpp
- function_names:
  - pldm_transport_impl_mctp_demux_init
  - pldm_transport_impl_af_mctp_init
  - transport_impl_init
  - transport_impl_destroy
  - PldmTransport::PldmTransport
  - PldmTransport::~PldmTransport()
  - PldmTransport::getEventSource
  - PldmTransport::sendMsg
  - PldmTransport::recvMsg
  - PldmTransport::sendRecvMsg
  source_file: /src/pldm/common/transport.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::utils::CustomFD
  - '& operator=(const CustomFD&)'
  - pldm::utils::CustomFD
  - '& operator=(CustomFD&&)'
  - pldm::utils::CustomFD
  - ~CustomFD()
  - operator()() const
  - pldm::utils::decimalToBcd
  - ~DBusHandlerInterface()
  - '& getBus()'
  - pldm::utils::DBusHandler::getDbusProperty
  - pldm::utils::DBusHandler::getInventoryObjects
  - pldm::utils::findParent
  - pldm::utils::getBiosAttrValue
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(const MMapHandler&)'
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(MMapHandler&& other)'
  - pldm::utils::CustomFD
  - '& operator=(const CustomFD&)'
  - pldm::utils::CustomFD
  - '& operator=(CustomFD&&)'
  - pldm::utils::CustomFD
  - ~CustomFD()
  - operator()() const
  - pldm::utils::decimalToBcd
  - ~DBusHandlerInterface()
  - '& getBus()'
  - pldm::utils::DBusHandler::getDbusProperty
  - pldm::utils::DBusHandler::getInventoryObjects
  - pldm::utils::findParent
  - pldm::utils::getBiosAttrValue
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(const MMapHandler&)'
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(MMapHandler&& other)'
  - pldm::utils::CustomFD
  - '& operator=(const CustomFD&)'
  - pldm::utils::CustomFD
  - '& operator=(CustomFD&&)'
  - pldm::utils::CustomFD
  - ~CustomFD()
  - operator()() const
  - pldm::utils::decimalToBcd
  - ~DBusHandlerInterface()
  - '& getBus()'
  - pldm::utils::DBusHandler::getDbusProperty
  - pldm::utils::DBusHandler::getInventoryObjects
  - pldm::utils::findParent
  - pldm::utils::getBiosAttrValue
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(const MMapHandler&)'
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(MMapHandler&& other)'
  - pldm::utils::CustomFD
  - '& operator=(const CustomFD&)'
  - pldm::utils::CustomFD
  - '& operator=(CustomFD&&)'
  - pldm::utils::CustomFD
  - ~CustomFD()
  - operator()() const
  - pldm::utils::decimalToBcd
  - ~DBusHandlerInterface()
  - '& getBus()'
  - pldm::utils::DBusHandler::getDbusProperty
  - pldm::utils::DBusHandler::getInventoryObjects
  - pldm::utils::findParent
  - pldm::utils::getBiosAttrValue
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(const MMapHandler&)'
  - pldm::utils::MMapHandler::MMapHandler
  - '& operator=(MMapHandler&& other)'
  source_file: /src/pldm/common/utils.hpp
  types:
    enum:
    - enumerators:
      - name: WARNING
      - name: PERFORMANCELOSS
      - name: SOFTSHUTDOWN
      - name: HARDSHUTDOWN
      - name: CRITICAL
      - name: ERROR
      item_type: enum
      name: Level
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: HIGH
      - name: LOW
      - name: ERROR
      item_type: enum
      name: Direction
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: WARNING
      - name: PERFORMANCELOSS
      - name: SOFTSHUTDOWN
      - name: HARDSHUTDOWN
      - name: CRITICAL
      - name: ERROR
      item_type: enum
      name: Level
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: HIGH
      - name: LOW
      - name: ERROR
      item_type: enum
      name: Direction
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: WARNING
      - name: PERFORMANCELOSS
      - name: SOFTSHUTDOWN
      - name: HARDSHUTDOWN
      - name: CRITICAL
      - name: ERROR
      item_type: enum
      name: Level
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: HIGH
      - name: LOW
      - name: ERROR
      item_type: enum
      name: Direction
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: WARNING
      - name: PERFORMANCELOSS
      - name: SOFTSHUTDOWN
      - name: HARDSHUTDOWN
      - name: CRITICAL
      - name: ERROR
      item_type: enum
      name: Level
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/pldm/common/utils.hpp
    - enumerators:
      - name: HIGH
      - name: LOW
      - name: ERROR
      item_type: enum
      name: Direction
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/pldm/common/utils.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: CustomFD
      pos:
        line_end: 104
        line_start: 80
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: interface
        type: std::string
      - name: propertyName
        type: std::string
      - name: propertyType
        type: std::string
      item_type: struct
      name: DBusMapping
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: CustomFD
      pos:
        line_end: 104
        line_start: 80
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: interface
        type: std::string
      - name: propertyName
        type: std::string
      - name: propertyType
        type: std::string
      item_type: struct
      name: DBusMapping
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: CustomFD
      pos:
        line_end: 104
        line_start: 80
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: interface
        type: std::string
      - name: propertyName
        type: std::string
      - name: propertyType
        type: std::string
      item_type: struct
      name: DBusMapping
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: fd
        type: int
      item_type: struct
      name: CustomFD
      pos:
        line_end: 104
        line_start: 80
        source_file: /src/pldm/common/utils.hpp
    - fields:
      - name: objectPath
        type: std::string
      - name: interface
        type: std::string
      - name: propertyName
        type: std::string
      - name: propertyType
        type: std::string
      item_type: struct
      name: DBusMapping
      pos:
        line_end: 173
        line_start: 167
        source_file: /src/pldm/common/utils.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - '& operator=(const FlightRecorder&)'
  - '& operator=(FlightRecorder&&)'
  - ~FlightRecorder()
  - '& GetInstance()'
  - pldm::flightrecorder::FlightRecorder::saveRecord
  - pldm::flightrecorder::FlightRecorder::playRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - '& operator=(const FlightRecorder&)'
  - '& operator=(FlightRecorder&&)'
  - ~FlightRecorder()
  - '& GetInstance()'
  - pldm::flightrecorder::FlightRecorder::saveRecord
  - pldm::flightrecorder::FlightRecorder::playRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - '& operator=(const FlightRecorder&)'
  - '& operator=(FlightRecorder&&)'
  - ~FlightRecorder()
  - '& GetInstance()'
  - pldm::flightrecorder::FlightRecorder::saveRecord
  - pldm::flightrecorder::FlightRecorder::playRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - pldm::flightrecorder::FlightRecorder::FlightRecorder
  - '& operator=(const FlightRecorder&)'
  - '& operator=(FlightRecorder&&)'
  - ~FlightRecorder()
  - '& GetInstance()'
  - pldm::flightrecorder::FlightRecorder::saveRecord
  - pldm::flightrecorder::FlightRecorder::playRecorder
  source_file: /src/pldm/common/flight_recorder.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - operator==(const DBusMapping& lhs, const DBusMapping& rhs)
  - GetManagedEmptyObject::getManagedObj
  - GetManagedObject::getManagedObj
  source_file: /src/pldm/common/test/mocked_utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/common/test/pldm_utils_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  - pldm::responder::pdr_utils::Repo::getPdr
  - pldm::responder::pdr_utils::Repo::addRecord
  - pldm::responder::pdr_utils::Repo::getFirstRecord
  - pldm::responder::pdr_utils::Repo::getNextRecord
  - pldm::responder::pdr_utils::Repo::getRecordHandle
  - pldm::responder::pdr_utils::Repo::getRecordCount
  - pldm::responder::pdr_utils::Repo::empty
  - pldm::responder::pdr_utils::populateMapping
  - pldm::responder::pdr_utils::parseStateSensorPDR
  - pldm::responder::pdr_utils::parseFruRecordTable
  - pldm::responder::pdr_utils::getEffecterDataSize
  source_file: /src/pldm/libpldmresponder/pdr_utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  - pldm::responder::platform_config::Handler::systemCompatibleCallback
  - pldm::responder::platform_config::Handler::getPlatformName
  - pldm::responder::platform_config::Handler::getSysSpecificJsonDir
  - pldm::responder::platform_config::Handler::registerSystemTypeCallback
  source_file: /src/pldm/libpldmresponder/platform_config.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  - pldm::responder::bios::BIOSAttribute::BIOSAttribute
  - pldm::responder::bios::BIOSAttribute::getDBusMap
  source_file: /src/pldm/libpldmresponder/bios_attribute.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  - pldm::responder::platform::Handler::Handler
  - '& getRepo()'
  - pldm::responder::platform::Handler::getNextEffecterId
  - pldm::responder::platform::Handler::getNextSensorId
  - pldm::responder::platform::Handler::setOemPlatformHandler
  - pldm::responder::platform::Handler::registerEventHandlers
  - pldm::responder::platform::Handler::setStateEffecterStatesHandler
  - '& getAssociateEntityMap() const'
  - pldm::responder::platform::Handler::updateSensorCache
  source_file: /src/pldm/libpldmresponder/platform.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSIntegerAttribute::BIOSIntegerAttribute
  - pldm::responder::bios::BIOSIntegerAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSIntegerAttribute::constructEntry
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::getAttrValue
  - pldm::responder::bios::BIOSIntegerAttribute::updateAttrVal
  - pldm::responder::bios::BIOSIntegerAttribute::generateAttributeEntry
  source_file: /src/pldm/libpldmresponder/bios_integer_attribute.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - pldm::responder::events::StateSensorHandler::mapStateToDBusVal
  - pldm::responder::events::StateSensorHandler::eventAction
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - pldm::responder::events::StateSensorHandler::mapStateToDBusVal
  - pldm::responder::events::StateSensorHandler::eventAction
  source_file: /src/pldm/libpldmresponder/event_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/libpldmresponder/pdr.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  - pldm::responder::platform_state_effecter::setStateEffecterStatesHandler
  source_file: /src/pldm/libpldmresponder/platform_state_effecter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::BIOSTable::BIOSTable
  - pldm::responder::bios::BIOSTable::isEmpty
  - pldm::responder::bios::BIOSTable::store
  - pldm::responder::bios::BIOSTable::load
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::BIOSStringTable
  - pldm::responder::bios::BIOSStringTable::findString
  - pldm::responder::bios::BIOSStringTable::findHandle
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::appendPadAndChecksum
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::string::decodeHandle
  - pldm::responder::bios::table::string::decodeString
  - pldm::responder::bios::table::string::constructEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute::decodeHeader
  - pldm::responder::bios::table::attribute::findByHandle
  - pldm::responder::bios::table::attribute::findByStringHandle
  - pldm::responder::bios::table::attribute::constructStringEntry
  - pldm::responder::bios::table::attribute::constructIntegerEntry
  - pldm::responder::bios::table::attribute::decodeStringEntry
  - pldm::responder::bios::table::attribute::decodeIntegerEntry
  - pldm::responder::bios::table::attribute::constructEnumEntry
  - pldm::responder::bios::table::attribute::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  - pldm::responder::bios::table::attribute_value::decodeHeader
  - pldm::responder::bios::table::attribute_value::decodeStringEntry
  - pldm::responder::bios::table::attribute_value::decodeIntegerEntry
  - pldm::responder::bios::table::attribute_value::decodeEnumEntry
  - pldm::responder::bios::table::attribute_value::constructStringEntry
  - pldm::responder::bios::table::attribute_value::constructIntegerEntry
  - pldm::responder::bios::table::attribute_value::constructEnumEntry
  - pldm::responder::bios::table::attribute_value::updateTable
  source_file: /src/pldm/libpldmresponder/bios_table.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSEnumAttribute::BIOSEnumAttribute
  - pldm::responder::bios::BIOSEnumAttribute::getValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getPossibleValuesHandle
  - pldm::responder::bios::BIOSEnumAttribute::buildValMap
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::getAttrValueIndex
  - pldm::responder::bios::BIOSEnumAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSEnumAttribute::populateValueDisplayNamesMap
  - pldm::responder::bios::BIOSEnumAttribute::constructEntry
  - pldm::responder::bios::BIOSEnumAttribute::updateAttrVal
  - pldm::responder::bios::BIOSEnumAttribute::generateAttributeEntry
  source_file: /src/pldm/libpldmresponder/bios_enum_attribute.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/libpldmresponder/bios_enum_attribute.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_platform::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_fru::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_utils::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  - pldm::responder::oem_bios::Handler::Handler
  - ~Handler() override
  source_file: /src/pldm/libpldmresponder/oem_handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  - pldm::responder::fru_parser::FruParser::FruParser
  - pldm::responder::fru_parser::FruParser::setupDefaultDBusLookup
  - pldm::responder::fru_parser::FruParser::setupDefaultFruRecordMap
  - pldm::responder::fru_parser::FruParser::setupFruRecordMap
  source_file: /src/pldm/libpldmresponder/fru_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  - pldm::responder::pdr_utils::readJson
  - pldm::responder::pdr_utils::RepoInterface::RepoInterface
  - ~RepoInterface()
  - pldm::responder::pdr_utils::Repo::Repo
  source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
  types:
    enum:
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - enumerators:
      - name: PLDM_EFFECTER_ID
      - name: PLDM_SENSOR_ID
      item_type: enum
      name: TypeId
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruFieldType
        type: uint8_t
      - name: fruFieldLen
        type: uint8_t
      - name: fruFieldValue
        type: std::vector<uint8_t>
      item_type: struct
      name: FruTLV
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: fruRSI
        type: uint16_t
      - name: fruRecType
        type: uint8_t
      - name: fruNum
        type: uint8_t
      - name: fruEncodeType
        type: uint8_t
      - name: fruTLV
        type: std::vector<FruTLV>
      item_type: struct
      name: FruRecordDataFormat
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    - fields:
      - name: '* data'
        type: uint8_t
      - name: size
        type: uint32_t
      - name: handle
        type: "union\n    {\n        uint32_t recordHandle;\n        uint32_t nextRecordHandle;\n
          \   }"
      item_type: struct
      name: PdrEntry
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/pldm/libpldmresponder/pdr_utils.hpp
    typedefs: []
    union: []
- function_names:
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  - ~BIOSStringTableInterface()
  source_file: /src/pldm/libpldmresponder/bios_table.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      - name: stringHandle
        type: uint16_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 182
        line_start: 177
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: stringType
        type: uint8_t
      - name: minLength
        type: uint16_t
      - name: maxLength
        type: uint16_t
      - name: defLength
        type: uint16_t
      - name: defString
        type: std::string
      item_type: struct
      name: StringField
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: lowerBound
        type: uint64_t
      - name: upperBound
        type: uint64_t
      - name: scalarIncrement
        type: uint32_t
      - name: defaultValue
        type: uint64_t
      item_type: struct
      name: IntegerField
      pos:
        line_end: 242
        line_start: 236
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: possibleValueStringHandle
        type: std::vector<uint16_t>
      - name: defaultValueIndex
        type: std::vector<uint8_t>
      item_type: struct
      name: EnumField
      pos:
        line_end: 266
        line_start: 262
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    - fields:
      - name: attrHandle
        type: uint16_t
      - name: attrType
        type: uint8_t
      item_type: struct
      name: TableHeader
      pos:
        line_end: 295
        line_start: 291
        source_file: /src/pldm/libpldmresponder/bios_table.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  - pldm::responder::bios::BIOSStringAttribute::BIOSStringAttribute
  - pldm::responder::bios::BIOSStringAttribute::setAttrValueOnDbus
  - pldm::responder::bios::BIOSStringAttribute::getAttrValue
  - pldm::responder::bios::BIOSStringAttribute::constructEntry
  - pldm::responder::bios::BIOSStringAttribute::updateAttrVal
  - pldm::responder::bios::BIOSStringAttribute::generateAttributeEntry
  source_file: /src/pldm/libpldmresponder/bios_string_attribute.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  - pldm::responder::pdr_numeric_effecter::generateNumericEffecterPDR
  source_file: /src/pldm/libpldmresponder/pdr_numeric_effecter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  - pldm::responder::base::Handler::getPLDMTypes
  - pldm::responder::base::Handler::getPLDMCommands
  - pldm::responder::base::Handler::getPLDMVersion
  - pldm::responder::base::Handler::_processSetEventReceiver
  - pldm::responder::base::Handler::getTID
  source_file: /src/pldm/libpldmresponder/base.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  - pldm::responder::pdr_state_effecter::generateStateEffecterPDR
  source_file: /src/pldm/libpldmresponder/pdr_state_effecter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::FruImpl::getEntityByObjectPath
  - pldm::responder::FruImpl::updateAssociationTree
  - pldm::responder::FruImpl::buildFRUTable
  - pldm::responder::FruImpl::populatefwVersion
  - pldm::responder::FruImpl::populateRecords
  - pldm::responder::FruImpl::deleteFRURecord
  - pldm::responder::FruImpl::removeIndividualFRU
  - pldm::responder::FruImpl::tableResize
  - pldm::responder::FruImpl::getFRUTable
  - pldm::responder::FruImpl::getFRURecordTableMetadata
  - pldm::responder::FruImpl::getFRURecordByOption
  - pldm::responder::FruImpl::setFRUTable
  - pldm::responder::FruImpl::addHotPlugRecord
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::FruImpl::getEntityByObjectPath
  - pldm::responder::FruImpl::updateAssociationTree
  - pldm::responder::FruImpl::buildFRUTable
  - pldm::responder::FruImpl::populatefwVersion
  - pldm::responder::FruImpl::populateRecords
  - pldm::responder::FruImpl::deleteFRURecord
  - pldm::responder::FruImpl::removeIndividualFRU
  - pldm::responder::FruImpl::tableResize
  - pldm::responder::FruImpl::getFRUTable
  - pldm::responder::FruImpl::getFRURecordTableMetadata
  - pldm::responder::FruImpl::getFRURecordByOption
  - pldm::responder::FruImpl::setFRUTable
  - pldm::responder::FruImpl::addHotPlugRecord
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::FruImpl::getEntityByObjectPath
  - pldm::responder::FruImpl::updateAssociationTree
  - pldm::responder::FruImpl::buildFRUTable
  - pldm::responder::FruImpl::populatefwVersion
  - pldm::responder::FruImpl::populateRecords
  - pldm::responder::FruImpl::deleteFRURecord
  - pldm::responder::FruImpl::removeIndividualFRU
  - pldm::responder::FruImpl::tableResize
  - pldm::responder::FruImpl::getFRUTable
  - pldm::responder::FruImpl::getFRURecordTableMetadata
  - pldm::responder::FruImpl::getFRURecordByOption
  - pldm::responder::FruImpl::setFRUTable
  - pldm::responder::FruImpl::addHotPlugRecord
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::FruImpl::getEntityByObjectPath
  - pldm::responder::FruImpl::updateAssociationTree
  - pldm::responder::FruImpl::buildFRUTable
  - pldm::responder::FruImpl::populatefwVersion
  - pldm::responder::FruImpl::populateRecords
  - pldm::responder::FruImpl::deleteFRURecord
  - pldm::responder::FruImpl::removeIndividualFRU
  - pldm::responder::FruImpl::tableResize
  - pldm::responder::FruImpl::getFRUTable
  - pldm::responder::FruImpl::getFRURecordTableMetadata
  - pldm::responder::FruImpl::getFRURecordByOption
  - pldm::responder::FruImpl::setFRUTable
  - pldm::responder::FruImpl::addHotPlugRecord
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordTableMetadata
  - pldm::responder::fru::Handler::getFRURecordTable
  - pldm::responder::fru::Handler::getFRURecordByOption
  - pldm::responder::fru::Handler::setFRURecordTable
  source_file: /src/pldm/libpldmresponder/fru.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - '& operator=(const BIOSConfig&)'
  - '& operator=(BIOSConfig&&)'
  - ~BIOSConfig()
  - pldm::responder::bios::BIOSConfig::setOemBiosHandler
  - pldm::responder::bios::BIOSConfig::constructAttribute
  source_file: /src/pldm/libpldmresponder/bios_config.hpp
  types:
    enum:
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: LowerBound
      - name: UpperBound
      - name: ScalarIncrement
      - name: MinStringLength
      - name: MaxStringLength
      - name: OneOf
      item_type: enum
      name: BoundType
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    - enumerators:
      - name: attributeType
        value: '0'
      - name: readOnly
      - name: displayName
      - name: description
      - name: menuPath
      - name: currentValue
      - name: defaultValue
      - name: options
      item_type: enum
      name: Index
      pos:
        line_end: 142
        line_start: 132
        source_file: /src/pldm/libpldmresponder/bios_config.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  - pldm::responder::platform::Handler::addDbusObjMaps
  - "&\n    Handler::getDbusObjMaps(uint16_t id, TypeId typeId) const"
  - pldm::responder::platform::Handler::generate
  - pldm::responder::platform::Handler::getPDR
  - pldm::responder::platform::Handler::setStateEffecterStates
  - pldm::responder::platform::Handler::platformEventMessage
  - pldm::responder::platform::Handler::sensorEvent
  - pldm::responder::platform::Handler::pldmPDRRepositoryChgEvent
  - pldm::responder::platform::Handler::getPDRRecordHandles
  - pldm::responder::platform::Handler::getNumericEffecterValue
  - pldm::responder::platform::Handler::setNumericEffecterValue
  - pldm::responder::platform::Handler::generateTerminusLocatorPDR
  - pldm::responder::platform::Handler::getStateSensorReadings
  - pldm::responder::platform::Handler::_processPostGetPDRActions
  - pldm::responder::platform::isOemStateSensor
  - pldm::responder::platform::isOemStateEffecter
  - pldm::responder::platform::Handler::setEventReceiver
  - pldm::responder::platform::Handler::sendPDRRepositoryChgEventbyPDRHandles
  source_file: /src/pldm/libpldmresponder/platform.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  - pldm::responder::pdr_state_sensor::generateStateSensorPDR
  source_file: /src/pldm/libpldmresponder/pdr_state_sensor.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/libpldmresponder/bios_integer_attribute.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  - ~BIOSAttribute()
  source_file: /src/pldm/libpldmresponder/bios_attribute.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  - pldm::responder::platform_numeric_effecter::getEffecterRawValue
  - pldm::responder::platform_numeric_effecter::convertToDbusValue
  - pldm::responder::platform_numeric_effecter::setNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getEffecterValue
  - pldm::responder::platform_numeric_effecter::getNumericEffecterValueHandler
  - pldm::responder::platform_numeric_effecter::getNumericEffecterData
  source_file: /src/pldm/libpldmresponder/platform_numeric_effecter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  - pldm::responder::base::Handler::Handler
  - pldm::responder::base::Handler::setOemPlatformHandler
  source_file: /src/pldm/libpldmresponder/base.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::FruImpl::FruImpl
  - pldm::responder::FruImpl::size
  - pldm::responder::FruImpl::checkSum
  - pldm::responder::FruImpl::numRSI
  - pldm::responder::FruImpl::numRecords
  - "&\n        getAssociateEntityMap() const"
  - pldm::responder::FruImpl::setOemPlatformHandler
  - pldm::responder::FruImpl::setOemFruHandler
  - pldm::responder::FruImpl::setPlatformHandler
  - pldm::responder::FruImpl::nextRSI
  - pldm::responder::FruImpl::nextRecordHandle
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::FruImpl::FruImpl
  - pldm::responder::FruImpl::size
  - pldm::responder::FruImpl::checkSum
  - pldm::responder::FruImpl::numRSI
  - pldm::responder::FruImpl::numRecords
  - "&\n        getAssociateEntityMap() const"
  - pldm::responder::FruImpl::setOemPlatformHandler
  - pldm::responder::FruImpl::setOemFruHandler
  - pldm::responder::FruImpl::setPlatformHandler
  - pldm::responder::FruImpl::nextRSI
  - pldm::responder::FruImpl::nextRecordHandle
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::FruImpl::FruImpl
  - pldm::responder::FruImpl::size
  - pldm::responder::FruImpl::checkSum
  - pldm::responder::FruImpl::numRSI
  - pldm::responder::FruImpl::numRecords
  - "&\n        getAssociateEntityMap() const"
  - pldm::responder::FruImpl::setOemPlatformHandler
  - pldm::responder::FruImpl::setOemFruHandler
  - pldm::responder::FruImpl::setPlatformHandler
  - pldm::responder::FruImpl::nextRSI
  - pldm::responder::FruImpl::nextRecordHandle
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::FruImpl::FruImpl
  - pldm::responder::FruImpl::size
  - pldm::responder::FruImpl::checkSum
  - pldm::responder::FruImpl::numRSI
  - pldm::responder::FruImpl::numRecords
  - "&\n        getAssociateEntityMap() const"
  - pldm::responder::FruImpl::setOemPlatformHandler
  - pldm::responder::FruImpl::setOemFruHandler
  - pldm::responder::FruImpl::setPlatformHandler
  - pldm::responder::FruImpl::nextRSI
  - pldm::responder::FruImpl::nextRecordHandle
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  - pldm::responder::fru::Handler::Handler
  - pldm::responder::fru::Handler::buildFRUTable
  - "& getAssociateEntityMap()\n        const"
  - pldm::responder::fru::Handler::setOemPlatformHandler
  - pldm::responder::fru::Handler::setOemFruHandler
  - pldm::responder::fru::Handler::setPlatformHandler
  source_file: /src/pldm/libpldmresponder/fru.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  - pldm::responder::fru_parser::FruParser::FruParser
  - ~FruParser()
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(const FruParser&)'
  - pldm::responder::fru_parser::FruParser::FruParser
  - '& operator=(FruParser&&)'
  - '& inventoryLookup() const'
  - "& getRecordInfo(\n        const pldm::responder::dbus::Interface& intf) const"
  - pldm::responder::fru_parser::FruParser::getEntityType
  source_file: /src/pldm/libpldmresponder/fru_parser.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  - pldm::responder::pdr::getRepoByType
  - pldm::responder::pdr::getRecordByHandle
  source_file: /src/pldm/libpldmresponder/pdr.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::utils::epochToBCDTime
  - pldm::responder::utils::timeToEpoch
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  - pldm::responder::bios::Handler::Handler
  - pldm::responder::bios::Handler::getDateTime
  - pldm::responder::bios::Handler::setDateTime
  - pldm::responder::bios::Handler::getBIOSTable
  - pldm::responder::bios::Handler::setBIOSTable
  - pldm::responder::bios::Handler::getBIOSAttributeCurrentValueByHandle
  - pldm::responder::bios::Handler::setBIOSAttributeCurrentValue
  source_file: /src/pldm/libpldmresponder/bios.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  - pldm::responder::bios::Handler::setOemBiosHandler
  source_file: /src/pldm/libpldmresponder/bios.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const StateSensorEntry& e) const
  - operator<(const StateSensorEntry& e) const
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - ~StateSensorHandler()
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - '& operator=(const StateSensorHandler&)'
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - '& operator=(StateSensorHandler&&)'
  - '& getEventInfo(const StateSensorEntry& entry) const'
  - operator==(const StateSensorEntry& e) const
  - operator<(const StateSensorEntry& e) const
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - ~StateSensorHandler()
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - '& operator=(const StateSensorHandler&)'
  - pldm::responder::events::StateSensorHandler::StateSensorHandler
  - '& operator=(StateSensorHandler&&)'
  - '& getEventInfo(const StateSensorEntry& entry) const'
  source_file: /src/pldm/libpldmresponder/event_parser.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: containerId
        type: pldm::pdr::ContainerID
      - name: entityType
        type: pldm::pdr::EntityType
      - name: entityInstance
        type: pldm::pdr::EntityInstance
      - name: sensorOffset
        type: pldm::pdr::SensorOffset
      - name: stateSetid
        type: pldm::pdr::StateSetId
      - name: skipContainerId
        type: bool
      item_type: struct
      name: StateSensorEntry
      pos:
        line_end: 66
        line_start: 21
        source_file: /src/pldm/libpldmresponder/event_parser.hpp
    - fields:
      - name: containerId
        type: pldm::pdr::ContainerID
      - name: entityType
        type: pldm::pdr::EntityType
      - name: entityInstance
        type: pldm::pdr::EntityInstance
      - name: sensorOffset
        type: pldm::pdr::SensorOffset
      - name: stateSetid
        type: pldm::pdr::StateSetId
      - name: skipContainerId
        type: bool
      item_type: struct
      name: StateSensorEntry
      pos:
        line_end: 66
        line_start: 21
        source_file: /src/pldm/libpldmresponder/event_parser.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  - pldm::responder::platform_state_sensor::getStateSensorEventState
  - pldm::responder::platform_state_sensor::getStateSensorReadingsHandler
  source_file: /src/pldm/libpldmresponder/platform_state_sensor.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
  types:
    enum:
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    - enumerators:
      - name: UNKNOWN
        value: '0x00'
      - name: UTF_16LE
        value: '0x04'
      - name: ASCII
        value: '0x01'
      - name: HEX
        value: '0x02'
      - name: UTF_8
        value: '0x03'
      - name: UTF_16BE
        value: '0x05'
      - name: VENDOR_SPECIFIC
        value: '0xFF'
      item_type: enum
      name: Encoding
      pos:
        line_end: 33
        line_start: 24
        source_file: /src/pldm/libpldmresponder/bios_string_attribute.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  - pldm::responder::bios::BIOSConfig::BIOSConfig
  - pldm::responder::bios::BIOSConfig::checkSystemTypeAvailability
  - pldm::responder::bios::BIOSConfig::initBIOSAttributes
  - pldm::responder::bios::BIOSConfig::buildTables
  - pldm::responder::bios::BIOSConfig::getBIOSTable
  - pldm::responder::bios::BIOSConfig::setBIOSTable
  - pldm::responder::bios::BIOSConfig::checkAttributeTable
  - pldm::responder::bios::BIOSConfig::checkAttributeValueTable
  - pldm::responder::bios::BIOSConfig::updateBaseBIOSTableProperty
  - pldm::responder::bios::BIOSConfig::constructAttributes
  - pldm::responder::bios::BIOSConfig::buildAndStoreAttrTables
  - pldm::responder::bios::BIOSConfig::buildAndStoreStringTable
  - pldm::responder::bios::BIOSConfig::storeTable
  - pldm::responder::bios::BIOSConfig::loadTable
  - pldm::responder::bios::BIOSConfig::load
  - pldm::responder::bios::BIOSConfig::decodeStringFromStringEntry
  - pldm::responder::bios::BIOSConfig::displayStringHandle
  - pldm::responder::bios::BIOSConfig::traceBIOSUpdate
  - pldm::responder::bios::BIOSConfig::checkAttrValueToUpdate
  - pldm::responder::bios::BIOSConfig::setAttrValue
  - pldm::responder::bios::BIOSConfig::removeTables
  - pldm::responder::bios::BIOSConfig::processBiosAttrChangeNotification
  - pldm::responder::bios::BIOSConfig::findAttrHandle
  - pldm::responder::bios::BIOSConfig::constructPendingAttribute
  - pldm::responder::bios::BIOSConfig::listenPendingAttributes
  source_file: /src/pldm/libpldmresponder/bios_config.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  - pldm::responder::platform_config::Handler::Handler
  source_file: /src/pldm/libpldmresponder/platform_config.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MockBIOSStringTable::MockBIOSStringTable
  - checkHeader
  - checkEntry
  - checkConstructEntry
  source_file: /src/pldm/libpldmresponder/test/mocked_bios.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestAttribute::TestAttribute
  - TestAttribute::setAttrValueOnDbus
  - TestAttribute::constructEntry
  - '& getDbusMap()'
  - TestAttribute::updateAttrVal
  - TestAttribute::generateAttributeEntry
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestBIOSTable::SetUp
  - TestBIOSTable::TearDown
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_table_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getIntegerInfo(const BIOSIntegerAttribute& attribute)'
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestBIOSConfig::SetUpTestCase
  - TestBIOSConfig::findJsonEntry
  - TestBIOSConfig::TearDownTestCase
  - MockSystemConfig::MockSystemConfig
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: entity
        type: pldm_entity
      - name: parent
        type: pldm_entity
      - name: host_container_id
        type: uint16_t
      - name: '* first_child'
        type: pldm_entity_node
      - name: '* next_sibling'
        type: pldm_entity_node
      - name: association_type
        type: uint8_t
      item_type: struct
      name: test_pldm_entity_node
      pos:
        line_end: 113
        line_start: 105
        source_file: /src/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
    typedefs: []
    union: []
- function_names:
  - TestSystemSpecificBIOSConfig::SetUpTestCase
  - TestSystemSpecificBIOSConfig::findJsonEntry
  - TestSystemSpecificBIOSConfig::TearDownTestCase
  - MockSystemConfig::MockSystemConfig
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestBaseCommands::TestBaseCommands
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getStringInfo(const BIOSStringAttribute& biosStringAttribute)'
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getPossibleValues(const BIOSEnumAttribute& attribute)'
  - '& getDefaultValue(const BIOSEnumAttribute& attribute)'
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  - pldm::hostbmc::utils::getParentEntites
  - pldm::hostbmc::utils::addObjectPathEntityAssociations
  - pldm::hostbmc::utils::updateEntityAssociation
  - pldm::hostbmc::utils::parseEntityMap
  source_file: /src/pldm/host-bmc/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const SensorEntry& e) const
  - operator<(const SensorEntry& e) const
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::HostPDRHandler
  - '& operator=(const HostPDRHandler&)'
  - '& operator=(HostPDRHandler&&)'
  - ~HostPDRHandler()
  - '& lookupSensorInfo(const SensorEntry& entry) const'
  - pldm::HostPDRHandler::setOemPlatformHandler
  - pldm::HostPDRHandler::setOemUtilsHandler
  - operator==(const SensorEntry& e) const
  - operator<(const SensorEntry& e) const
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::HostPDRHandler
  - '& operator=(const HostPDRHandler&)'
  - '& operator=(HostPDRHandler&&)'
  - ~HostPDRHandler()
  - '& lookupSensorInfo(const SensorEntry& entry) const'
  - pldm::HostPDRHandler::setOemPlatformHandler
  - pldm::HostPDRHandler::setOemUtilsHandler
  source_file: /src/pldm/host-bmc/host_pdr_handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: terminusID
        type: pdr::TerminusID
      - name: sensorID
        type: pdr::SensorID
      item_type: struct
      name: SensorEntry
      pos:
        line_end: 49
        line_start: 34
        source_file: /src/pldm/host-bmc/host_pdr_handler.hpp
    - fields:
      - name: terminusID
        type: pdr::TerminusID
      - name: sensorID
        type: pdr::SensorID
      item_type: struct
      name: SensorEntry
      pos:
        line_end: 49
        line_start: 34
        source_file: /src/pldm/host-bmc/host_pdr_handler.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - '& operator=(const DbusToPLDMEvent&)'
  - '& operator=(DbusToPLDMEvent&&)'
  - ~DbusToPLDMEvent()
  - '& getSensorCache()'
  - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - '& operator=(const DbusToPLDMEvent&)'
  - '& operator=(DbusToPLDMEvent&&)'
  - ~DbusToPLDMEvent()
  - '& getSensorCache()'
  - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - '& operator=(const DbusToPLDMEvent&)'
  - '& operator=(DbusToPLDMEvent&&)'
  - ~DbusToPLDMEvent()
  - '& getSensorCache()'
  - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - '& operator=(const DbusToPLDMEvent&)'
  - '& operator=(DbusToPLDMEvent&&)'
  - ~DbusToPLDMEvent()
  - '& getSensorCache()'
  - pldm::state_sensor::DbusToPLDMEvent::updateSensorCacheMaps
  source_file: /src/pldm/host-bmc/dbus_to_event_handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
  - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
  - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
  - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::DbusToPLDMEvent
  - pldm::state_sensor::DbusToPLDMEvent::sendEventMsg
  - pldm::state_sensor::DbusToPLDMEvent::sendStateSensorEvent
  - pldm::state_sensor::DbusToPLDMEvent::listenSensorEvent
  source_file: /src/pldm/host-bmc/dbus_to_event_handler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::Host
  - '& operator=(const Host&)'
  - pldm::dbus_api::Host::Host
  - '& operator=(Host&&)'
  - ~Host() override
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::setHostPdrObj
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::Host
  - '& operator=(const Host&)'
  - pldm::dbus_api::Host::Host
  - '& operator=(Host&&)'
  - ~Host() override
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::setHostPdrObj
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::Host
  - '& operator=(const Host&)'
  - pldm::dbus_api::Host::Host
  - '& operator=(Host&&)'
  - ~Host() override
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::setHostPdrObj
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::Host
  - '& operator=(const Host&)'
  - pldm::dbus_api::Host::Host
  - '& operator=(Host&&)'
  - ~Host() override
  - pldm::dbus_api::Host::Host
  - pldm::dbus_api::Host::setHostPdrObj
  source_file: /src/pldm/host-bmc/host_condition.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus_api::Host::currentFirmwareCondition
  - pldm::dbus_api::Host::currentFirmwareCondition
  - pldm::dbus_api::Host::currentFirmwareCondition
  - pldm::dbus_api::Host::currentFirmwareCondition
  source_file: /src/pldm/host-bmc/host_condition.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/host-bmc/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::extractTerminusHandle
  - pldm::updateContainerId
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::setPresenceFrus
  - pldm::HostPDRHandler::fetchPDR
  - pldm::HostPDRHandler::_fetchPDR
  - pldm::HostPDRHandler::getHostPDR
  - pldm::HostPDRHandler::handleStateSensorEvent
  - pldm::HostPDRHandler::mergeEntityAssociations
  - pldm::HostPDRHandler::sendPDRRepositoryChgEvent
  - pldm::HostPDRHandler::parseStateSensorPDRs
  - pldm::HostPDRHandler::processHostPDRs
  - pldm::HostPDRHandler::_processPDRRepoChgEvent
  - pldm::HostPDRHandler::_processFetchPDREvent
  - pldm::HostPDRHandler::setHostFirmwareCondition
  - pldm::HostPDRHandler::isHostUp
  - pldm::HostPDRHandler::setHostSensorState
  - pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
  - pldm::HostPDRHandler::getFRURecordTableByRemote
  - pldm::HostPDRHandler::getRSI
  - pldm::HostPDRHandler::setFRUDataOnDBus
  - pldm::HostPDRHandler::setPresentPropertyStatus
  - pldm::HostPDRHandler::setAvailabilityState
  - pldm::HostPDRHandler::createDbusObjects
  - pldm::HostPDRHandler::deletePDRFromRepo
  - pldm::extractTerminusHandle
  - pldm::updateContainerId
  - pldm::HostPDRHandler::HostPDRHandler
  - pldm::HostPDRHandler::setPresenceFrus
  - pldm::HostPDRHandler::fetchPDR
  - pldm::HostPDRHandler::_fetchPDR
  - pldm::HostPDRHandler::getHostPDR
  - pldm::HostPDRHandler::handleStateSensorEvent
  - pldm::HostPDRHandler::mergeEntityAssociations
  - pldm::HostPDRHandler::sendPDRRepositoryChgEvent
  - pldm::HostPDRHandler::parseStateSensorPDRs
  - pldm::HostPDRHandler::processHostPDRs
  - pldm::HostPDRHandler::_processPDRRepoChgEvent
  - pldm::HostPDRHandler::_processFetchPDREvent
  - pldm::HostPDRHandler::setHostFirmwareCondition
  - pldm::HostPDRHandler::isHostUp
  - pldm::HostPDRHandler::setHostSensorState
  - pldm::HostPDRHandler::getFRURecordTableMetadataByRemote
  - pldm::HostPDRHandler::getFRURecordTableByRemote
  - pldm::HostPDRHandler::getRSI
  - pldm::HostPDRHandler::setFRUDataOnDBus
  - pldm::HostPDRHandler::setPresentPropertyStatus
  - pldm::HostPDRHandler::setAvailabilityState
  - pldm::HostPDRHandler::createDbusObjects
  - pldm::HostPDRHandler::deletePDRFromRepo
  source_file: /src/pldm/host-bmc/host_pdr_handler.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/pldm/host-bmc/test/custom_dbus_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/pldm/host-bmc/test/utils_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Motherboard::Motherboard
  - ~Motherboard() override
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(const Motherboard&)'
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(Motherboard&&)'
  - pldm::dbus::Motherboard::Motherboard
  - pldm::dbus::Motherboard::Motherboard
  - ~Motherboard() override
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(const Motherboard&)'
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(Motherboard&&)'
  - pldm::dbus::Motherboard::Motherboard
  - pldm::dbus::Motherboard::Motherboard
  - ~Motherboard() override
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(const Motherboard&)'
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(Motherboard&&)'
  - pldm::dbus::Motherboard::Motherboard
  - pldm::dbus::Motherboard::Motherboard
  - ~Motherboard() override
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(const Motherboard&)'
  - pldm::dbus::Motherboard::Motherboard
  - '& operator=(Motherboard&&)'
  - pldm::dbus::Motherboard::Motherboard
  source_file: /src/pldm/host-bmc/dbus/motherboard.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::FabricAdapter::FabricAdapter
  - ~FabricAdapter() override
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(const FabricAdapter&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(FabricAdapter&&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - pldm::dbus::FabricAdapter::FabricAdapter
  - ~FabricAdapter() override
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(const FabricAdapter&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(FabricAdapter&&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - pldm::dbus::FabricAdapter::FabricAdapter
  - ~FabricAdapter() override
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(const FabricAdapter&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(FabricAdapter&&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - pldm::dbus::FabricAdapter::FabricAdapter
  - ~FabricAdapter() override
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(const FabricAdapter&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  - '& operator=(FabricAdapter&&)'
  - pldm::dbus::FabricAdapter::FabricAdapter
  source_file: /src/pldm/host-bmc/dbus/fabric_adapter.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - '& operator=(const CustomDBus&)'
  - '& operator=(CustomDBus&&)'
  - ~CustomDBus()
  - '& getCustomDBus()'
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - '& operator=(const CustomDBus&)'
  - '& operator=(CustomDBus&&)'
  - ~CustomDBus()
  - '& getCustomDBus()'
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - '& operator=(const CustomDBus&)'
  - '& operator=(CustomDBus&&)'
  - ~CustomDBus()
  - '& getCustomDBus()'
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - pldm::dbus::CustomDBus::CustomDBus
  - '& operator=(const CustomDBus&)'
  - '& operator=(CustomDBus&&)'
  - ~CustomDBus()
  - '& getCustomDBus()'
  source_file: /src/pldm/host-bmc/dbus/custom_dbus.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::PCIeDevice::PCIeDevice
  - ~PCIeDevice() override
  - pldm::dbus::PCIeDevice::PCIeDevice
  - '& operator=(const PCIeDevice&)'
  - pldm::dbus::PCIeDevice::PCIeDevice
  - pldm::dbus::PCIeDevice::PCIeDevice
  - ~PCIeDevice() override
  - pldm::dbus::PCIeDevice::PCIeDevice
  - '& operator=(const PCIeDevice&)'
  - pldm::dbus::PCIeDevice::PCIeDevice
  - pldm::dbus::PCIeDevice::PCIeDevice
  - ~PCIeDevice() override
  - pldm::dbus::PCIeDevice::PCIeDevice
  - '& operator=(const PCIeDevice&)'
  - pldm::dbus::PCIeDevice::PCIeDevice
  - pldm::dbus::PCIeDevice::PCIeDevice
  - ~PCIeDevice() override
  - pldm::dbus::PCIeDevice::PCIeDevice
  - '& operator=(const PCIeDevice&)'
  - pldm::dbus::PCIeDevice::PCIeDevice
  source_file: /src/pldm/host-bmc/dbus/pcie_device.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Asset::partNumber
  - pldm::dbus::Asset::partNumber
  - pldm::dbus::Asset::partNumber
  - pldm::dbus::Asset::partNumber
  source_file: /src/pldm/host-bmc/dbus/asset.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Fan::Fan
  - ~Fan() override
  - pldm::dbus::Fan::Fan
  - '& operator=(const Fan&)'
  - pldm::dbus::Fan::Fan
  - '& operator=(Fan&&)'
  - pldm::dbus::Fan::Fan
  - pldm::dbus::Fan::Fan
  - ~Fan() override
  - pldm::dbus::Fan::Fan
  - '& operator=(const Fan&)'
  - pldm::dbus::Fan::Fan
  - '& operator=(Fan&&)'
  - pldm::dbus::Fan::Fan
  - pldm::dbus::Fan::Fan
  - ~Fan() override
  - pldm::dbus::Fan::Fan
  - '& operator=(const Fan&)'
  - pldm::dbus::Fan::Fan
  - '& operator=(Fan&&)'
  - pldm::dbus::Fan::Fan
  - pldm::dbus::Fan::Fan
  - ~Fan() override
  - pldm::dbus::Fan::Fan
  - '& operator=(const Fan&)'
  - pldm::dbus::Fan::Fan
  - '& operator=(Fan&&)'
  - pldm::dbus::Fan::Fan
  source_file: /src/pldm/host-bmc/dbus/fan.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Asset::Asset
  - ~Asset() override
  - pldm::dbus::Asset::Asset
  - '& operator=(const Asset&)'
  - pldm::dbus::Asset::Asset
  - '& operator=(Asset&&)'
  - pldm::dbus::Asset::Asset
  - pldm::dbus::Asset::Asset
  - ~Asset() override
  - pldm::dbus::Asset::Asset
  - '& operator=(const Asset&)'
  - pldm::dbus::Asset::Asset
  - '& operator=(Asset&&)'
  - pldm::dbus::Asset::Asset
  - pldm::dbus::Asset::Asset
  - ~Asset() override
  - pldm::dbus::Asset::Asset
  - '& operator=(const Asset&)'
  - pldm::dbus::Asset::Asset
  - '& operator=(Asset&&)'
  - pldm::dbus::Asset::Asset
  - pldm::dbus::Asset::Asset
  - ~Asset() override
  - pldm::dbus::Asset::Asset
  - '& operator=(const Asset&)'
  - pldm::dbus::Asset::Asset
  - '& operator=(Asset&&)'
  - pldm::dbus::Asset::Asset
  source_file: /src/pldm/host-bmc/dbus/asset.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Cable::Cable
  - ~Cable() override
  - pldm::dbus::Cable::Cable
  - '& operator=(const Cable&)'
  - pldm::dbus::Cable::Cable
  - pldm::dbus::Cable::Cable
  - ~Cable() override
  - pldm::dbus::Cable::Cable
  - '& operator=(const Cable&)'
  - pldm::dbus::Cable::Cable
  - pldm::dbus::Cable::Cable
  - ~Cable() override
  - pldm::dbus::Cable::Cable
  - '& operator=(const Cable&)'
  - pldm::dbus::Cable::Cable
  - pldm::dbus::Cable::Cable
  - ~Cable() override
  - pldm::dbus::Cable::Cable
  - '& operator=(const Cable&)'
  - pldm::dbus::Cable::Cable
  source_file: /src/pldm/host-bmc/dbus/cable.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::generationInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  - pldm::dbus::PCIeDevice::lanesInUse
  source_file: /src/pldm/host-bmc/dbus/pcie_device.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::generation
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::lanes
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::slotType
  - pldm::dbus::PCIeSlot::hotPluggable
  - pldm::dbus::PCIeSlot::hotPluggable
  source_file: /src/pldm/host-bmc/dbus/pcie_slot.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Panel::Panel
  - ~Panel() override
  - pldm::dbus::Panel::Panel
  - '& operator=(const Panel&)'
  - pldm::dbus::Panel::Panel
  - '& operator=(Panel&&)'
  - pldm::dbus::Panel::Panel
  - pldm::dbus::Panel::Panel
  - ~Panel() override
  - pldm::dbus::Panel::Panel
  - '& operator=(const Panel&)'
  - pldm::dbus::Panel::Panel
  - '& operator=(Panel&&)'
  - pldm::dbus::Panel::Panel
  - pldm::dbus::Panel::Panel
  - ~Panel() override
  - pldm::dbus::Panel::Panel
  - '& operator=(const Panel&)'
  - pldm::dbus::Panel::Panel
  - '& operator=(Panel&&)'
  - pldm::dbus::Panel::Panel
  - pldm::dbus::Panel::Panel
  - ~Panel() override
  - pldm::dbus::Panel::Panel
  - '& operator=(const Panel&)'
  - pldm::dbus::Panel::Panel
  - '& operator=(Panel&&)'
  - pldm::dbus::Panel::Panel
  source_file: /src/pldm/host-bmc/dbus/panel.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::VRM::VRM
  - ~VRM() override
  - pldm::dbus::VRM::VRM
  - '& operator=(const VRM&)'
  - pldm::dbus::VRM::VRM
  - '& operator=(VRM&&)'
  - pldm::dbus::VRM::VRM
  - pldm::dbus::VRM::VRM
  - ~VRM() override
  - pldm::dbus::VRM::VRM
  - '& operator=(const VRM&)'
  - pldm::dbus::VRM::VRM
  - '& operator=(VRM&&)'
  - pldm::dbus::VRM::VRM
  - pldm::dbus::VRM::VRM
  - ~VRM() override
  - pldm::dbus::VRM::VRM
  - '& operator=(const VRM&)'
  - pldm::dbus::VRM::VRM
  - '& operator=(VRM&&)'
  - pldm::dbus::VRM::VRM
  - pldm::dbus::VRM::VRM
  - ~VRM() override
  - pldm::dbus::VRM::VRM
  - '& operator=(const VRM&)'
  - pldm::dbus::VRM::VRM
  - '& operator=(VRM&&)'
  - pldm::dbus::VRM::VRM
  source_file: /src/pldm/host-bmc/dbus/vrm.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::CustomDBus::setLocationCode
  - pldm::dbus::CustomDBus::getLocationCode
  - pldm::dbus::CustomDBus::implementCpuCoreInterface
  - pldm::dbus::CustomDBus::setMicroCode
  - pldm::dbus::CustomDBus::getMicroCode
  - pldm::dbus::CustomDBus::implementPCIeSlotInterface
  - pldm::dbus::CustomDBus::setSlotType
  - pldm::dbus::CustomDBus::implementPCIeDeviceInterface
  - pldm::dbus::CustomDBus::setPCIeDeviceProps
  - pldm::dbus::CustomDBus::implementCableInterface
  - pldm::dbus::CustomDBus::setCableAttributes
  - pldm::dbus::CustomDBus::implementMotherboardInterface
  - pldm::dbus::CustomDBus::implementFabricAdapter
  - pldm::dbus::CustomDBus::implementBoard
  - pldm::dbus::CustomDBus::implementPowerSupplyInterface
  - pldm::dbus::CustomDBus::implementFanInterface
  - pldm::dbus::CustomDBus::implementConnecterInterface
  - pldm::dbus::CustomDBus::implementChassisInterface
  - pldm::dbus::CustomDBus::implementAssetInterface
  - pldm::dbus::CustomDBus::setAvailabilityState
  - pldm::dbus::CustomDBus::updateItemPresentStatus
  - pldm::dbus::CustomDBus::implementPanelInterface
  - pldm::dbus::CustomDBus::implementVRMInterface
  - pldm::dbus::CustomDBus::setLocationCode
  - pldm::dbus::CustomDBus::getLocationCode
  - pldm::dbus::CustomDBus::implementCpuCoreInterface
  - pldm::dbus::CustomDBus::setMicroCode
  - pldm::dbus::CustomDBus::getMicroCode
  - pldm::dbus::CustomDBus::implementPCIeSlotInterface
  - pldm::dbus::CustomDBus::setSlotType
  - pldm::dbus::CustomDBus::implementPCIeDeviceInterface
  - pldm::dbus::CustomDBus::setPCIeDeviceProps
  - pldm::dbus::CustomDBus::implementCableInterface
  - pldm::dbus::CustomDBus::setCableAttributes
  - pldm::dbus::CustomDBus::implementMotherboardInterface
  - pldm::dbus::CustomDBus::implementFabricAdapter
  - pldm::dbus::CustomDBus::implementBoard
  - pldm::dbus::CustomDBus::implementPowerSupplyInterface
  - pldm::dbus::CustomDBus::implementFanInterface
  - pldm::dbus::CustomDBus::implementConnecterInterface
  - pldm::dbus::CustomDBus::implementChassisInterface
  - pldm::dbus::CustomDBus::implementAssetInterface
  - pldm::dbus::CustomDBus::setAvailabilityState
  - pldm::dbus::CustomDBus::updateItemPresentStatus
  - pldm::dbus::CustomDBus::implementPanelInterface
  - pldm::dbus::CustomDBus::implementVRMInterface
  - pldm::dbus::CustomDBus::setLocationCode
  - pldm::dbus::CustomDBus::getLocationCode
  - pldm::dbus::CustomDBus::implementCpuCoreInterface
  - pldm::dbus::CustomDBus::setMicroCode
  - pldm::dbus::CustomDBus::getMicroCode
  - pldm::dbus::CustomDBus::implementPCIeSlotInterface
  - pldm::dbus::CustomDBus::setSlotType
  - pldm::dbus::CustomDBus::implementPCIeDeviceInterface
  - pldm::dbus::CustomDBus::setPCIeDeviceProps
  - pldm::dbus::CustomDBus::implementCableInterface
  - pldm::dbus::CustomDBus::setCableAttributes
  - pldm::dbus::CustomDBus::implementMotherboardInterface
  - pldm::dbus::CustomDBus::implementFabricAdapter
  - pldm::dbus::CustomDBus::implementBoard
  - pldm::dbus::CustomDBus::implementPowerSupplyInterface
  - pldm::dbus::CustomDBus::implementFanInterface
  - pldm::dbus::CustomDBus::implementConnecterInterface
  - pldm::dbus::CustomDBus::implementChassisInterface
  - pldm::dbus::CustomDBus::implementAssetInterface
  - pldm::dbus::CustomDBus::setAvailabilityState
  - pldm::dbus::CustomDBus::updateItemPresentStatus
  - pldm::dbus::CustomDBus::implementPanelInterface
  - pldm::dbus::CustomDBus::implementVRMInterface
  - pldm::dbus::CustomDBus::setLocationCode
  - pldm::dbus::CustomDBus::getLocationCode
  - pldm::dbus::CustomDBus::implementCpuCoreInterface
  - pldm::dbus::CustomDBus::setMicroCode
  - pldm::dbus::CustomDBus::getMicroCode
  - pldm::dbus::CustomDBus::implementPCIeSlotInterface
  - pldm::dbus::CustomDBus::setSlotType
  - pldm::dbus::CustomDBus::implementPCIeDeviceInterface
  - pldm::dbus::CustomDBus::setPCIeDeviceProps
  - pldm::dbus::CustomDBus::implementCableInterface
  - pldm::dbus::CustomDBus::setCableAttributes
  - pldm::dbus::CustomDBus::implementMotherboardInterface
  - pldm::dbus::CustomDBus::implementFabricAdapter
  - pldm::dbus::CustomDBus::implementBoard
  - pldm::dbus::CustomDBus::implementPowerSupplyInterface
  - pldm::dbus::CustomDBus::implementFanInterface
  - pldm::dbus::CustomDBus::implementConnecterInterface
  - pldm::dbus::CustomDBus::implementChassisInterface
  - pldm::dbus::CustomDBus::implementAssetInterface
  - pldm::dbus::CustomDBus::setAvailabilityState
  - pldm::dbus::CustomDBus::updateItemPresentStatus
  - pldm::dbus::CustomDBus::implementPanelInterface
  - pldm::dbus::CustomDBus::implementVRMInterface
  source_file: /src/pldm/host-bmc/dbus/custom_dbus.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::length
  - pldm::dbus::Cable::cableTypeDescription
  - pldm::dbus::Cable::cableTypeDescription
  source_file: /src/pldm/host-bmc/dbus/cable.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  - pldm::dbus::Availability::available
  source_file: /src/pldm/host-bmc/dbus/availability.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::ItemChassis::ItemChassis
  - ~ItemChassis() override
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(const ItemChassis&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(ItemChassis&&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - pldm::dbus::ItemChassis::ItemChassis
  - ~ItemChassis() override
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(const ItemChassis&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(ItemChassis&&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - pldm::dbus::ItemChassis::ItemChassis
  - ~ItemChassis() override
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(const ItemChassis&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(ItemChassis&&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - pldm::dbus::ItemChassis::ItemChassis
  - ~ItemChassis() override
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(const ItemChassis&)'
  - pldm::dbus::ItemChassis::ItemChassis
  - '& operator=(ItemChassis&&)'
  - pldm::dbus::ItemChassis::ItemChassis
  source_file: /src/pldm/host-bmc/dbus/chassis.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::PowerSupply::PowerSupply
  - ~PowerSupply() override
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(const PowerSupply&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(PowerSupply&&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - pldm::dbus::PowerSupply::PowerSupply
  - ~PowerSupply() override
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(const PowerSupply&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(PowerSupply&&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - pldm::dbus::PowerSupply::PowerSupply
  - ~PowerSupply() override
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(const PowerSupply&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(PowerSupply&&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - pldm::dbus::PowerSupply::PowerSupply
  - ~PowerSupply() override
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(const PowerSupply&)'
  - pldm::dbus::PowerSupply::PowerSupply
  - '& operator=(PowerSupply&&)'
  - pldm::dbus::PowerSupply::PowerSupply
  source_file: /src/pldm/host-bmc/dbus/power_supply.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::PCIeSlot::PCIeSlot
  - ~PCIeSlot() override
  - pldm::dbus::PCIeSlot::PCIeSlot
  - '& operator=(const PCIeSlot&)'
  - pldm::dbus::PCIeSlot::PCIeSlot
  - pldm::dbus::PCIeSlot::PCIeSlot
  - ~PCIeSlot() override
  - pldm::dbus::PCIeSlot::PCIeSlot
  - '& operator=(const PCIeSlot&)'
  - pldm::dbus::PCIeSlot::PCIeSlot
  - pldm::dbus::PCIeSlot::PCIeSlot
  - ~PCIeSlot() override
  - pldm::dbus::PCIeSlot::PCIeSlot
  - '& operator=(const PCIeSlot&)'
  - pldm::dbus::PCIeSlot::PCIeSlot
  - pldm::dbus::PCIeSlot::PCIeSlot
  - ~PCIeSlot() override
  - pldm::dbus::PCIeSlot::PCIeSlot
  - '& operator=(const PCIeSlot&)'
  - pldm::dbus::PCIeSlot::PCIeSlot
  source_file: /src/pldm/host-bmc/dbus/pcie_slot.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::InventoryItem::InventoryItem
  - ~InventoryItem() override
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(const InventoryItem&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(InventoryItem&&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - pldm::dbus::InventoryItem::InventoryItem
  - ~InventoryItem() override
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(const InventoryItem&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(InventoryItem&&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - pldm::dbus::InventoryItem::InventoryItem
  - ~InventoryItem() override
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(const InventoryItem&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(InventoryItem&&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - pldm::dbus::InventoryItem::InventoryItem
  - ~InventoryItem() override
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(const InventoryItem&)'
  - pldm::dbus::InventoryItem::InventoryItem
  - '& operator=(InventoryItem&&)'
  - pldm::dbus::InventoryItem::InventoryItem
  source_file: /src/pldm/host-bmc/dbus/inventory_item.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  - pldm::dbus::CPUCore::microcode
  source_file: /src/pldm/host-bmc/dbus/cpu_core.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::CPUCore::CPUCore
  - ~CPUCore() override
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(const CPUCore&)'
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(CPUCore&&)'
  - pldm::dbus::CPUCore::CPUCore
  - pldm::dbus::CPUCore::CPUCore
  - ~CPUCore() override
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(const CPUCore&)'
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(CPUCore&&)'
  - pldm::dbus::CPUCore::CPUCore
  - pldm::dbus::CPUCore::CPUCore
  - ~CPUCore() override
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(const CPUCore&)'
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(CPUCore&&)'
  - pldm::dbus::CPUCore::CPUCore
  - pldm::dbus::CPUCore::CPUCore
  - ~CPUCore() override
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(const CPUCore&)'
  - pldm::dbus::CPUCore::CPUCore
  - '& operator=(CPUCore&&)'
  - pldm::dbus::CPUCore::CPUCore
  source_file: /src/pldm/host-bmc/dbus/cpu_core.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Board::Board
  - ~Board() override
  - pldm::dbus::Board::Board
  - '& operator=(const Board&)'
  - pldm::dbus::Board::Board
  - '& operator=(Board&&)'
  - pldm::dbus::Board::Board
  - pldm::dbus::Board::Board
  - ~Board() override
  - pldm::dbus::Board::Board
  - '& operator=(const Board&)'
  - pldm::dbus::Board::Board
  - '& operator=(Board&&)'
  - pldm::dbus::Board::Board
  - pldm::dbus::Board::Board
  - ~Board() override
  - pldm::dbus::Board::Board
  - '& operator=(const Board&)'
  - pldm::dbus::Board::Board
  - '& operator=(Board&&)'
  - pldm::dbus::Board::Board
  - pldm::dbus::Board::Board
  - ~Board() override
  - pldm::dbus::Board::Board
  - '& operator=(const Board&)'
  - pldm::dbus::Board::Board
  - '& operator=(Board&&)'
  - pldm::dbus::Board::Board
  source_file: /src/pldm/host-bmc/dbus/board.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Availability::Availability
  - ~Availability() override
  - pldm::dbus::Availability::Availability
  - '& operator=(const Availability&)'
  - pldm::dbus::Availability::Availability
  - '& operator=(Availability&&)'
  - pldm::dbus::Availability::Availability
  - pldm::dbus::Availability::Availability
  - ~Availability() override
  - pldm::dbus::Availability::Availability
  - '& operator=(const Availability&)'
  - pldm::dbus::Availability::Availability
  - '& operator=(Availability&&)'
  - pldm::dbus::Availability::Availability
  - pldm::dbus::Availability::Availability
  - ~Availability() override
  - pldm::dbus::Availability::Availability
  - '& operator=(const Availability&)'
  - pldm::dbus::Availability::Availability
  - '& operator=(Availability&&)'
  - pldm::dbus::Availability::Availability
  - pldm::dbus::Availability::Availability
  - ~Availability() override
  - pldm::dbus::Availability::Availability
  - '& operator=(const Availability&)'
  - pldm::dbus::Availability::Availability
  - '& operator=(Availability&&)'
  - pldm::dbus::Availability::Availability
  source_file: /src/pldm/host-bmc/dbus/availability.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::prettyName
  - pldm::dbus::InventoryItem::present
  - pldm::dbus::InventoryItem::present
  source_file: /src/pldm/host-bmc/dbus/inventory_item.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::Connector::Connector
  - ~Connector() override
  - pldm::dbus::Connector::Connector
  - '& operator=(const Connector&)'
  - pldm::dbus::Connector::Connector
  - '& operator=(Connector&&)'
  - pldm::dbus::Connector::Connector
  - pldm::dbus::Connector::Connector
  - ~Connector() override
  - pldm::dbus::Connector::Connector
  - '& operator=(const Connector&)'
  - pldm::dbus::Connector::Connector
  - '& operator=(Connector&&)'
  - pldm::dbus::Connector::Connector
  - pldm::dbus::Connector::Connector
  - ~Connector() override
  - pldm::dbus::Connector::Connector
  - '& operator=(const Connector&)'
  - pldm::dbus::Connector::Connector
  - '& operator=(Connector&&)'
  - pldm::dbus::Connector::Connector
  - pldm::dbus::Connector::Connector
  - ~Connector() override
  - pldm::dbus::Connector::Connector
  - '& operator=(const Connector&)'
  - pldm::dbus::Connector::Connector
  - '& operator=(Connector&&)'
  - pldm::dbus::Connector::Connector
  source_file: /src/pldm/host-bmc/dbus/connector.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  - pldm::dbus::ItemChassis::type
  source_file: /src/pldm/host-bmc/dbus/chassis.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(const PldmEntityBase&)'
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(PldmEntityBase&&) noexcept'
  - ~PldmEntityBase()
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(const PldmEntityReq&)'
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(PldmEntityReq&&) noexcept'
  - ~PldmEntityReq() override
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::partNumber
  - pldm::dbus_api::PldmEntityReq::serialNumber
  - pldm::dbus_api::PldmEntityReq::manufacturer
  - pldm::dbus_api::PldmEntityReq::buildDate
  - pldm::dbus_api::PldmEntityReq::model
  - pldm::dbus_api::PldmEntityReq::subModel
  - pldm::dbus_api::PldmEntityReq::sparePartNumber
  - pldm::dbus_api::PldmEntityReq::assetTag
  - pldm::dbus_api::PldmEntityReq::version
  - pldm::dbus_api::PldmEntityReq::names
  - pldm::dbus_api::createPldmEntity
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(const PldmEntityBase&)'
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(PldmEntityBase&&) noexcept'
  - ~PldmEntityBase()
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(const PldmEntityReq&)'
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(PldmEntityReq&&) noexcept'
  - ~PldmEntityReq() override
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::partNumber
  - pldm::dbus_api::PldmEntityReq::serialNumber
  - pldm::dbus_api::PldmEntityReq::manufacturer
  - pldm::dbus_api::PldmEntityReq::buildDate
  - pldm::dbus_api::PldmEntityReq::model
  - pldm::dbus_api::PldmEntityReq::subModel
  - pldm::dbus_api::PldmEntityReq::sparePartNumber
  - pldm::dbus_api::PldmEntityReq::assetTag
  - pldm::dbus_api::PldmEntityReq::version
  - pldm::dbus_api::PldmEntityReq::names
  - pldm::dbus_api::createPldmEntity
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(const PldmEntityBase&)'
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(PldmEntityBase&&) noexcept'
  - ~PldmEntityBase()
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(const PldmEntityReq&)'
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(PldmEntityReq&&) noexcept'
  - ~PldmEntityReq() override
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::partNumber
  - pldm::dbus_api::PldmEntityReq::serialNumber
  - pldm::dbus_api::PldmEntityReq::manufacturer
  - pldm::dbus_api::PldmEntityReq::buildDate
  - pldm::dbus_api::PldmEntityReq::model
  - pldm::dbus_api::PldmEntityReq::subModel
  - pldm::dbus_api::PldmEntityReq::sparePartNumber
  - pldm::dbus_api::PldmEntityReq::assetTag
  - pldm::dbus_api::PldmEntityReq::version
  - pldm::dbus_api::PldmEntityReq::names
  - pldm::dbus_api::createPldmEntity
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(const PldmEntityBase&)'
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - '& operator=(PldmEntityBase&&) noexcept'
  - ~PldmEntityBase()
  - pldm::dbus_api::PldmEntityBase::PldmEntityBase
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(const PldmEntityReq&)'
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - '& operator=(PldmEntityReq&&) noexcept'
  - ~PldmEntityReq() override
  - pldm::dbus_api::PldmEntityReq::PldmEntityReq
  - pldm::dbus_api::PldmEntityReq::partNumber
  - pldm::dbus_api::PldmEntityReq::serialNumber
  - pldm::dbus_api::PldmEntityReq::manufacturer
  - pldm::dbus_api::PldmEntityReq::buildDate
  - pldm::dbus_api::PldmEntityReq::model
  - pldm::dbus_api::PldmEntityReq::subModel
  - pldm::dbus_api::PldmEntityReq::sparePartNumber
  - pldm::dbus_api::PldmEntityReq::assetTag
  - pldm::dbus_api::PldmEntityReq::version
  - pldm::dbus_api::PldmEntityReq::names
  - pldm::dbus_api::createPldmEntity
  source_file: /src/pldm/platform-mc/dbus_impl_fru.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::Manager::beforeDiscoverTerminus
  - pldm::platform_mc::Manager::afterDiscoverTerminus
  - pldm::platform_mc::Manager::pollForPlatformEvent
  - pldm::platform_mc::Manager::oemPollForPlatformEvent
  - pldm::platform_mc::Manager::beforeDiscoverTerminus
  - pldm::platform_mc::Manager::afterDiscoverTerminus
  - pldm::platform_mc::Manager::pollForPlatformEvent
  - pldm::platform_mc::Manager::oemPollForPlatformEvent
  - pldm::platform_mc::Manager::beforeDiscoverTerminus
  - pldm::platform_mc::Manager::afterDiscoverTerminus
  - pldm::platform_mc::Manager::pollForPlatformEvent
  - pldm::platform_mc::Manager::oemPollForPlatformEvent
  - pldm::platform_mc::Manager::beforeDiscoverTerminus
  - pldm::platform_mc::Manager::afterDiscoverTerminus
  - pldm::platform_mc::Manager::pollForPlatformEvent
  - pldm::platform_mc::Manager::oemPollForPlatformEvent
  source_file: /src/pldm/platform-mc/manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::startPolling
  - pldm::platform_mc::SensorManager::startSensorPollTimer
  - pldm::platform_mc::SensorManager::disableTerminusSensors
  - pldm::platform_mc::SensorManager::stopPolling
  - pldm::platform_mc::SensorManager::doSensorPolling
  - pldm::platform_mc::SensorManager::doSensorPollingTask
  - pldm::platform_mc::SensorManager::getSensorReading
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::startPolling
  - pldm::platform_mc::SensorManager::startSensorPollTimer
  - pldm::platform_mc::SensorManager::disableTerminusSensors
  - pldm::platform_mc::SensorManager::stopPolling
  - pldm::platform_mc::SensorManager::doSensorPolling
  - pldm::platform_mc::SensorManager::doSensorPollingTask
  - pldm::platform_mc::SensorManager::getSensorReading
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::startPolling
  - pldm::platform_mc::SensorManager::startSensorPollTimer
  - pldm::platform_mc::SensorManager::disableTerminusSensors
  - pldm::platform_mc::SensorManager::stopPolling
  - pldm::platform_mc::SensorManager::doSensorPolling
  - pldm::platform_mc::SensorManager::doSensorPollingTask
  - pldm::platform_mc::SensorManager::getSensorReading
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::startPolling
  - pldm::platform_mc::SensorManager::startSensorPollTimer
  - pldm::platform_mc::SensorManager::disableTerminusSensors
  - pldm::platform_mc::SensorManager::stopPolling
  - pldm::platform_mc::SensorManager::doSensorPolling
  - pldm::platform_mc::SensorManager::doSensorPollingTask
  - pldm::platform_mc::SensorManager::getSensorReading
  source_file: /src/pldm/platform-mc/sensor_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::host_effecters::HostEffecterParser::populatePropVals
  - pldm::host_effecters::HostEffecterParser::parseEffecterJson
  - pldm::host_effecters::HostEffecterParser::isHostOn
  - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::adjustValue
  - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::findNewStateValue
  - pldm::host_effecters::getEffecterDataSize
  - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
  - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
  - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
  - pldm::host_effecters::HostEffecterParser::populatePropVals
  - pldm::host_effecters::HostEffecterParser::parseEffecterJson
  - pldm::host_effecters::HostEffecterParser::isHostOn
  - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::adjustValue
  - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::findNewStateValue
  - pldm::host_effecters::getEffecterDataSize
  - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
  - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
  - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
  - pldm::host_effecters::HostEffecterParser::populatePropVals
  - pldm::host_effecters::HostEffecterParser::parseEffecterJson
  - pldm::host_effecters::HostEffecterParser::isHostOn
  - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::adjustValue
  - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::findNewStateValue
  - pldm::host_effecters::getEffecterDataSize
  - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
  - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
  - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
  - pldm::host_effecters::HostEffecterParser::populatePropVals
  - pldm::host_effecters::HostEffecterParser::parseEffecterJson
  - pldm::host_effecters::HostEffecterParser::isHostOn
  - pldm::host_effecters::HostEffecterParser::processHostEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::adjustValue
  - pldm::host_effecters::HostEffecterParser::processTerminusNumericEffecterChangeNotification
  - pldm::host_effecters::HostEffecterParser::findNewStateValue
  - pldm::host_effecters::getEffecterDataSize
  - pldm::host_effecters::HostEffecterParser::setTerminusNumericEffecter
  - pldm::host_effecters::HostEffecterParser::setHostStateEffecter
  - pldm::host_effecters::HostEffecterParser::createHostEffecterMatch
  source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::PlatformManager::initTerminus
  - pldm::platform_mc::PlatformManager::configEventReceiver
  - pldm::platform_mc::PlatformManager::getPDRs
  - pldm::platform_mc::PlatformManager::getPDR
  - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
  - pldm::platform_mc::PlatformManager::eventMessageBufferSize
  - pldm::platform_mc::PlatformManager::setEventReceiver
  - pldm::platform_mc::PlatformManager::eventMessageSupported
  - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
  - pldm::platform_mc::PlatformManager::getFRURecordTable
  - pldm::platform_mc::PlatformManager::updateInventoryWithFru
  - pldm::platform_mc::PlatformManager::getFRURecordTables
  - pldm::platform_mc::PlatformManager::initTerminus
  - pldm::platform_mc::PlatformManager::configEventReceiver
  - pldm::platform_mc::PlatformManager::getPDRs
  - pldm::platform_mc::PlatformManager::getPDR
  - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
  - pldm::platform_mc::PlatformManager::eventMessageBufferSize
  - pldm::platform_mc::PlatformManager::setEventReceiver
  - pldm::platform_mc::PlatformManager::eventMessageSupported
  - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
  - pldm::platform_mc::PlatformManager::getFRURecordTable
  - pldm::platform_mc::PlatformManager::updateInventoryWithFru
  - pldm::platform_mc::PlatformManager::getFRURecordTables
  - pldm::platform_mc::PlatformManager::initTerminus
  - pldm::platform_mc::PlatformManager::configEventReceiver
  - pldm::platform_mc::PlatformManager::getPDRs
  - pldm::platform_mc::PlatformManager::getPDR
  - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
  - pldm::platform_mc::PlatformManager::eventMessageBufferSize
  - pldm::platform_mc::PlatformManager::setEventReceiver
  - pldm::platform_mc::PlatformManager::eventMessageSupported
  - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
  - pldm::platform_mc::PlatformManager::getFRURecordTable
  - pldm::platform_mc::PlatformManager::updateInventoryWithFru
  - pldm::platform_mc::PlatformManager::getFRURecordTables
  - pldm::platform_mc::PlatformManager::initTerminus
  - pldm::platform_mc::PlatformManager::configEventReceiver
  - pldm::platform_mc::PlatformManager::getPDRs
  - pldm::platform_mc::PlatformManager::getPDR
  - pldm::platform_mc::PlatformManager::getPDRRepositoryInfo
  - pldm::platform_mc::PlatformManager::eventMessageBufferSize
  - pldm::platform_mc::PlatformManager::setEventReceiver
  - pldm::platform_mc::PlatformManager::eventMessageSupported
  - pldm::platform_mc::PlatformManager::getFRURecordTableMetadata
  - pldm::platform_mc::PlatformManager::getFRURecordTable
  - pldm::platform_mc::PlatformManager::updateInventoryWithFru
  - pldm::platform_mc::PlatformManager::getFRURecordTables
  source_file: /src/pldm/platform-mc/platform_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - '& operator=(const SensorManager&)'
  - '& operator=(SensorManager&&)'
  - ~SensorManager()
  - pldm::platform_mc::SensorManager::updateAvailableState
  - pldm::platform_mc::SensorManager::getAvailableState
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - '& operator=(const SensorManager&)'
  - '& operator=(SensorManager&&)'
  - ~SensorManager()
  - pldm::platform_mc::SensorManager::updateAvailableState
  - pldm::platform_mc::SensorManager::getAvailableState
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - '& operator=(const SensorManager&)'
  - '& operator=(SensorManager&&)'
  - ~SensorManager()
  - pldm::platform_mc::SensorManager::updateAvailableState
  - pldm::platform_mc::SensorManager::getAvailableState
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - pldm::platform_mc::SensorManager::SensorManager
  - '& operator=(const SensorManager&)'
  - '& operator=(SensorManager&&)'
  - ~SensorManager()
  - pldm::platform_mc::SensorManager::updateAvailableState
  - pldm::platform_mc::SensorManager::getAvailableState
  source_file: /src/pldm/platform-mc/sensor_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: scope
        type: exec::async_scope
      - name: rcOpt
        type: std::optional<int>
      item_type: struct
      name: PollHandle
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/pldm/platform-mc/sensor_manager.hpp
    - fields:
      - name: scope
        type: exec::async_scope
      - name: rcOpt
        type: std::optional<int>
      item_type: struct
      name: PollHandle
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/pldm/platform-mc/sensor_manager.hpp
    - fields:
      - name: scope
        type: exec::async_scope
      - name: rcOpt
        type: std::optional<int>
      item_type: struct
      name: PollHandle
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/pldm/platform-mc/sensor_manager.hpp
    - fields:
      - name: scope
        type: exec::async_scope
      - name: rcOpt
        type: std::optional<int>
      item_type: struct
      name: PollHandle
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/pldm/platform-mc/sensor_manager.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(const HostEffecterParser&)'
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(HostEffecterParser&&)'
  - ~HostEffecterParser()
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(const HostEffecterParser&)'
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(HostEffecterParser&&)'
  - ~HostEffecterParser()
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(const HostEffecterParser&)'
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(HostEffecterParser&&)'
  - ~HostEffecterParser()
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(const HostEffecterParser&)'
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  - '& operator=(HostEffecterParser&&)'
  - ~HostEffecterParser()
  - pldm::host_effecters::HostEffecterParser::HostEffecterParser
  source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stateSetId
        type: uint16_t
      - name: states
        type: std::vector<uint8_t>
      item_type: struct
      name: PossibleState
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: propertyValues
        type: std::vector<pldm::utils::PropertyValue>
      - name: state
        type: PossibleState
      item_type: struct
      name: DBusEffecterMapping
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: dataSize
        type: uint8_t
      - name: resolution
        type: double
      - name: offset
        type: double
      - name: unitModifier
        type: int8_t
      - name: propertyValue
        type: double
      item_type: struct
      name: DBusNumericEffecterMapping
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: mctpEid
        type: uint8_t
      - name: terminusName
        type: std::string
      - name: effecterPdrType
        type: uint8_t
      - name: containerId
        type: uint16_t
      - name: entityType
        type: uint16_t
      - name: entityInstance
        type: uint16_t
      - name: compEffecterCnt
        type: uint8_t
      - name: checkHostState
        type: bool
      - name: dbusInfo
        type: std::vector<DBusEffecterMapping>
      - name: dbusNumericEffecterInfo
        type: std::vector<DBusNumericEffecterMapping>
      item_type: struct
      name: EffecterInfo
      pos:
        line_end: 75
        line_start: 61
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: stateSetId
        type: uint16_t
      - name: states
        type: std::vector<uint8_t>
      item_type: struct
      name: PossibleState
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: propertyValues
        type: std::vector<pldm::utils::PropertyValue>
      - name: state
        type: PossibleState
      item_type: struct
      name: DBusEffecterMapping
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: dataSize
        type: uint8_t
      - name: resolution
        type: double
      - name: offset
        type: double
      - name: unitModifier
        type: int8_t
      - name: propertyValue
        type: double
      item_type: struct
      name: DBusNumericEffecterMapping
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: mctpEid
        type: uint8_t
      - name: terminusName
        type: std::string
      - name: effecterPdrType
        type: uint8_t
      - name: containerId
        type: uint16_t
      - name: entityType
        type: uint16_t
      - name: entityInstance
        type: uint16_t
      - name: compEffecterCnt
        type: uint8_t
      - name: checkHostState
        type: bool
      - name: dbusInfo
        type: std::vector<DBusEffecterMapping>
      - name: dbusNumericEffecterInfo
        type: std::vector<DBusNumericEffecterMapping>
      item_type: struct
      name: EffecterInfo
      pos:
        line_end: 75
        line_start: 61
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: stateSetId
        type: uint16_t
      - name: states
        type: std::vector<uint8_t>
      item_type: struct
      name: PossibleState
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: propertyValues
        type: std::vector<pldm::utils::PropertyValue>
      - name: state
        type: PossibleState
      item_type: struct
      name: DBusEffecterMapping
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: dataSize
        type: uint8_t
      - name: resolution
        type: double
      - name: offset
        type: double
      - name: unitModifier
        type: int8_t
      - name: propertyValue
        type: double
      item_type: struct
      name: DBusNumericEffecterMapping
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: mctpEid
        type: uint8_t
      - name: terminusName
        type: std::string
      - name: effecterPdrType
        type: uint8_t
      - name: containerId
        type: uint16_t
      - name: entityType
        type: uint16_t
      - name: entityInstance
        type: uint16_t
      - name: compEffecterCnt
        type: uint8_t
      - name: checkHostState
        type: bool
      - name: dbusInfo
        type: std::vector<DBusEffecterMapping>
      - name: dbusNumericEffecterInfo
        type: std::vector<DBusNumericEffecterMapping>
      item_type: struct
      name: EffecterInfo
      pos:
        line_end: 75
        line_start: 61
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: stateSetId
        type: uint16_t
      - name: states
        type: std::vector<uint8_t>
      item_type: struct
      name: PossibleState
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: propertyValues
        type: std::vector<pldm::utils::PropertyValue>
      - name: state
        type: PossibleState
      item_type: struct
      name: DBusEffecterMapping
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: dbusMap
        type: pldm::utils::DBusMapping
      - name: dataSize
        type: uint8_t
      - name: resolution
        type: double
      - name: offset
        type: double
      - name: unitModifier
        type: int8_t
      - name: propertyValue
        type: double
      item_type: struct
      name: DBusNumericEffecterMapping
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    - fields:
      - name: mctpEid
        type: uint8_t
      - name: terminusName
        type: std::string
      - name: effecterPdrType
        type: uint8_t
      - name: containerId
        type: uint16_t
      - name: entityType
        type: uint16_t
      - name: entityInstance
        type: uint16_t
      - name: compEffecterCnt
        type: uint8_t
      - name: checkHostState
        type: bool
      - name: dbusInfo
        type: std::vector<DBusEffecterMapping>
      - name: dbusNumericEffecterInfo
        type: std::vector<DBusNumericEffecterMapping>
      item_type: struct
      name: EffecterInfo
      pos:
        line_end: 75
        line_start: 61
        source_file: /src/pldm/platform-mc/dbus_to_terminus_effecters.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::NumericSensor::createInventoryPath
  - pldm::platform_mc::getSensorDataValue
  - pldm::platform_mc::getRangeFieldValue
  - pldm::platform_mc::NumericSensor::setSensorUnit
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::conversionFormula
  - pldm::platform_mc::NumericSensor::unitModifier
  - pldm::platform_mc::NumericSensor::updateReading
  - pldm::platform_mc::NumericSensor::handleErrGetSensorReading
  - pldm::platform_mc::NumericSensor::checkThreshold
  - pldm::platform_mc::NumericSensor::hasThresholdAlarm
  - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
  - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
  - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
  - pldm::platform_mc::NumericSensor::setThresholdAlarm
  - pldm::platform_mc::NumericSensor::clearThresholdLog
  - pldm::platform_mc::logThresholdHelper
  - pldm::platform_mc::NumericSensor::createThresholdLog
  - pldm::platform_mc::NumericSensor::createNormalRangeLog
  - pldm::platform_mc::NumericSensor::updateThresholds
  - pldm::platform_mc::NumericSensor::triggerThresholdEvent
  - pldm::platform_mc::NumericSensor::createInventoryPath
  - pldm::platform_mc::getSensorDataValue
  - pldm::platform_mc::getRangeFieldValue
  - pldm::platform_mc::NumericSensor::setSensorUnit
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::conversionFormula
  - pldm::platform_mc::NumericSensor::unitModifier
  - pldm::platform_mc::NumericSensor::updateReading
  - pldm::platform_mc::NumericSensor::handleErrGetSensorReading
  - pldm::platform_mc::NumericSensor::checkThreshold
  - pldm::platform_mc::NumericSensor::hasThresholdAlarm
  - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
  - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
  - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
  - pldm::platform_mc::NumericSensor::setThresholdAlarm
  - pldm::platform_mc::NumericSensor::clearThresholdLog
  - pldm::platform_mc::logThresholdHelper
  - pldm::platform_mc::NumericSensor::createThresholdLog
  - pldm::platform_mc::NumericSensor::createNormalRangeLog
  - pldm::platform_mc::NumericSensor::updateThresholds
  - pldm::platform_mc::NumericSensor::triggerThresholdEvent
  - pldm::platform_mc::NumericSensor::createInventoryPath
  - pldm::platform_mc::getSensorDataValue
  - pldm::platform_mc::getRangeFieldValue
  - pldm::platform_mc::NumericSensor::setSensorUnit
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::conversionFormula
  - pldm::platform_mc::NumericSensor::unitModifier
  - pldm::platform_mc::NumericSensor::updateReading
  - pldm::platform_mc::NumericSensor::handleErrGetSensorReading
  - pldm::platform_mc::NumericSensor::checkThreshold
  - pldm::platform_mc::NumericSensor::hasThresholdAlarm
  - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
  - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
  - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
  - pldm::platform_mc::NumericSensor::setThresholdAlarm
  - pldm::platform_mc::NumericSensor::clearThresholdLog
  - pldm::platform_mc::logThresholdHelper
  - pldm::platform_mc::NumericSensor::createThresholdLog
  - pldm::platform_mc::NumericSensor::createNormalRangeLog
  - pldm::platform_mc::NumericSensor::updateThresholds
  - pldm::platform_mc::NumericSensor::triggerThresholdEvent
  - pldm::platform_mc::NumericSensor::createInventoryPath
  - pldm::platform_mc::getSensorDataValue
  - pldm::platform_mc::getRangeFieldValue
  - pldm::platform_mc::NumericSensor::setSensorUnit
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::NumericSensor
  - pldm::platform_mc::NumericSensor::conversionFormula
  - pldm::platform_mc::NumericSensor::unitModifier
  - pldm::platform_mc::NumericSensor::updateReading
  - pldm::platform_mc::NumericSensor::handleErrGetSensorReading
  - pldm::platform_mc::NumericSensor::checkThreshold
  - pldm::platform_mc::NumericSensor::hasThresholdAlarm
  - pldm::platform_mc::NumericSensor::setWarningThresholdAlarm
  - pldm::platform_mc::NumericSensor::setCriticalThresholdAlarm
  - pldm::platform_mc::NumericSensor::setHardShutdownThresholdAlarm
  - pldm::platform_mc::NumericSensor::setThresholdAlarm
  - pldm::platform_mc::NumericSensor::clearThresholdLog
  - pldm::platform_mc::logThresholdHelper
  - pldm::platform_mc::NumericSensor::createThresholdLog
  - pldm::platform_mc::NumericSensor::createNormalRangeLog
  - pldm::platform_mc::NumericSensor::updateThresholds
  - pldm::platform_mc::NumericSensor::triggerThresholdEvent
  source_file: /src/pldm/platform-mc/numeric_sensor.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::Terminus::Terminus
  - pldm::platform_mc::Terminus::doesSupportType
  - pldm::platform_mc::Terminus::doesSupportCommand
  - pldm::platform_mc::Terminus::findTerminusName
  - pldm::platform_mc::Terminus::findTerminusEntityType
  - pldm::platform_mc::Terminus::createInventoryPath
  - pldm::platform_mc::Terminus::parseTerminusPDRs
  - pldm::platform_mc::Terminus::addNextSensorFromPDRs
  - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
  - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseNumericSensorPDR
  - pldm::platform_mc::Terminus::addNumericSensor
  - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
  - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
  - pldm::platform_mc::Terminus::addCompactNumericSensor
  - pldm::platform_mc::Terminus::getSensorObject
  - pldm::platform_mc::isTableEnd
  - pldm::platform_mc::Terminus::updateInventoryWithFru
  - pldm::platform_mc::Terminus::getSensorNames
  - pldm::platform_mc::Terminus::Terminus
  - pldm::platform_mc::Terminus::doesSupportType
  - pldm::platform_mc::Terminus::doesSupportCommand
  - pldm::platform_mc::Terminus::findTerminusName
  - pldm::platform_mc::Terminus::findTerminusEntityType
  - pldm::platform_mc::Terminus::createInventoryPath
  - pldm::platform_mc::Terminus::parseTerminusPDRs
  - pldm::platform_mc::Terminus::addNextSensorFromPDRs
  - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
  - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseNumericSensorPDR
  - pldm::platform_mc::Terminus::addNumericSensor
  - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
  - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
  - pldm::platform_mc::Terminus::addCompactNumericSensor
  - pldm::platform_mc::Terminus::getSensorObject
  - pldm::platform_mc::isTableEnd
  - pldm::platform_mc::Terminus::updateInventoryWithFru
  - pldm::platform_mc::Terminus::getSensorNames
  - pldm::platform_mc::Terminus::Terminus
  - pldm::platform_mc::Terminus::doesSupportType
  - pldm::platform_mc::Terminus::doesSupportCommand
  - pldm::platform_mc::Terminus::findTerminusName
  - pldm::platform_mc::Terminus::findTerminusEntityType
  - pldm::platform_mc::Terminus::createInventoryPath
  - pldm::platform_mc::Terminus::parseTerminusPDRs
  - pldm::platform_mc::Terminus::addNextSensorFromPDRs
  - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
  - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseNumericSensorPDR
  - pldm::platform_mc::Terminus::addNumericSensor
  - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
  - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
  - pldm::platform_mc::Terminus::addCompactNumericSensor
  - pldm::platform_mc::Terminus::getSensorObject
  - pldm::platform_mc::isTableEnd
  - pldm::platform_mc::Terminus::updateInventoryWithFru
  - pldm::platform_mc::Terminus::getSensorNames
  - pldm::platform_mc::Terminus::Terminus
  - pldm::platform_mc::Terminus::doesSupportType
  - pldm::platform_mc::Terminus::doesSupportCommand
  - pldm::platform_mc::Terminus::findTerminusName
  - pldm::platform_mc::Terminus::findTerminusEntityType
  - pldm::platform_mc::Terminus::createInventoryPath
  - pldm::platform_mc::Terminus::parseTerminusPDRs
  - pldm::platform_mc::Terminus::addNextSensorFromPDRs
  - pldm::platform_mc::Terminus::getSensorAuxiliaryNames
  - pldm::platform_mc::Terminus::parseSensorAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseEntityAuxiliaryNamesPDR
  - pldm::platform_mc::Terminus::parseNumericSensorPDR
  - pldm::platform_mc::Terminus::addNumericSensor
  - pldm::platform_mc::Terminus::parseCompactNumericSensorNames
  - pldm::platform_mc::Terminus::parseCompactNumericSensorPDR
  - pldm::platform_mc::Terminus::addCompactNumericSensor
  - pldm::platform_mc::Terminus::getSensorObject
  - pldm::platform_mc::isTableEnd
  - pldm::platform_mc::Terminus::updateInventoryWithFru
  - pldm::platform_mc::Terminus::getSensorNames
  source_file: /src/pldm/platform-mc/terminus.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - '& operator=(const PlatformManager&)'
  - '& operator=(PlatformManager&&)'
  - ~PlatformManager()
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - '& operator=(const PlatformManager&)'
  - '& operator=(PlatformManager&&)'
  - ~PlatformManager()
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - '& operator=(const PlatformManager&)'
  - '& operator=(PlatformManager&&)'
  - ~PlatformManager()
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - pldm::platform_mc::PlatformManager::PlatformManager
  - '& operator=(const PlatformManager&)'
  - '& operator=(PlatformManager&&)'
  - ~PlatformManager()
  - pldm::platform_mc::PlatformManager::PlatformManager
  source_file: /src/pldm/platform-mc/platform_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - '& operator=(const TerminusManager&)'
  - '& operator=(TerminusManager&&)'
  - ~TerminusManager()
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::getLocalEid
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - '& operator=(const TerminusManager&)'
  - '& operator=(TerminusManager&&)'
  - ~TerminusManager()
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::getLocalEid
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - '& operator=(const TerminusManager&)'
  - '& operator=(TerminusManager&&)'
  - ~TerminusManager()
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::getLocalEid
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::TerminusManager
  - '& operator=(const TerminusManager&)'
  - '& operator=(TerminusManager&&)'
  - ~TerminusManager()
  - pldm::platform_mc::TerminusManager::TerminusManager
  - pldm::platform_mc::TerminusManager::getLocalEid
  source_file: /src/pldm/platform-mc/terminus_manager.hpp
  types:
    enum:
    - enumerators:
      - name: MCTP
      item_type: enum
      name: SupportedTransportLayer
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/pldm/platform-mc/terminus_manager.hpp
    - enumerators:
      - name: MCTP
      item_type: enum
      name: SupportedTransportLayer
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/pldm/platform-mc/terminus_manager.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::Terminus::setSupportedCommands
  - pldm::platform_mc::Terminus::setSupportedTypeVersions
  - pldm::platform_mc::Terminus::getTid
  - pldm::platform_mc::Terminus::setTerminusName
  - pldm::platform_mc::Terminus::getTerminusName
  - pldm::platform_mc::Terminus::setSupportedCommands
  - pldm::platform_mc::Terminus::setSupportedTypeVersions
  - pldm::platform_mc::Terminus::getTid
  - pldm::platform_mc::Terminus::setTerminusName
  - pldm::platform_mc::Terminus::getTerminusName
  - pldm::platform_mc::Terminus::setSupportedCommands
  - pldm::platform_mc::Terminus::setSupportedTypeVersions
  - pldm::platform_mc::Terminus::getTid
  - pldm::platform_mc::Terminus::setTerminusName
  - pldm::platform_mc::Terminus::getTerminusName
  - pldm::platform_mc::Terminus::setSupportedCommands
  - pldm::platform_mc::Terminus::setSupportedTypeVersions
  - pldm::platform_mc::Terminus::getTid
  - pldm::platform_mc::Terminus::setTerminusName
  - pldm::platform_mc::Terminus::getTerminusName
  source_file: /src/pldm/platform-mc/terminus.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::EventManager::handlePlatformEvent
  - pldm::platform_mc::triggerNumericSensorThresholdEvent
  - pldm::platform_mc::EventManager::processNumericSensorEvent
  - pldm::platform_mc::EventManager::processCperEvent
  - pldm::platform_mc::EventManager::createCperDumpEntry
  - pldm::platform_mc::EventManager::getNextPartParameters
  - pldm::platform_mc::EventManager::callPolledEventHandlers
  - pldm::platform_mc::EventManager::pollForPlatformEventTask
  - pldm::platform_mc::EventManager::pollForPlatformEventMessage
  - pldm::platform_mc::EventManager::handlePlatformEvent
  - pldm::platform_mc::triggerNumericSensorThresholdEvent
  - pldm::platform_mc::EventManager::processNumericSensorEvent
  - pldm::platform_mc::EventManager::processCperEvent
  - pldm::platform_mc::EventManager::createCperDumpEntry
  - pldm::platform_mc::EventManager::getNextPartParameters
  - pldm::platform_mc::EventManager::callPolledEventHandlers
  - pldm::platform_mc::EventManager::pollForPlatformEventTask
  - pldm::platform_mc::EventManager::pollForPlatformEventMessage
  - pldm::platform_mc::EventManager::handlePlatformEvent
  - pldm::platform_mc::triggerNumericSensorThresholdEvent
  - pldm::platform_mc::EventManager::processNumericSensorEvent
  - pldm::platform_mc::EventManager::processCperEvent
  - pldm::platform_mc::EventManager::createCperDumpEntry
  - pldm::platform_mc::EventManager::getNextPartParameters
  - pldm::platform_mc::EventManager::callPolledEventHandlers
  - pldm::platform_mc::EventManager::pollForPlatformEventTask
  - pldm::platform_mc::EventManager::pollForPlatformEventMessage
  - pldm::platform_mc::EventManager::handlePlatformEvent
  - pldm::platform_mc::triggerNumericSensorThresholdEvent
  - pldm::platform_mc::EventManager::processNumericSensorEvent
  - pldm::platform_mc::EventManager::processCperEvent
  - pldm::platform_mc::EventManager::createCperDumpEntry
  - pldm::platform_mc::EventManager::getNextPartParameters
  - pldm::platform_mc::EventManager::callPolledEventHandlers
  - pldm::platform_mc::EventManager::pollForPlatformEventTask
  - pldm::platform_mc::EventManager::pollForPlatformEventMessage
  source_file: /src/pldm/platform-mc/event_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::handleMctpEndpoints
  - pldm::platform_mc::Manager::handleRemovedMctpEndpoints
  - pldm::platform_mc::Manager::updateMctpEndpointAvailability
  - pldm::platform_mc::Manager::startSensorPolling
  - pldm::platform_mc::Manager::updateAvailableState
  - pldm::platform_mc::Manager::stopSensorPolling
  - pldm::platform_mc::Manager::handleSensorEvent
  - pldm::platform_mc::Manager::handleCperEvent
  - pldm::platform_mc::Manager::handlePldmMessagePollEvent
  - pldm::platform_mc::Manager::handlePolledCperEvent
  - pldm::platform_mc::Manager::registerPolledEventHandler
  - pldm::platform_mc::Manager::registerOEMPollMethod
  - pldm::platform_mc::Manager::getActiveEidByName
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::handleMctpEndpoints
  - pldm::platform_mc::Manager::handleRemovedMctpEndpoints
  - pldm::platform_mc::Manager::updateMctpEndpointAvailability
  - pldm::platform_mc::Manager::startSensorPolling
  - pldm::platform_mc::Manager::updateAvailableState
  - pldm::platform_mc::Manager::stopSensorPolling
  - pldm::platform_mc::Manager::handleSensorEvent
  - pldm::platform_mc::Manager::handleCperEvent
  - pldm::platform_mc::Manager::handlePldmMessagePollEvent
  - pldm::platform_mc::Manager::handlePolledCperEvent
  - pldm::platform_mc::Manager::registerPolledEventHandler
  - pldm::platform_mc::Manager::registerOEMPollMethod
  - pldm::platform_mc::Manager::getActiveEidByName
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::handleMctpEndpoints
  - pldm::platform_mc::Manager::handleRemovedMctpEndpoints
  - pldm::platform_mc::Manager::updateMctpEndpointAvailability
  - pldm::platform_mc::Manager::startSensorPolling
  - pldm::platform_mc::Manager::updateAvailableState
  - pldm::platform_mc::Manager::stopSensorPolling
  - pldm::platform_mc::Manager::handleSensorEvent
  - pldm::platform_mc::Manager::handleCperEvent
  - pldm::platform_mc::Manager::handlePldmMessagePollEvent
  - pldm::platform_mc::Manager::handlePolledCperEvent
  - pldm::platform_mc::Manager::registerPolledEventHandler
  - pldm::platform_mc::Manager::registerOEMPollMethod
  - pldm::platform_mc::Manager::getActiveEidByName
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::platform_mc::Manager::Manager
  - pldm::platform_mc::Manager::handleMctpEndpoints
  - pldm::platform_mc::Manager::handleRemovedMctpEndpoints
  - pldm::platform_mc::Manager::updateMctpEndpointAvailability
  - pldm::platform_mc::Manager::startSensorPolling
  - pldm::platform_mc::Manager::updateAvailableState
  - pldm::platform_mc::Manager::stopSensorPolling
  - pldm::platform_mc::Manager::handleSensorEvent
  - pldm::platform_mc::Manager::handleCperEvent
  - pldm::platform_mc::Manager::handlePldmMessagePollEvent
  - pldm::platform_mc::Manager::handlePolledCperEvent
  - pldm::platform_mc::Manager::registerPolledEventHandler
  - pldm::platform_mc::Manager::registerOEMPollMethod
  - pldm::platform_mc::Manager::getActiveEidByName
  source_file: /src/pldm/platform-mc/manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~NumericSensor()
  - pldm::platform_mc::NumericSensor::setInventoryPath
  - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
  - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
  - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
  - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
  - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
  - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
  - pldm::platform_mc::NumericSensor::getThreshold
  - pldm::platform_mc::NumericSensor::isThresholdValid
  - pldm::platform_mc::NumericSensor::getThresholdAlarm
  - ~NumericSensor()
  - pldm::platform_mc::NumericSensor::setInventoryPath
  - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
  - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
  - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
  - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
  - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
  - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
  - pldm::platform_mc::NumericSensor::getThreshold
  - pldm::platform_mc::NumericSensor::isThresholdValid
  - pldm::platform_mc::NumericSensor::getThresholdAlarm
  - ~NumericSensor()
  - pldm::platform_mc::NumericSensor::setInventoryPath
  - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
  - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
  - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
  - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
  - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
  - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
  - pldm::platform_mc::NumericSensor::getThreshold
  - pldm::platform_mc::NumericSensor::isThresholdValid
  - pldm::platform_mc::NumericSensor::getThresholdAlarm
  - ~NumericSensor()
  - pldm::platform_mc::NumericSensor::setInventoryPath
  - pldm::platform_mc::NumericSensor::getThresholdUpperCritical
  - pldm::platform_mc::NumericSensor::getThresholdLowerCritical
  - pldm::platform_mc::NumericSensor::getThresholdUpperWarning
  - pldm::platform_mc::NumericSensor::getThresholdLowerWarning
  - pldm::platform_mc::NumericSensor::getThresholdUpperHardShutdown
  - pldm::platform_mc::NumericSensor::getThresholdLowerHardShutdown
  - pldm::platform_mc::NumericSensor::getThreshold
  - pldm::platform_mc::NumericSensor::isThresholdValid
  - pldm::platform_mc::NumericSensor::getThresholdAlarm
  source_file: /src/pldm/platform-mc/numeric_sensor.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - '& operator=(const EventManager&)'
  - '& operator=(EventManager&&)'
  - ~EventManager()
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::updateAvailableState
  - pldm::platform_mc::EventManager::getAvailableState
  - pldm::platform_mc::EventManager::registerPolledEventHandler
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - '& operator=(const EventManager&)'
  - '& operator=(EventManager&&)'
  - ~EventManager()
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::updateAvailableState
  - pldm::platform_mc::EventManager::getAvailableState
  - pldm::platform_mc::EventManager::registerPolledEventHandler
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - '& operator=(const EventManager&)'
  - '& operator=(EventManager&&)'
  - ~EventManager()
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::updateAvailableState
  - pldm::platform_mc::EventManager::getAvailableState
  - pldm::platform_mc::EventManager::registerPolledEventHandler
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::EventManager
  - '& operator=(const EventManager&)'
  - '& operator=(EventManager&&)'
  - ~EventManager()
  - pldm::platform_mc::EventManager::EventManager
  - pldm::platform_mc::EventManager::updateAvailableState
  - pldm::platform_mc::EventManager::getAvailableState
  - pldm::platform_mc::EventManager::registerPolledEventHandler
  source_file: /src/pldm/platform-mc/event_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::TerminusManager::toMctpInfo
  - pldm::platform_mc::TerminusManager::toTid
  - pldm::platform_mc::TerminusManager::storeTerminusInfo
  - pldm::platform_mc::TerminusManager::mapTid
  - pldm::platform_mc::TerminusManager::unmapTid
  - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
  - pldm::platform_mc::TerminusManager::constructEndpointObjPath
  - pldm::platform_mc::TerminusManager::discoverMctpTerminus
  - pldm::platform_mc::TerminusManager::findTerminusPtr
  - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
  - pldm::platform_mc::TerminusManager::removeMctpTerminus
  - pldm::platform_mc::TerminusManager::initMctpTerminus
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::TerminusManager::getTidOverMctp
  - pldm::platform_mc::TerminusManager::setTidOverMctp
  - pldm::platform_mc::TerminusManager::getPLDMTypes
  - pldm::platform_mc::TerminusManager::getPLDMCommands
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
  - pldm::platform_mc::TerminusManager::getPLDMVersion
  - pldm::platform_mc::TerminusManager::getActiveEidByName
  - pldm::platform_mc::TerminusManager::toMctpInfo
  - pldm::platform_mc::TerminusManager::toTid
  - pldm::platform_mc::TerminusManager::storeTerminusInfo
  - pldm::platform_mc::TerminusManager::mapTid
  - pldm::platform_mc::TerminusManager::unmapTid
  - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
  - pldm::platform_mc::TerminusManager::constructEndpointObjPath
  - pldm::platform_mc::TerminusManager::discoverMctpTerminus
  - pldm::platform_mc::TerminusManager::findTerminusPtr
  - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
  - pldm::platform_mc::TerminusManager::removeMctpTerminus
  - pldm::platform_mc::TerminusManager::initMctpTerminus
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::TerminusManager::getTidOverMctp
  - pldm::platform_mc::TerminusManager::setTidOverMctp
  - pldm::platform_mc::TerminusManager::getPLDMTypes
  - pldm::platform_mc::TerminusManager::getPLDMCommands
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
  - pldm::platform_mc::TerminusManager::getPLDMVersion
  - pldm::platform_mc::TerminusManager::getActiveEidByName
  - pldm::platform_mc::TerminusManager::toMctpInfo
  - pldm::platform_mc::TerminusManager::toTid
  - pldm::platform_mc::TerminusManager::storeTerminusInfo
  - pldm::platform_mc::TerminusManager::mapTid
  - pldm::platform_mc::TerminusManager::unmapTid
  - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
  - pldm::platform_mc::TerminusManager::constructEndpointObjPath
  - pldm::platform_mc::TerminusManager::discoverMctpTerminus
  - pldm::platform_mc::TerminusManager::findTerminusPtr
  - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
  - pldm::platform_mc::TerminusManager::removeMctpTerminus
  - pldm::platform_mc::TerminusManager::initMctpTerminus
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::TerminusManager::getTidOverMctp
  - pldm::platform_mc::TerminusManager::setTidOverMctp
  - pldm::platform_mc::TerminusManager::getPLDMTypes
  - pldm::platform_mc::TerminusManager::getPLDMCommands
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
  - pldm::platform_mc::TerminusManager::getPLDMVersion
  - pldm::platform_mc::TerminusManager::getActiveEidByName
  - pldm::platform_mc::TerminusManager::toMctpInfo
  - pldm::platform_mc::TerminusManager::toTid
  - pldm::platform_mc::TerminusManager::storeTerminusInfo
  - pldm::platform_mc::TerminusManager::mapTid
  - pldm::platform_mc::TerminusManager::unmapTid
  - pldm::platform_mc::TerminusManager::updateMctpEndpointAvailability
  - pldm::platform_mc::TerminusManager::constructEndpointObjPath
  - pldm::platform_mc::TerminusManager::discoverMctpTerminus
  - pldm::platform_mc::TerminusManager::findTerminusPtr
  - pldm::platform_mc::TerminusManager::discoverMctpTerminusTask
  - pldm::platform_mc::TerminusManager::removeMctpTerminus
  - pldm::platform_mc::TerminusManager::initMctpTerminus
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::TerminusManager::getTidOverMctp
  - pldm::platform_mc::TerminusManager::setTidOverMctp
  - pldm::platform_mc::TerminusManager::getPLDMTypes
  - pldm::platform_mc::TerminusManager::getPLDMCommands
  - pldm::platform_mc::TerminusManager::sendRecvPldmMsg
  - pldm::platform_mc::TerminusManager::getPLDMVersion
  - pldm::platform_mc::TerminusManager::getActiveEidByName
  source_file: /src/pldm/platform-mc/terminus_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::MockEventManager::MockEventManager
  - pldm::platform_mc::MockEventManager::MockEventManager
  - pldm::platform_mc::MockEventManager::MockEventManager
  - pldm::platform_mc::MockEventManager::MockEventManager
  source_file: /src/pldm/platform-mc/test/mock_event_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TerminusManagerTest::TerminusManagerTest
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/platform-mc/test/terminus_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::MockTerminusManager::MockTerminusManager
  - pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::MockTerminusManager::enqueueResponse
  - pldm::platform_mc::MockTerminusManager::clearQueuedResponses
  - pldm::platform_mc::MockTerminusManager::MockTerminusManager
  - pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::MockTerminusManager::enqueueResponse
  - pldm::platform_mc::MockTerminusManager::clearQueuedResponses
  - pldm::platform_mc::MockTerminusManager::MockTerminusManager
  - pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::MockTerminusManager::enqueueResponse
  - pldm::platform_mc::MockTerminusManager::clearQueuedResponses
  - pldm::platform_mc::MockTerminusManager::MockTerminusManager
  - pldm::platform_mc::MockTerminusManager::sendRecvPldmMsgOverMctp
  - pldm::platform_mc::MockTerminusManager::enqueueResponse
  - pldm::platform_mc::MockTerminusManager::clearQueuedResponses
  source_file: /src/pldm/platform-mc/test/mock_terminus_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  source_file: /src/pldm/platform-mc/test/numeric_sensor_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SensorManagerTest::SensorManagerTest
  - TEST_F
  source_file: /src/pldm/platform-mc/test/sensor_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::platform_mc::MockSensorManager::MockSensorManager
  - pldm::platform_mc::MockSensorManager::MockSensorManager
  - pldm::platform_mc::MockSensorManager::MockSensorManager
  - pldm::platform_mc::MockSensorManager::MockSensorManager
  source_file: /src/pldm/platform-mc/test/mock_sensor_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PlatformManagerTest::PlatformManagerTest
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/platform-mc/test/platform_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EventManagerTest::EventManagerTest
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/platform-mc/test/event_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - utils::runEventLoopForSeconds
  - utils::runEventLoopForSeconds
  source_file: /src/pldm/platform-mc/test/utils_test.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MockHostEffecterParser::MockHostEffecterParser
  - '& gethostEffecterInfo()'
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/platform-mc/test/dbus_to_terminus_effecter_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/platform-mc/test/terminus_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: entityType
        type: uint16_t
      - name: '* description'
        type: char
      item_type: struct
      name: EntityTestCase
      pos:
        line_end: 368
        line_start: 364
        source_file: /src/pldm/platform-mc/test/terminus_test.cpp
    typedefs: []
    union: []
- function_names:
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - '& operator=(const RequestRetryTimer&)'
  - '& operator=(RequestRetryTimer&&)'
  - ~RequestRetryTimer()
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::start
  - pldm::requester::RequestRetryTimer::stop
  - pldm::requester::RequestRetryTimer::callback
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - '& operator=(const Request&)'
  - '& operator=(Request&&)'
  - ~Request() override
  - pldm::requester::Request::Request
  - pldm::requester::Request::send
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - '& operator=(const RequestRetryTimer&)'
  - '& operator=(RequestRetryTimer&&)'
  - ~RequestRetryTimer()
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::start
  - pldm::requester::RequestRetryTimer::stop
  - pldm::requester::RequestRetryTimer::callback
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - '& operator=(const Request&)'
  - '& operator=(Request&&)'
  - ~Request() override
  - pldm::requester::Request::Request
  - pldm::requester::Request::send
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - '& operator=(const RequestRetryTimer&)'
  - '& operator=(RequestRetryTimer&&)'
  - ~RequestRetryTimer()
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::start
  - pldm::requester::RequestRetryTimer::stop
  - pldm::requester::RequestRetryTimer::callback
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - '& operator=(const Request&)'
  - '& operator=(Request&&)'
  - ~Request() override
  - pldm::requester::Request::Request
  - pldm::requester::Request::send
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - '& operator=(const RequestRetryTimer&)'
  - '& operator=(RequestRetryTimer&&)'
  - ~RequestRetryTimer()
  - pldm::requester::RequestRetryTimer::RequestRetryTimer
  - pldm::requester::RequestRetryTimer::start
  - pldm::requester::RequestRetryTimer::stop
  - pldm::requester::RequestRetryTimer::callback
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - pldm::requester::Request::Request
  - '& operator=(const Request&)'
  - '& operator=(Request&&)'
  - ~Request() override
  - pldm::requester::Request::Request
  - pldm::requester::Request::send
  source_file: /src/pldm/requester/request.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const RequestKey& e) const
  - operator()(const RequestKey& key) const
  - operator==(const mctp_eid_t& mctpEid) const
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - '& operator=(const Handler&)'
  - '& operator=(Handler&&)'
  - ~Handler()
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::instanceIdExpiryCallBack
  - pldm::requester::Handler::pollEndpointQueue
  - pldm::requester::Handler::registerRequest
  - pldm::requester::Handler::unregisterRequest
  - pldm::requester::Handler::handleResponse
  - pldm::requester::Handler::removeRequestEntry
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::start
  - pldm::requester::onStop
  - pldm::requester::onComplete
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::connect
  - pldm::requester::Handler<RequestInterface>::sendRecvMsg
  - operator==(const RequestKey& e) const
  - operator()(const RequestKey& key) const
  - operator==(const mctp_eid_t& mctpEid) const
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - '& operator=(const Handler&)'
  - '& operator=(Handler&&)'
  - ~Handler()
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::instanceIdExpiryCallBack
  - pldm::requester::Handler::pollEndpointQueue
  - pldm::requester::Handler::registerRequest
  - pldm::requester::Handler::unregisterRequest
  - pldm::requester::Handler::handleResponse
  - pldm::requester::Handler::removeRequestEntry
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::start
  - pldm::requester::onStop
  - pldm::requester::onComplete
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::connect
  - pldm::requester::Handler<RequestInterface>::sendRecvMsg
  - operator==(const RequestKey& e) const
  - operator()(const RequestKey& key) const
  - operator==(const mctp_eid_t& mctpEid) const
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - '& operator=(const Handler&)'
  - '& operator=(Handler&&)'
  - ~Handler()
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::instanceIdExpiryCallBack
  - pldm::requester::Handler::pollEndpointQueue
  - pldm::requester::Handler::registerRequest
  - pldm::requester::Handler::unregisterRequest
  - pldm::requester::Handler::handleResponse
  - pldm::requester::Handler::removeRequestEntry
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::start
  - pldm::requester::onStop
  - pldm::requester::onComplete
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::connect
  - pldm::requester::Handler<RequestInterface>::sendRecvMsg
  - operator==(const RequestKey& e) const
  - operator()(const RequestKey& key) const
  - operator==(const mctp_eid_t& mctpEid) const
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::Handler
  - '& operator=(const Handler&)'
  - '& operator=(Handler&&)'
  - ~Handler()
  - pldm::requester::Handler::Handler
  - pldm::requester::Handler::instanceIdExpiryCallBack
  - pldm::requester::Handler::pollEndpointQueue
  - pldm::requester::Handler::registerRequest
  - pldm::requester::Handler::unregisterRequest
  - pldm::requester::Handler::handleResponse
  - pldm::requester::Handler::removeRequestEntry
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::SendRecvMsgOperation
  - pldm::requester::start
  - pldm::requester::onStop
  - pldm::requester::onComplete
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::SendRecvMsgSender
  - pldm::requester::connect
  - pldm::requester::Handler<RequestInterface>::sendRecvMsg
  source_file: /src/pldm/requester/handler.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: instanceId
        type: uint8_t
      - name: type
        type: uint8_t
      - name: command
        type: uint8_t
      item_type: struct
      name: RequestKey
      pos:
        line_end: 48
        line_start: 36
        source_file: /src/pldm/requester/handler.hpp
    - fields: []
      item_type: struct
      name: RequestKeyHasher
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: key
        type: RequestKey
      - name: reqMsg
        type: std::vector<uint8_t>
      - name: responseHandler
        type: ResponseHandler
      item_type: struct
      name: RegisteredRequest
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: requestQueue
        type: std::deque<std::shared_ptr<RegisteredRequest>>
      - name: activeRequest
        type: bool
      item_type: struct
      name: EndpointMessageQueue
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: requestKey
        type: RequestKey
      - name: request
        type: pldm::Request
      - name: '* response'
        type: pldm_msg
      - name: respMsgLen
        type: size_t
      - name: receiver
        type: R
      - name: stopCallback
        type: "std::optional<typename stdexec::stop_token_of_t<\n        stdexec::env_of_t<R>>::template
          callback_type<std::function<void()>>>"
      item_type: struct
      name: SendRecvMsgOperation
      pos:
        line_end: 588
        line_start: 465
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: eid
        type: mctp_eid_t
      - name: request
        type: pldm::Request
      item_type: struct
      name: SendRecvMsgSender
      pos:
        line_end: 633
        line_start: 597
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: instanceId
        type: uint8_t
      - name: type
        type: uint8_t
      - name: command
        type: uint8_t
      item_type: struct
      name: RequestKey
      pos:
        line_end: 48
        line_start: 36
        source_file: /src/pldm/requester/handler.hpp
    - fields: []
      item_type: struct
      name: RequestKeyHasher
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: key
        type: RequestKey
      - name: reqMsg
        type: std::vector<uint8_t>
      - name: responseHandler
        type: ResponseHandler
      item_type: struct
      name: RegisteredRequest
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: requestQueue
        type: std::deque<std::shared_ptr<RegisteredRequest>>
      - name: activeRequest
        type: bool
      item_type: struct
      name: EndpointMessageQueue
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: requestKey
        type: RequestKey
      - name: request
        type: pldm::Request
      - name: '* response'
        type: pldm_msg
      - name: respMsgLen
        type: size_t
      - name: receiver
        type: R
      - name: stopCallback
        type: "std::optional<typename stdexec::stop_token_of_t<\n        stdexec::env_of_t<R>>::template
          callback_type<std::function<void()>>>"
      item_type: struct
      name: SendRecvMsgOperation
      pos:
        line_end: 588
        line_start: 465
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: eid
        type: mctp_eid_t
      - name: request
        type: pldm::Request
      item_type: struct
      name: SendRecvMsgSender
      pos:
        line_end: 633
        line_start: 597
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: instanceId
        type: uint8_t
      - name: type
        type: uint8_t
      - name: command
        type: uint8_t
      item_type: struct
      name: RequestKey
      pos:
        line_end: 48
        line_start: 36
        source_file: /src/pldm/requester/handler.hpp
    - fields: []
      item_type: struct
      name: RequestKeyHasher
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: key
        type: RequestKey
      - name: reqMsg
        type: std::vector<uint8_t>
      - name: responseHandler
        type: ResponseHandler
      item_type: struct
      name: RegisteredRequest
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: requestQueue
        type: std::deque<std::shared_ptr<RegisteredRequest>>
      - name: activeRequest
        type: bool
      item_type: struct
      name: EndpointMessageQueue
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: requestKey
        type: RequestKey
      - name: request
        type: pldm::Request
      - name: '* response'
        type: pldm_msg
      - name: respMsgLen
        type: size_t
      - name: receiver
        type: R
      - name: stopCallback
        type: "std::optional<typename stdexec::stop_token_of_t<\n        stdexec::env_of_t<R>>::template
          callback_type<std::function<void()>>>"
      item_type: struct
      name: SendRecvMsgOperation
      pos:
        line_end: 588
        line_start: 465
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: eid
        type: mctp_eid_t
      - name: request
        type: pldm::Request
      item_type: struct
      name: SendRecvMsgSender
      pos:
        line_end: 633
        line_start: 597
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: instanceId
        type: uint8_t
      - name: type
        type: uint8_t
      - name: command
        type: uint8_t
      item_type: struct
      name: RequestKey
      pos:
        line_end: 48
        line_start: 36
        source_file: /src/pldm/requester/handler.hpp
    - fields: []
      item_type: struct
      name: RequestKeyHasher
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: key
        type: RequestKey
      - name: reqMsg
        type: std::vector<uint8_t>
      - name: responseHandler
        type: ResponseHandler
      item_type: struct
      name: RegisteredRequest
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: eid
        type: mctp_eid_t
      - name: requestQueue
        type: std::deque<std::shared_ptr<RegisteredRequest>>
      - name: activeRequest
        type: bool
      item_type: struct
      name: EndpointMessageQueue
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: requestKey
        type: RequestKey
      - name: request
        type: pldm::Request
      - name: '* response'
        type: pldm_msg
      - name: respMsgLen
        type: size_t
      - name: receiver
        type: R
      - name: stopCallback
        type: "std::optional<typename stdexec::stop_token_of_t<\n        stdexec::env_of_t<R>>::template
          callback_type<std::function<void()>>>"
      item_type: struct
      name: SendRecvMsgOperation
      pos:
        line_end: 588
        line_start: 465
        source_file: /src/pldm/requester/handler.hpp
    - fields:
      - name: '& handler'
        type: requester::Handler<RequestInterface>
      - name: eid
        type: mctp_eid_t
      - name: request
        type: pldm::Request
      item_type: struct
      name: SendRecvMsgSender
      pos:
        line_end: 633
        line_start: 597
        source_file: /src/pldm/requester/handler.hpp
    typedefs: []
    union: []
- function_names:
  - pldm::MctpDiscoveryHandlerIntf::handleConfigurations
  - ~MctpDiscoveryHandlerIntf()
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::MctpDiscovery
  - '& operator=(const MctpDiscovery&)'
  - '& operator=(MctpDiscovery&&)'
  - ~MctpDiscovery()
  - pldm::MctpDiscoveryHandlerIntf::handleConfigurations
  - ~MctpDiscoveryHandlerIntf()
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::MctpDiscovery
  - '& operator=(const MctpDiscovery&)'
  - '& operator=(MctpDiscovery&&)'
  - ~MctpDiscovery()
  source_file: /src/pldm/requester/mctp_endpoint_discovery.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::getMctpInfos
  - pldm::MctpDiscovery::getMctpEndpointProps
  - pldm::MctpDiscovery::getEndpointUUIDProp
  - pldm::MctpDiscovery::getEndpointConnectivityProp
  - pldm::MctpDiscovery::getAddedMctpInfos
  - pldm::MctpDiscovery::addToExistingMctpInfos
  - pldm::MctpDiscovery::removeFromExistingMctpInfos
  - pldm::MctpDiscovery::propertiesChangedCb
  - pldm::MctpDiscovery::discoverEndpoints
  - pldm::MctpDiscovery::removeEndpoints
  - pldm::MctpDiscovery::handleMctpEndpoints
  - pldm::MctpDiscovery::handleRemovedMctpEndpoints
  - pldm::MctpDiscovery::updateMctpEndpointAvailability
  - pldm::MctpDiscovery::getNameFromProperties
  - pldm::MctpDiscovery::constructMctpReactorObjectPath
  - pldm::MctpDiscovery::searchConfigurationFor
  - pldm::MctpDiscovery::removeConfigs
  - pldm::MctpDiscovery::MctpDiscovery
  - pldm::MctpDiscovery::getMctpInfos
  - pldm::MctpDiscovery::getMctpEndpointProps
  - pldm::MctpDiscovery::getEndpointUUIDProp
  - pldm::MctpDiscovery::getEndpointConnectivityProp
  - pldm::MctpDiscovery::getAddedMctpInfos
  - pldm::MctpDiscovery::addToExistingMctpInfos
  - pldm::MctpDiscovery::removeFromExistingMctpInfos
  - pldm::MctpDiscovery::propertiesChangedCb
  - pldm::MctpDiscovery::discoverEndpoints
  - pldm::MctpDiscovery::removeEndpoints
  - pldm::MctpDiscovery::handleMctpEndpoints
  - pldm::MctpDiscovery::handleRemovedMctpEndpoints
  - pldm::MctpDiscovery::updateMctpEndpointAvailability
  - pldm::MctpDiscovery::getNameFromProperties
  - pldm::MctpDiscovery::constructMctpReactorObjectPath
  - pldm::MctpDiscovery::searchConfigurationFor
  - pldm::MctpDiscovery::removeConfigs
  source_file: /src/pldm/requester/mctp_endpoint_discovery.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HandlerTest::HandlerTest
  - HandlerTest::waitEventExpiry
  - HandlerTest::pldmResponseCallBack
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - getTIDTask
  source_file: /src/pldm/requester/test/handler_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: _
      pos:
        line_end: 284
        line_start: 259
        source_file: /src/pldm/requester/test/handler_test.cpp
    typedefs: []
    union: []
- function_names:
  - RequestIntfTest::RequestIntfTest
  - RequestIntfTest::waitEventExpiry
  source_file: /src/pldm/requester/test/request_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::requester::MockRequest::MockRequest
  - pldm::requester::MockRequest::MockRequest
  - pldm::requester::MockRequest::MockRequest
  - pldm::requester::MockRequest::MockRequest
  source_file: /src/pldm/requester/test/mock_request.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "& getConfigurations(\n        const pldm::MctpDiscovery& mctpDiscovery)"
  - TestMctpDiscovery::searchConfigurationFor
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/requester/test/mctp_endpoint_discovery_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/requester/test/mock_mctp_discovery_handler_intf.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~GetPLDMTypes() override
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - '& operator=(const GetPLDMTypes&)'
  - '& operator=(GetPLDMTypes&&)'
  - pldmtool::base::GetPLDMTypes::createRequestMsg
  - pldmtool::base::GetPLDMTypes::parseResponseMsg
  - pldmtool::base::GetPLDMTypes::printPLDMTypes
  - ~GetPLDMVersion() override
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - '& operator=(const GetPLDMVersion&)'
  - '& operator=(GetPLDMVersion&&)'
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::createRequestMsg
  - pldmtool::base::GetPLDMVersion::parseResponseMsg
  - ~GetTID() override
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - '& operator=(const GetTID&)'
  - '& operator=(GetTID&&)'
  - pldmtool::base::GetTID::createRequestMsg
  - pldmtool::base::GetTID::parseResponseMsg
  - ~GetPLDMCommands() override
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - '& operator=(const GetPLDMCommands&)'
  - '& operator=(GetPLDMCommands&&)'
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::createRequestMsg
  - pldmtool::base::GetPLDMCommands::parseResponseMsg
  - pldmtool::base::GetPLDMCommands::printCommand
  - pldmtool::base::GetPLDMCommands::printPldmCommands
  - ~SetTID() override
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - '& operator=(const SetTID&)'
  - '& operator=(SetTID&&)'
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::createRequestMsg
  - pldmtool::base::SetTID::parseResponseMsg
  - pldmtool::base::registerCommand
  - ~GetPLDMTypes() override
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - '& operator=(const GetPLDMTypes&)'
  - '& operator=(GetPLDMTypes&&)'
  - pldmtool::base::GetPLDMTypes::createRequestMsg
  - pldmtool::base::GetPLDMTypes::parseResponseMsg
  - pldmtool::base::GetPLDMTypes::printPLDMTypes
  - ~GetPLDMVersion() override
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - '& operator=(const GetPLDMVersion&)'
  - '& operator=(GetPLDMVersion&&)'
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::createRequestMsg
  - pldmtool::base::GetPLDMVersion::parseResponseMsg
  - ~GetTID() override
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - '& operator=(const GetTID&)'
  - '& operator=(GetTID&&)'
  - pldmtool::base::GetTID::createRequestMsg
  - pldmtool::base::GetTID::parseResponseMsg
  - ~GetPLDMCommands() override
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - '& operator=(const GetPLDMCommands&)'
  - '& operator=(GetPLDMCommands&&)'
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::createRequestMsg
  - pldmtool::base::GetPLDMCommands::parseResponseMsg
  - pldmtool::base::GetPLDMCommands::printCommand
  - pldmtool::base::GetPLDMCommands::printPldmCommands
  - ~SetTID() override
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - '& operator=(const SetTID&)'
  - '& operator=(SetTID&&)'
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::createRequestMsg
  - pldmtool::base::SetTID::parseResponseMsg
  - pldmtool::base::registerCommand
  - ~GetPLDMTypes() override
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - '& operator=(const GetPLDMTypes&)'
  - '& operator=(GetPLDMTypes&&)'
  - pldmtool::base::GetPLDMTypes::createRequestMsg
  - pldmtool::base::GetPLDMTypes::parseResponseMsg
  - pldmtool::base::GetPLDMTypes::printPLDMTypes
  - ~GetPLDMVersion() override
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - '& operator=(const GetPLDMVersion&)'
  - '& operator=(GetPLDMVersion&&)'
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::createRequestMsg
  - pldmtool::base::GetPLDMVersion::parseResponseMsg
  - ~GetTID() override
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - '& operator=(const GetTID&)'
  - '& operator=(GetTID&&)'
  - pldmtool::base::GetTID::createRequestMsg
  - pldmtool::base::GetTID::parseResponseMsg
  - ~GetPLDMCommands() override
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - '& operator=(const GetPLDMCommands&)'
  - '& operator=(GetPLDMCommands&&)'
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::createRequestMsg
  - pldmtool::base::GetPLDMCommands::parseResponseMsg
  - pldmtool::base::GetPLDMCommands::printCommand
  - pldmtool::base::GetPLDMCommands::printPldmCommands
  - ~SetTID() override
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - '& operator=(const SetTID&)'
  - '& operator=(SetTID&&)'
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::createRequestMsg
  - pldmtool::base::SetTID::parseResponseMsg
  - pldmtool::base::registerCommand
  - ~GetPLDMTypes() override
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - pldmtool::base::GetPLDMTypes::GetPLDMTypes
  - '& operator=(const GetPLDMTypes&)'
  - '& operator=(GetPLDMTypes&&)'
  - pldmtool::base::GetPLDMTypes::createRequestMsg
  - pldmtool::base::GetPLDMTypes::parseResponseMsg
  - pldmtool::base::GetPLDMTypes::printPLDMTypes
  - ~GetPLDMVersion() override
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - '& operator=(const GetPLDMVersion&)'
  - '& operator=(GetPLDMVersion&&)'
  - pldmtool::base::GetPLDMVersion::GetPLDMVersion
  - pldmtool::base::GetPLDMVersion::createRequestMsg
  - pldmtool::base::GetPLDMVersion::parseResponseMsg
  - ~GetTID() override
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - pldmtool::base::GetTID::GetTID
  - '& operator=(const GetTID&)'
  - '& operator=(GetTID&&)'
  - pldmtool::base::GetTID::createRequestMsg
  - pldmtool::base::GetTID::parseResponseMsg
  - ~GetPLDMCommands() override
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - '& operator=(const GetPLDMCommands&)'
  - '& operator=(GetPLDMCommands&&)'
  - pldmtool::base::GetPLDMCommands::GetPLDMCommands
  - pldmtool::base::GetPLDMCommands::createRequestMsg
  - pldmtool::base::GetPLDMCommands::parseResponseMsg
  - pldmtool::base::GetPLDMCommands::printCommand
  - pldmtool::base::GetPLDMCommands::printPldmCommands
  - ~SetTID() override
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::SetTID
  - '& operator=(const SetTID&)'
  - '& operator=(SetTID&&)'
  - pldmtool::base::SetTID::SetTID
  - pldmtool::base::SetTID::createRequestMsg
  - pldmtool::base::SetTID::parseResponseMsg
  - pldmtool::base::registerCommand
  source_file: /src/pldm/pldmtool/pldm_base_cmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/pldm_bios_cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldmtool::helper::Logger
  - pldmtool::helper::DisplayInJson
  - pldmtool::helper::CommandInterface::CommandInterface
  - ~CommandInterface()
  - pldmtool::helper::CommandInterface::getMCTPEID
  - pldmtool::helper::CommandInterface::getPLDMType
  - pldmtool::helper::CommandInterface::getCommandName
  - pldmtool::helper::Logger
  - pldmtool::helper::DisplayInJson
  - pldmtool::helper::CommandInterface::CommandInterface
  - ~CommandInterface()
  - pldmtool::helper::CommandInterface::getMCTPEID
  - pldmtool::helper::CommandInterface::getPLDMType
  - pldmtool::helper::CommandInterface::getCommandName
  - pldmtool::helper::Logger
  - pldmtool::helper::DisplayInJson
  - pldmtool::helper::CommandInterface::CommandInterface
  - ~CommandInterface()
  - pldmtool::helper::CommandInterface::getMCTPEID
  - pldmtool::helper::CommandInterface::getPLDMType
  - pldmtool::helper::CommandInterface::getCommandName
  - pldmtool::helper::Logger
  - pldmtool::helper::DisplayInJson
  - pldmtool::helper::CommandInterface::CommandInterface
  - ~CommandInterface()
  - pldmtool::helper::CommandInterface::getMCTPEID
  - pldmtool::helper::CommandInterface::getPLDMType
  - pldmtool::helper::CommandInterface::getCommandName
  source_file: /src/pldm/pldmtool/pldm_cmd_helper.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~GetFruRecordTableMetadata() override
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - '& operator=(const GetFruRecordTableMetadata&)'
  - '& operator=(GetFruRecordTableMetadata&&)'
  - pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
  - pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
  - pldmtool::fru::FRUTablePrint::FRUTablePrint
  - pldmtool::fru::FRUTablePrint::print
  - pldmtool::fru::FRUTablePrint::isTableEnd
  - pldmtool::fru::FRUTablePrint::typeToString
  - pldmtool::fru::FRUTablePrint::fruFieldValuestring
  - pldmtool::fru::FRUTablePrint::fruFieldParserU32
  - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
  - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
  - ~GetFRURecordByOption() override
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - '& operator=(const GetFRURecordByOption&)'
  - '& operator=(GetFRURecordByOption&&)'
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::createRequestMsg
  - pldmtool::fru::GetFRURecordByOption::parseResponseMsg
  - ~GetFruRecordTable() override
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - '& operator=(const GetFruRecordTable&)'
  - '& operator=(GetFruRecordTable&&)'
  - pldmtool::fru::GetFruRecordTable::createRequestMsg
  - pldmtool::fru::GetFruRecordTable::parseResponseMsg
  - pldmtool::fru::registerCommand
  - ~GetFruRecordTableMetadata() override
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - '& operator=(const GetFruRecordTableMetadata&)'
  - '& operator=(GetFruRecordTableMetadata&&)'
  - pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
  - pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
  - pldmtool::fru::FRUTablePrint::FRUTablePrint
  - pldmtool::fru::FRUTablePrint::print
  - pldmtool::fru::FRUTablePrint::isTableEnd
  - pldmtool::fru::FRUTablePrint::typeToString
  - pldmtool::fru::FRUTablePrint::fruFieldValuestring
  - pldmtool::fru::FRUTablePrint::fruFieldParserU32
  - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
  - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
  - ~GetFRURecordByOption() override
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - '& operator=(const GetFRURecordByOption&)'
  - '& operator=(GetFRURecordByOption&&)'
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::createRequestMsg
  - pldmtool::fru::GetFRURecordByOption::parseResponseMsg
  - ~GetFruRecordTable() override
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - '& operator=(const GetFruRecordTable&)'
  - '& operator=(GetFruRecordTable&&)'
  - pldmtool::fru::GetFruRecordTable::createRequestMsg
  - pldmtool::fru::GetFruRecordTable::parseResponseMsg
  - pldmtool::fru::registerCommand
  - ~GetFruRecordTableMetadata() override
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - '& operator=(const GetFruRecordTableMetadata&)'
  - '& operator=(GetFruRecordTableMetadata&&)'
  - pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
  - pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
  - pldmtool::fru::FRUTablePrint::FRUTablePrint
  - pldmtool::fru::FRUTablePrint::print
  - pldmtool::fru::FRUTablePrint::isTableEnd
  - pldmtool::fru::FRUTablePrint::typeToString
  - pldmtool::fru::FRUTablePrint::fruFieldValuestring
  - pldmtool::fru::FRUTablePrint::fruFieldParserU32
  - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
  - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
  - ~GetFRURecordByOption() override
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - '& operator=(const GetFRURecordByOption&)'
  - '& operator=(GetFRURecordByOption&&)'
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::createRequestMsg
  - pldmtool::fru::GetFRURecordByOption::parseResponseMsg
  - ~GetFruRecordTable() override
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - '& operator=(const GetFruRecordTable&)'
  - '& operator=(GetFruRecordTable&&)'
  - pldmtool::fru::GetFruRecordTable::createRequestMsg
  - pldmtool::fru::GetFruRecordTable::parseResponseMsg
  - pldmtool::fru::registerCommand
  - ~GetFruRecordTableMetadata() override
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - pldmtool::fru::GetFruRecordTableMetadata::GetFruRecordTableMetadata
  - '& operator=(const GetFruRecordTableMetadata&)'
  - '& operator=(GetFruRecordTableMetadata&&)'
  - pldmtool::fru::GetFruRecordTableMetadata::createRequestMsg
  - pldmtool::fru::GetFruRecordTableMetadata::parseResponseMsg
  - pldmtool::fru::FRUTablePrint::FRUTablePrint
  - pldmtool::fru::FRUTablePrint::print
  - pldmtool::fru::FRUTablePrint::isTableEnd
  - pldmtool::fru::FRUTablePrint::typeToString
  - pldmtool::fru::FRUTablePrint::fruFieldValuestring
  - pldmtool::fru::FRUTablePrint::fruFieldParserU32
  - pldmtool::fru::FRUTablePrint::fruFieldParserTimestamp
  - pldmtool::fru::FRUTablePrint::fruFieldIPZParser
  - ~GetFRURecordByOption() override
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - '& operator=(const GetFRURecordByOption&)'
  - '& operator=(GetFRURecordByOption&&)'
  - pldmtool::fru::GetFRURecordByOption::GetFRURecordByOption
  - pldmtool::fru::GetFRURecordByOption::createRequestMsg
  - pldmtool::fru::GetFRURecordByOption::parseResponseMsg
  - ~GetFruRecordTable() override
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - pldmtool::fru::GetFruRecordTable::GetFruRecordTable
  - '& operator=(const GetFruRecordTable&)'
  - '& operator=(GetFruRecordTable&&)'
  - pldmtool::fru::GetFruRecordTable::createRequestMsg
  - pldmtool::fru::GetFruRecordTable::parseResponseMsg
  - pldmtool::fru::registerCommand
  source_file: /src/pldm/pldmtool/pldm_fru_cmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldmtool::fw_update::convertStringTypeToUInt8
  - ~GetStatus() override
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - '& operator=(const GetStatus&)'
  - '& operator=(GetStatus&&)'
  - pldmtool::fw_update::GetStatus::createRequestMsg
  - pldmtool::fw_update::GetStatus::parseResponseMsg
  - ~GetFirmwareParameters() override
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - '& operator=(const GetFirmwareParameters&)'
  - '& operator=(GetFirmwareParameters&&)'
  - pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
  - pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
  - ~QueryDeviceIdentifiers() override
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - '& operator=(const QueryDeviceIdentifiers&)'
  - '& operator=(QueryDeviceIdentifiers&&)'
  - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
  - pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
  - pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
  - ~RequestUpdate() override
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - '& operator=(const RequestUpdate&)'
  - '& operator=(RequestUpdate&&)'
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::createRequestMsg
  - pldmtool::fw_update::RequestUpdate::parseResponseMsg
  - ~PassComponentTable() override
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - '& operator=(const PassComponentTable&)'
  - '& operator=(PassComponentTable&&)'
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::createRequestMsg
  - pldmtool::fw_update::PassComponentTable::parseResponseMsg
  - ~UpdateComponent() override
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - '& operator=(const UpdateComponent&)'
  - '& operator=(UpdateComponent&&)'
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::createRequestMsg
  - pldmtool::fw_update::UpdateComponent::parseResponseMsg
  - ~ActivateFirmware() override
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - '& operator=(const ActivateFirmware&)'
  - '& operator=(ActivateFirmware&&)'
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::createRequestMsg
  - pldmtool::fw_update::ActivateFirmware::parseResponseMsg
  - ~CancelUpdateComponent() override
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - '& operator=(const CancelUpdateComponent&)'
  - '& operator=(CancelUpdateComponent&&)'
  - pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
  - pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
  - ~CancelUpdate() override
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - '& operator=(const CancelUpdate&)'
  - '& operator=(CancelUpdate&&)'
  - pldmtool::fw_update::CancelUpdate::createRequestMsg
  - pldmtool::fw_update::CancelUpdate::parseResponseMsg
  - ~UpdateSecurityRevision() override
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - '& operator=(const UpdateSecurityRevision&)'
  - '& operator=(UpdateSecurityRevision&&)'
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
  - pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
  - pldmtool::fw_update::registerCommand
  - pldmtool::fw_update::convertStringTypeToUInt8
  - ~GetStatus() override
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - '& operator=(const GetStatus&)'
  - '& operator=(GetStatus&&)'
  - pldmtool::fw_update::GetStatus::createRequestMsg
  - pldmtool::fw_update::GetStatus::parseResponseMsg
  - ~GetFirmwareParameters() override
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - '& operator=(const GetFirmwareParameters&)'
  - '& operator=(GetFirmwareParameters&&)'
  - pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
  - pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
  - ~QueryDeviceIdentifiers() override
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - '& operator=(const QueryDeviceIdentifiers&)'
  - '& operator=(QueryDeviceIdentifiers&&)'
  - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
  - pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
  - pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
  - ~RequestUpdate() override
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - '& operator=(const RequestUpdate&)'
  - '& operator=(RequestUpdate&&)'
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::createRequestMsg
  - pldmtool::fw_update::RequestUpdate::parseResponseMsg
  - ~PassComponentTable() override
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - '& operator=(const PassComponentTable&)'
  - '& operator=(PassComponentTable&&)'
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::createRequestMsg
  - pldmtool::fw_update::PassComponentTable::parseResponseMsg
  - ~UpdateComponent() override
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - '& operator=(const UpdateComponent&)'
  - '& operator=(UpdateComponent&&)'
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::createRequestMsg
  - pldmtool::fw_update::UpdateComponent::parseResponseMsg
  - ~ActivateFirmware() override
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - '& operator=(const ActivateFirmware&)'
  - '& operator=(ActivateFirmware&&)'
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::createRequestMsg
  - pldmtool::fw_update::ActivateFirmware::parseResponseMsg
  - ~CancelUpdateComponent() override
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - '& operator=(const CancelUpdateComponent&)'
  - '& operator=(CancelUpdateComponent&&)'
  - pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
  - pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
  - ~CancelUpdate() override
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - '& operator=(const CancelUpdate&)'
  - '& operator=(CancelUpdate&&)'
  - pldmtool::fw_update::CancelUpdate::createRequestMsg
  - pldmtool::fw_update::CancelUpdate::parseResponseMsg
  - ~UpdateSecurityRevision() override
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - '& operator=(const UpdateSecurityRevision&)'
  - '& operator=(UpdateSecurityRevision&&)'
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
  - pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
  - pldmtool::fw_update::registerCommand
  - pldmtool::fw_update::convertStringTypeToUInt8
  - ~GetStatus() override
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - '& operator=(const GetStatus&)'
  - '& operator=(GetStatus&&)'
  - pldmtool::fw_update::GetStatus::createRequestMsg
  - pldmtool::fw_update::GetStatus::parseResponseMsg
  - ~GetFirmwareParameters() override
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - '& operator=(const GetFirmwareParameters&)'
  - '& operator=(GetFirmwareParameters&&)'
  - pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
  - pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
  - ~QueryDeviceIdentifiers() override
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - '& operator=(const QueryDeviceIdentifiers&)'
  - '& operator=(QueryDeviceIdentifiers&&)'
  - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
  - pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
  - pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
  - ~RequestUpdate() override
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - '& operator=(const RequestUpdate&)'
  - '& operator=(RequestUpdate&&)'
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::createRequestMsg
  - pldmtool::fw_update::RequestUpdate::parseResponseMsg
  - ~PassComponentTable() override
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - '& operator=(const PassComponentTable&)'
  - '& operator=(PassComponentTable&&)'
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::createRequestMsg
  - pldmtool::fw_update::PassComponentTable::parseResponseMsg
  - ~UpdateComponent() override
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - '& operator=(const UpdateComponent&)'
  - '& operator=(UpdateComponent&&)'
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::createRequestMsg
  - pldmtool::fw_update::UpdateComponent::parseResponseMsg
  - ~ActivateFirmware() override
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - '& operator=(const ActivateFirmware&)'
  - '& operator=(ActivateFirmware&&)'
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::createRequestMsg
  - pldmtool::fw_update::ActivateFirmware::parseResponseMsg
  - ~CancelUpdateComponent() override
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - '& operator=(const CancelUpdateComponent&)'
  - '& operator=(CancelUpdateComponent&&)'
  - pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
  - pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
  - ~CancelUpdate() override
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - '& operator=(const CancelUpdate&)'
  - '& operator=(CancelUpdate&&)'
  - pldmtool::fw_update::CancelUpdate::createRequestMsg
  - pldmtool::fw_update::CancelUpdate::parseResponseMsg
  - ~UpdateSecurityRevision() override
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - '& operator=(const UpdateSecurityRevision&)'
  - '& operator=(UpdateSecurityRevision&&)'
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
  - pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
  - pldmtool::fw_update::registerCommand
  - pldmtool::fw_update::convertStringTypeToUInt8
  - ~GetStatus() override
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - pldmtool::fw_update::GetStatus::GetStatus
  - '& operator=(const GetStatus&)'
  - '& operator=(GetStatus&&)'
  - pldmtool::fw_update::GetStatus::createRequestMsg
  - pldmtool::fw_update::GetStatus::parseResponseMsg
  - ~GetFirmwareParameters() override
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - pldmtool::fw_update::GetFirmwareParameters::GetFirmwareParameters
  - '& operator=(const GetFirmwareParameters&)'
  - '& operator=(GetFirmwareParameters&&)'
  - pldmtool::fw_update::GetFirmwareParameters::createRequestMsg
  - pldmtool::fw_update::GetFirmwareParameters::parseResponseMsg
  - ~QueryDeviceIdentifiers() override
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - pldmtool::fw_update::QueryDeviceIdentifiers::QueryDeviceIdentifiers
  - '& operator=(const QueryDeviceIdentifiers&)'
  - '& operator=(QueryDeviceIdentifiers&&)'
  - pldmtool::fw_update::QueryDeviceIdentifiers::updateDescriptor
  - pldmtool::fw_update::QueryDeviceIdentifiers::createRequestMsg
  - pldmtool::fw_update::QueryDeviceIdentifiers::parseResponseMsg
  - ~RequestUpdate() override
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - '& operator=(const RequestUpdate&)'
  - '& operator=(RequestUpdate&&)'
  - pldmtool::fw_update::RequestUpdate::RequestUpdate
  - pldmtool::fw_update::RequestUpdate::createRequestMsg
  - pldmtool::fw_update::RequestUpdate::parseResponseMsg
  - ~PassComponentTable() override
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - '& operator=(const PassComponentTable&)'
  - '& operator=(PassComponentTable&&)'
  - pldmtool::fw_update::PassComponentTable::PassComponentTable
  - pldmtool::fw_update::PassComponentTable::createRequestMsg
  - pldmtool::fw_update::PassComponentTable::parseResponseMsg
  - ~UpdateComponent() override
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - '& operator=(const UpdateComponent&)'
  - '& operator=(UpdateComponent&&)'
  - pldmtool::fw_update::UpdateComponent::UpdateComponent
  - pldmtool::fw_update::UpdateComponent::createRequestMsg
  - pldmtool::fw_update::UpdateComponent::parseResponseMsg
  - ~ActivateFirmware() override
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - '& operator=(const ActivateFirmware&)'
  - '& operator=(ActivateFirmware&&)'
  - pldmtool::fw_update::ActivateFirmware::ActivateFirmware
  - pldmtool::fw_update::ActivateFirmware::createRequestMsg
  - pldmtool::fw_update::ActivateFirmware::parseResponseMsg
  - ~CancelUpdateComponent() override
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - pldmtool::fw_update::CancelUpdateComponent::CancelUpdateComponent
  - '& operator=(const CancelUpdateComponent&)'
  - '& operator=(CancelUpdateComponent&&)'
  - pldmtool::fw_update::CancelUpdateComponent::createRequestMsg
  - pldmtool::fw_update::CancelUpdateComponent::parseResponseMsg
  - ~CancelUpdate() override
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - pldmtool::fw_update::CancelUpdate::CancelUpdate
  - '& operator=(const CancelUpdate&)'
  - '& operator=(CancelUpdate&&)'
  - pldmtool::fw_update::CancelUpdate::createRequestMsg
  - pldmtool::fw_update::CancelUpdate::parseResponseMsg
  - ~UpdateSecurityRevision() override
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - '& operator=(const UpdateSecurityRevision&)'
  - '& operator=(UpdateSecurityRevision&&)'
  - pldmtool::fw_update::UpdateSecurityRevision::UpdateSecurityRevision
  - pldmtool::fw_update::UpdateSecurityRevision::createRequestMsg
  - pldmtool::fw_update::UpdateSecurityRevision::parseResponseMsg
  - pldmtool::fw_update::registerCommand
  source_file: /src/pldm/pldmtool/pldm_fw_update_cmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldmtool::platform::getEffecterOpState
  - pldmtool::platform::getEffecterOpState
  - ~GetEventReceiver() override
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - '& operator=(const GetEventReceiver&)'
  - '& operator=(GetEventReceiver&&)'
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::createRequestMsg
  - pldmtool::platform::GetEventReceiver::parseResponseMsg
  - pldmtool::platform::getStateSetPossibleStateNames
  - ~GetPDR() override
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - '& operator=(const GetPDR&)'
  - '& operator=(GetPDR&&)'
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::parseGetPDROptions
  - pldmtool::platform::GetPDR::getPDRs
  - pldmtool::platform::GetPDR::exec
  - pldmtool::platform::GetPDR::createRequestMsg
  - pldmtool::platform::GetPDR::parseResponseMsg
  - pldmtool::platform::GetPDR::getBaseUnitName
  - pldmtool::platform::GetPDR::getRateUnitName
  - pldmtool::platform::GetPDR::isLogicalBitSet
  - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
  - pldmtool::platform::GetPDR::getEntityName
  - pldmtool::platform::GetPDR::getStateSetName
  - pldmtool::platform::GetPDR::getPDRType
  - pldmtool::platform::GetPDR::printCommonPDRHeader
  - pldmtool::platform::GetPDR::printPossibleStates
  - pldmtool::platform::GetPDR::printStateSensorPDR
  - pldmtool::platform::GetPDR::printPDRFruRecordSet
  - pldmtool::platform::GetPDR::printPDREntityAssociation
  - pldmtool::platform::GetPDR::printAuxNamePDR
  - pldmtool::platform::GetPDR::printNumericEffecterPDR
  - pldmtool::platform::GetPDR::printStateEffecterPDR
  - pldmtool::platform::GetPDR::checkTerminusHandle
  - pldmtool::platform::GetPDR::printTerminusLocatorPDR
  - pldmtool::platform::GetPDR::getTerminusHandle
  - pldmtool::platform::GetPDR::printNumericSensorPDR
  - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
  - pldmtool::platform::GetPDR::printPDRMsg
  - ~SetStateEffecter() override
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - '& operator=(const SetStateEffecter&)'
  - '& operator=(SetStateEffecter&&)'
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::createRequestMsg
  - pldmtool::platform::SetStateEffecter::parseResponseMsg
  - ~SetNumericEffecterValue() override
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - '& operator=(const SetNumericEffecterValue&)'
  - '& operator=(SetNumericEffecterValue&&)'
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
  - ~GetStateSensorReadings() override
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - '& operator=(const GetStateSensorReadings&)'
  - '& operator=(GetStateSensorReadings&&)'
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::createRequestMsg
  - pldmtool::platform::GetStateSensorReadings::parseResponseMsg
  - ~GetSensorReading() override
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - '& operator=(const GetSensorReading&)'
  - '& operator=(GetSensorReading&&)'
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::createRequestMsg
  - pldmtool::platform::GetSensorReading::parseResponseMsg
  - pldmtool::platform::GetSensorReading::getSensorState
  - ~GetStateEffecterStates() override
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - '& operator=(const GetStateEffecterStates&)'
  - '& operator=(GetStateEffecterStates&&)'
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::createRequestMsg
  - pldmtool::platform::GetStateEffecterStates::parseResponseMsg
  - ~GetNumericEffecterValue() override
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - '& operator=(const GetNumericEffecterValue&)'
  - '& operator=(GetNumericEffecterValue&&)'
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
  - pldmtool::platform::registerCommand
  - pldmtool::platform::parseGetPDROption
  - pldmtool::platform::getEffecterOpState
  - pldmtool::platform::getEffecterOpState
  - ~GetEventReceiver() override
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - '& operator=(const GetEventReceiver&)'
  - '& operator=(GetEventReceiver&&)'
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::createRequestMsg
  - pldmtool::platform::GetEventReceiver::parseResponseMsg
  - pldmtool::platform::getStateSetPossibleStateNames
  - ~GetPDR() override
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - '& operator=(const GetPDR&)'
  - '& operator=(GetPDR&&)'
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::parseGetPDROptions
  - pldmtool::platform::GetPDR::getPDRs
  - pldmtool::platform::GetPDR::exec
  - pldmtool::platform::GetPDR::createRequestMsg
  - pldmtool::platform::GetPDR::parseResponseMsg
  - pldmtool::platform::GetPDR::getBaseUnitName
  - pldmtool::platform::GetPDR::getRateUnitName
  - pldmtool::platform::GetPDR::isLogicalBitSet
  - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
  - pldmtool::platform::GetPDR::getEntityName
  - pldmtool::platform::GetPDR::getStateSetName
  - pldmtool::platform::GetPDR::getPDRType
  - pldmtool::platform::GetPDR::printCommonPDRHeader
  - pldmtool::platform::GetPDR::printPossibleStates
  - pldmtool::platform::GetPDR::printStateSensorPDR
  - pldmtool::platform::GetPDR::printPDRFruRecordSet
  - pldmtool::platform::GetPDR::printPDREntityAssociation
  - pldmtool::platform::GetPDR::printAuxNamePDR
  - pldmtool::platform::GetPDR::printNumericEffecterPDR
  - pldmtool::platform::GetPDR::printStateEffecterPDR
  - pldmtool::platform::GetPDR::checkTerminusHandle
  - pldmtool::platform::GetPDR::printTerminusLocatorPDR
  - pldmtool::platform::GetPDR::getTerminusHandle
  - pldmtool::platform::GetPDR::printNumericSensorPDR
  - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
  - pldmtool::platform::GetPDR::printPDRMsg
  - ~SetStateEffecter() override
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - '& operator=(const SetStateEffecter&)'
  - '& operator=(SetStateEffecter&&)'
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::createRequestMsg
  - pldmtool::platform::SetStateEffecter::parseResponseMsg
  - ~SetNumericEffecterValue() override
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - '& operator=(const SetNumericEffecterValue&)'
  - '& operator=(SetNumericEffecterValue&&)'
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
  - ~GetStateSensorReadings() override
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - '& operator=(const GetStateSensorReadings&)'
  - '& operator=(GetStateSensorReadings&&)'
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::createRequestMsg
  - pldmtool::platform::GetStateSensorReadings::parseResponseMsg
  - ~GetSensorReading() override
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - '& operator=(const GetSensorReading&)'
  - '& operator=(GetSensorReading&&)'
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::createRequestMsg
  - pldmtool::platform::GetSensorReading::parseResponseMsg
  - pldmtool::platform::GetSensorReading::getSensorState
  - ~GetStateEffecterStates() override
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - '& operator=(const GetStateEffecterStates&)'
  - '& operator=(GetStateEffecterStates&&)'
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::createRequestMsg
  - pldmtool::platform::GetStateEffecterStates::parseResponseMsg
  - ~GetNumericEffecterValue() override
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - '& operator=(const GetNumericEffecterValue&)'
  - '& operator=(GetNumericEffecterValue&&)'
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
  - pldmtool::platform::registerCommand
  - pldmtool::platform::parseGetPDROption
  - pldmtool::platform::getEffecterOpState
  - pldmtool::platform::getEffecterOpState
  - ~GetEventReceiver() override
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - '& operator=(const GetEventReceiver&)'
  - '& operator=(GetEventReceiver&&)'
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::createRequestMsg
  - pldmtool::platform::GetEventReceiver::parseResponseMsg
  - pldmtool::platform::getStateSetPossibleStateNames
  - ~GetPDR() override
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - '& operator=(const GetPDR&)'
  - '& operator=(GetPDR&&)'
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::parseGetPDROptions
  - pldmtool::platform::GetPDR::getPDRs
  - pldmtool::platform::GetPDR::exec
  - pldmtool::platform::GetPDR::createRequestMsg
  - pldmtool::platform::GetPDR::parseResponseMsg
  - pldmtool::platform::GetPDR::getBaseUnitName
  - pldmtool::platform::GetPDR::getRateUnitName
  - pldmtool::platform::GetPDR::isLogicalBitSet
  - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
  - pldmtool::platform::GetPDR::getEntityName
  - pldmtool::platform::GetPDR::getStateSetName
  - pldmtool::platform::GetPDR::getPDRType
  - pldmtool::platform::GetPDR::printCommonPDRHeader
  - pldmtool::platform::GetPDR::printPossibleStates
  - pldmtool::platform::GetPDR::printStateSensorPDR
  - pldmtool::platform::GetPDR::printPDRFruRecordSet
  - pldmtool::platform::GetPDR::printPDREntityAssociation
  - pldmtool::platform::GetPDR::printAuxNamePDR
  - pldmtool::platform::GetPDR::printNumericEffecterPDR
  - pldmtool::platform::GetPDR::printStateEffecterPDR
  - pldmtool::platform::GetPDR::checkTerminusHandle
  - pldmtool::platform::GetPDR::printTerminusLocatorPDR
  - pldmtool::platform::GetPDR::getTerminusHandle
  - pldmtool::platform::GetPDR::printNumericSensorPDR
  - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
  - pldmtool::platform::GetPDR::printPDRMsg
  - ~SetStateEffecter() override
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - '& operator=(const SetStateEffecter&)'
  - '& operator=(SetStateEffecter&&)'
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::createRequestMsg
  - pldmtool::platform::SetStateEffecter::parseResponseMsg
  - ~SetNumericEffecterValue() override
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - '& operator=(const SetNumericEffecterValue&)'
  - '& operator=(SetNumericEffecterValue&&)'
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
  - ~GetStateSensorReadings() override
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - '& operator=(const GetStateSensorReadings&)'
  - '& operator=(GetStateSensorReadings&&)'
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::createRequestMsg
  - pldmtool::platform::GetStateSensorReadings::parseResponseMsg
  - ~GetSensorReading() override
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - '& operator=(const GetSensorReading&)'
  - '& operator=(GetSensorReading&&)'
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::createRequestMsg
  - pldmtool::platform::GetSensorReading::parseResponseMsg
  - pldmtool::platform::GetSensorReading::getSensorState
  - ~GetStateEffecterStates() override
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - '& operator=(const GetStateEffecterStates&)'
  - '& operator=(GetStateEffecterStates&&)'
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::createRequestMsg
  - pldmtool::platform::GetStateEffecterStates::parseResponseMsg
  - ~GetNumericEffecterValue() override
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - '& operator=(const GetNumericEffecterValue&)'
  - '& operator=(GetNumericEffecterValue&&)'
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
  - pldmtool::platform::registerCommand
  - pldmtool::platform::parseGetPDROption
  - pldmtool::platform::getEffecterOpState
  - pldmtool::platform::getEffecterOpState
  - ~GetEventReceiver() override
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - '& operator=(const GetEventReceiver&)'
  - '& operator=(GetEventReceiver&&)'
  - pldmtool::platform::GetEventReceiver::GetEventReceiver
  - pldmtool::platform::GetEventReceiver::createRequestMsg
  - pldmtool::platform::GetEventReceiver::parseResponseMsg
  - pldmtool::platform::getStateSetPossibleStateNames
  - ~GetPDR() override
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::GetPDR
  - '& operator=(const GetPDR&)'
  - '& operator=(GetPDR&&)'
  - pldmtool::platform::GetPDR::GetPDR
  - pldmtool::platform::GetPDR::parseGetPDROptions
  - pldmtool::platform::GetPDR::getPDRs
  - pldmtool::platform::GetPDR::exec
  - pldmtool::platform::GetPDR::createRequestMsg
  - pldmtool::platform::GetPDR::parseResponseMsg
  - pldmtool::platform::GetPDR::getBaseUnitName
  - pldmtool::platform::GetPDR::getRateUnitName
  - pldmtool::platform::GetPDR::isLogicalBitSet
  - pldmtool::platform::GetPDR::getEntityTypeForLogicalEntity
  - pldmtool::platform::GetPDR::getEntityName
  - pldmtool::platform::GetPDR::getStateSetName
  - pldmtool::platform::GetPDR::getPDRType
  - pldmtool::platform::GetPDR::printCommonPDRHeader
  - pldmtool::platform::GetPDR::printPossibleStates
  - pldmtool::platform::GetPDR::printStateSensorPDR
  - pldmtool::platform::GetPDR::printPDRFruRecordSet
  - pldmtool::platform::GetPDR::printPDREntityAssociation
  - pldmtool::platform::GetPDR::printAuxNamePDR
  - pldmtool::platform::GetPDR::printNumericEffecterPDR
  - pldmtool::platform::GetPDR::printStateEffecterPDR
  - pldmtool::platform::GetPDR::checkTerminusHandle
  - pldmtool::platform::GetPDR::printTerminusLocatorPDR
  - pldmtool::platform::GetPDR::getTerminusHandle
  - pldmtool::platform::GetPDR::printNumericSensorPDR
  - pldmtool::platform::GetPDR::printCompactNumericSensorPDR
  - pldmtool::platform::GetPDR::printPDRMsg
  - ~SetStateEffecter() override
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - '& operator=(const SetStateEffecter&)'
  - '& operator=(SetStateEffecter&&)'
  - pldmtool::platform::SetStateEffecter::SetStateEffecter
  - pldmtool::platform::SetStateEffecter::createRequestMsg
  - pldmtool::platform::SetStateEffecter::parseResponseMsg
  - ~SetNumericEffecterValue() override
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - '& operator=(const SetNumericEffecterValue&)'
  - '& operator=(SetNumericEffecterValue&&)'
  - pldmtool::platform::SetNumericEffecterValue::SetNumericEffecterValue
  - pldmtool::platform::SetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::SetNumericEffecterValue::parseResponseMsg
  - ~GetStateSensorReadings() override
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - '& operator=(const GetStateSensorReadings&)'
  - '& operator=(GetStateSensorReadings&&)'
  - pldmtool::platform::GetStateSensorReadings::GetStateSensorReadings
  - pldmtool::platform::GetStateSensorReadings::createRequestMsg
  - pldmtool::platform::GetStateSensorReadings::parseResponseMsg
  - ~GetSensorReading() override
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - '& operator=(const GetSensorReading&)'
  - '& operator=(GetSensorReading&&)'
  - pldmtool::platform::GetSensorReading::GetSensorReading
  - pldmtool::platform::GetSensorReading::createRequestMsg
  - pldmtool::platform::GetSensorReading::parseResponseMsg
  - pldmtool::platform::GetSensorReading::getSensorState
  - ~GetStateEffecterStates() override
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - '& operator=(const GetStateEffecterStates&)'
  - '& operator=(GetStateEffecterStates&&)'
  - pldmtool::platform::GetStateEffecterStates::GetStateEffecterStates
  - pldmtool::platform::GetStateEffecterStates::createRequestMsg
  - pldmtool::platform::GetStateEffecterStates::parseResponseMsg
  - ~GetNumericEffecterValue() override
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - '& operator=(const GetNumericEffecterValue&)'
  - '& operator=(GetNumericEffecterValue&&)'
  - pldmtool::platform::GetNumericEffecterValue::GetNumericEffecterValue
  - pldmtool::platform::GetNumericEffecterValue::createRequestMsg
  - pldmtool::platform::GetNumericEffecterValue::parseResponseMsg
  - pldmtool::platform::registerCommand
  - pldmtool::platform::parseGetPDROption
  source_file: /src/pldm/pldmtool/pldm_platform_cmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/pldm_platform_cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/pldm_base_cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~RawOp() override
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - '& operator=(const RawOp&)'
  - '& operator=(RawOp&&)'
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::createRequestMsg
  - pldmtool::raw::RawOp::parseResponseMsg
  - pldmtool::raw::registerCommand
  - ~RawOp() override
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - '& operator=(const RawOp&)'
  - '& operator=(RawOp&&)'
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::createRequestMsg
  - pldmtool::raw::RawOp::parseResponseMsg
  - pldmtool::raw::registerCommand
  - ~RawOp() override
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - '& operator=(const RawOp&)'
  - '& operator=(RawOp&&)'
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::createRequestMsg
  - pldmtool::raw::RawOp::parseResponseMsg
  - pldmtool::raw::registerCommand
  - ~RawOp() override
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::RawOp
  - '& operator=(const RawOp&)'
  - '& operator=(RawOp&&)'
  - pldmtool::raw::RawOp::RawOp
  - pldmtool::raw::RawOp::createRequestMsg
  - pldmtool::raw::RawOp::parseResponseMsg
  - pldmtool::raw::registerCommand
  - main
  source_file: /src/pldm/pldmtool/pldmtool.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/pldm_fw_update_cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~GetDateTime() override
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - '& operator=(const GetDateTime&)'
  - '& operator=(GetDateTime&&)'
  - pldmtool::bios::GetDateTime::createRequestMsg
  - pldmtool::bios::GetDateTime::parseResponseMsg
  - pldmtool::bios::GetDateTime::setWidth
  - ~SetDateTime() override
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - '& operator=(const SetDateTime&)'
  - '& operator=(SetDateTime&&)'
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::createRequestMsg
  - pldmtool::bios::SetDateTime::parseResponseMsg
  - ~GetBIOSTableHandler() override
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - '& operator=(const GetBIOSTableHandler&)'
  - '& operator=(GetBIOSTableHandler&&)'
  - pldmtool::bios::GetBIOSTableHandler::createRequestMsg
  - pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
  - pldmtool::bios::GetBIOSTableHandler::getBIOSTable
  - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
  - pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
  - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
  - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
  - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
  - pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
  - ~GetBIOSTable() override
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - '& operator=(const GetBIOSTable&)'
  - '& operator=(GetBIOSTable&&)'
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::exec
  - pldmtool::bios::GetBIOSTable::decodeStringTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
  - ~GetBIOSAttributeCurrentValueByHandle() override
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
  - ~SetBIOSAttributeCurrentValue() override
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - '& operator=(SetBIOSAttributeCurrentValue&&)'
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::exec
  - pldmtool::bios::registerCommand
  - ~GetDateTime() override
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - '& operator=(const GetDateTime&)'
  - '& operator=(GetDateTime&&)'
  - pldmtool::bios::GetDateTime::createRequestMsg
  - pldmtool::bios::GetDateTime::parseResponseMsg
  - pldmtool::bios::GetDateTime::setWidth
  - ~SetDateTime() override
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - '& operator=(const SetDateTime&)'
  - '& operator=(SetDateTime&&)'
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::createRequestMsg
  - pldmtool::bios::SetDateTime::parseResponseMsg
  - ~GetBIOSTableHandler() override
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - '& operator=(const GetBIOSTableHandler&)'
  - '& operator=(GetBIOSTableHandler&&)'
  - pldmtool::bios::GetBIOSTableHandler::createRequestMsg
  - pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
  - pldmtool::bios::GetBIOSTableHandler::getBIOSTable
  - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
  - pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
  - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
  - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
  - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
  - pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
  - ~GetBIOSTable() override
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - '& operator=(const GetBIOSTable&)'
  - '& operator=(GetBIOSTable&&)'
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::exec
  - pldmtool::bios::GetBIOSTable::decodeStringTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
  - ~GetBIOSAttributeCurrentValueByHandle() override
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
  - ~SetBIOSAttributeCurrentValue() override
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - '& operator=(SetBIOSAttributeCurrentValue&&)'
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::exec
  - pldmtool::bios::registerCommand
  - ~GetDateTime() override
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - '& operator=(const GetDateTime&)'
  - '& operator=(GetDateTime&&)'
  - pldmtool::bios::GetDateTime::createRequestMsg
  - pldmtool::bios::GetDateTime::parseResponseMsg
  - pldmtool::bios::GetDateTime::setWidth
  - ~SetDateTime() override
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - '& operator=(const SetDateTime&)'
  - '& operator=(SetDateTime&&)'
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::createRequestMsg
  - pldmtool::bios::SetDateTime::parseResponseMsg
  - ~GetBIOSTableHandler() override
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - '& operator=(const GetBIOSTableHandler&)'
  - '& operator=(GetBIOSTableHandler&&)'
  - pldmtool::bios::GetBIOSTableHandler::createRequestMsg
  - pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
  - pldmtool::bios::GetBIOSTableHandler::getBIOSTable
  - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
  - pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
  - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
  - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
  - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
  - pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
  - ~GetBIOSTable() override
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - '& operator=(const GetBIOSTable&)'
  - '& operator=(GetBIOSTable&&)'
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::exec
  - pldmtool::bios::GetBIOSTable::decodeStringTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
  - ~GetBIOSAttributeCurrentValueByHandle() override
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
  - ~SetBIOSAttributeCurrentValue() override
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - '& operator=(SetBIOSAttributeCurrentValue&&)'
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::exec
  - pldmtool::bios::registerCommand
  - ~GetDateTime() override
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - pldmtool::bios::GetDateTime::GetDateTime
  - '& operator=(const GetDateTime&)'
  - '& operator=(GetDateTime&&)'
  - pldmtool::bios::GetDateTime::createRequestMsg
  - pldmtool::bios::GetDateTime::parseResponseMsg
  - pldmtool::bios::GetDateTime::setWidth
  - ~SetDateTime() override
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::SetDateTime
  - '& operator=(const SetDateTime&)'
  - '& operator=(SetDateTime&&)'
  - pldmtool::bios::SetDateTime::SetDateTime
  - pldmtool::bios::SetDateTime::createRequestMsg
  - pldmtool::bios::SetDateTime::parseResponseMsg
  - ~GetBIOSTableHandler() override
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - pldmtool::bios::GetBIOSTableHandler::GetBIOSTableHandler
  - '& operator=(const GetBIOSTableHandler&)'
  - '& operator=(GetBIOSTableHandler&&)'
  - pldmtool::bios::GetBIOSTableHandler::createRequestMsg
  - pldmtool::bios::GetBIOSTableHandler::parseResponseMsg
  - pldmtool::bios::GetBIOSTableHandler::getBIOSTable
  - pldmtool::bios::GetBIOSTableHandler::findAttrEntryByName
  - pldmtool::bios::GetBIOSTableHandler::findAttrHandleByName
  - pldmtool::bios::GetBIOSTableHandler::decodeStringFromStringEntry
  - pldmtool::bios::GetBIOSTableHandler::displayStringHandle
  - pldmtool::bios::GetBIOSTableHandler::displayEnumValueByIndex
  - pldmtool::bios::GetBIOSTableHandler::displayAttributeValueEntry
  - ~GetBIOSTable() override
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - '& operator=(const GetBIOSTable&)'
  - '& operator=(GetBIOSTable&&)'
  - pldmtool::bios::GetBIOSTable::GetBIOSTable
  - pldmtool::bios::GetBIOSTable::exec
  - pldmtool::bios::GetBIOSTable::decodeStringTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeTable
  - pldmtool::bios::GetBIOSTable::decodeAttributeValueTable
  - ~GetBIOSAttributeCurrentValueByHandle() override
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - "& operator=(\n        const GetBIOSAttributeCurrentValueByHandle&)"
  - "& operator=(\n        GetBIOSAttributeCurrentValueByHandle&&)"
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::GetBIOSAttributeCurrentValueByHandle
  - pldmtool::bios::GetBIOSAttributeCurrentValueByHandle::exec
  - ~SetBIOSAttributeCurrentValue() override
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - "& operator=(\n        const SetBIOSAttributeCurrentValue&)"
  - '& operator=(SetBIOSAttributeCurrentValue&&)'
  - pldmtool::bios::SetBIOSAttributeCurrentValue::SetBIOSAttributeCurrentValue
  - pldmtool::bios::SetBIOSAttributeCurrentValue::exec
  - pldmtool::bios::registerCommand
  source_file: /src/pldm/pldmtool/pldm_bios_cmd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldmtool::helper::fillCompletionCode
  - pldmtool::helper::CommandInterface::exec
  - pldmtool::helper::CommandInterface::pldmSendRecv
  - pldmtool::helper::fillCompletionCode
  - pldmtool::helper::CommandInterface::exec
  - pldmtool::helper::CommandInterface::pldmSendRecv
  - pldmtool::helper::fillCompletionCode
  - pldmtool::helper::CommandInterface::exec
  - pldmtool::helper::CommandInterface::pldmSendRecv
  - pldmtool::helper::fillCompletionCode
  - pldmtool::helper::CommandInterface::exec
  - pldmtool::helper::CommandInterface::pldmSendRecv
  source_file: /src/pldm/pldmtool/pldm_cmd_helper.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/pldm_fru_cmd.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
  types:
    enum:
    - enumerators:
      - name: OEM_IBM_STATE_SET_CU_START
        value: '1'
      - name: OEM_IBM_STATE_SET_CU_ACCEPT
        value: '5'
      - name: OEM_IBM_STATE_SET_CU_END
        value: '2'
      - name: OEM_IBM_STATE_SET_CU_ABORT
        value: '4'
      - name: OEM_IBM_STATE_SET_CU_FAIL
        value: '3'
      - name: OEM_IBM_STATE_SET_CU_REJECT
        value: '6'
      item_type: enum
      name: pldm_oem_ibm_cu_state_set_values
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
    - enumerators:
      - name: OEM_IBM_STATE_SET_VERFICATION_VALID
        value: '0'
      - name: OEM_IBM_STATE_SET_VERFICATION_MIN_MIF_FAIL
        value: '4'
      - name: OEM_IBM_STATE_SET_VERFICATION_BANNED_PLATFORM_FAIL
        value: '2'
      - name: OEM_IBM_STATE_SET_VERFICATION_ENTITLEMENT_FAIL
        value: '1'
      item_type: enum
      name: pldm_oem_ibm_verification_state_set_values
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
    - enumerators:
      - name: OEM_IBM_STATE_SET_SYS_PWR_STATE_RECYCLE_HARD
        value: '1'
      item_type: enum
      name: pldm_oem_ibm_sys_power_state_set_values
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
    - enumerators:
      - name: OEM_IBM_STATE_SET_BOOT_STATE_P_SIDE
        value: '1'
      - name: OEM_IBM_STATE_SET_BOOT_STATE_T_SIDE
        value: '2'
      item_type: enum
      name: pldm_oem_ibm_boot_state_set_values
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~GetAlertStatus() override
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - '& operator=(const GetAlertStatus&)'
  - '& operator=(GetAlertStatus&&)'
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
  - pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
  - ~GetFileTable() override
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - '& operator=(const GetFileTable&)'
  - '& operator=(GetFileTable&&)'
  - pldmtool::oem_ibm::GetFileTable::createRequestMsg
  - pldmtool::oem_ibm::GetFileTable::parseResponseMsg
  - pldmtool::oem_ibm::GetFileTable::exec
  - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
  - pldmtool::oem_ibm::registerCommand
  - ~GetAlertStatus() override
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - '& operator=(const GetAlertStatus&)'
  - '& operator=(GetAlertStatus&&)'
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
  - pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
  - ~GetFileTable() override
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - '& operator=(const GetFileTable&)'
  - '& operator=(GetFileTable&&)'
  - pldmtool::oem_ibm::GetFileTable::createRequestMsg
  - pldmtool::oem_ibm::GetFileTable::parseResponseMsg
  - pldmtool::oem_ibm::GetFileTable::exec
  - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
  - pldmtool::oem_ibm::registerCommand
  - ~GetAlertStatus() override
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - '& operator=(const GetAlertStatus&)'
  - '& operator=(GetAlertStatus&&)'
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
  - pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
  - ~GetFileTable() override
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - '& operator=(const GetFileTable&)'
  - '& operator=(GetFileTable&&)'
  - pldmtool::oem_ibm::GetFileTable::createRequestMsg
  - pldmtool::oem_ibm::GetFileTable::parseResponseMsg
  - pldmtool::oem_ibm::GetFileTable::exec
  - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
  - pldmtool::oem_ibm::registerCommand
  - ~GetAlertStatus() override
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - '& operator=(const GetAlertStatus&)'
  - '& operator=(GetAlertStatus&&)'
  - pldmtool::oem_ibm::GetAlertStatus::GetAlertStatus
  - pldmtool::oem_ibm::GetAlertStatus::createRequestMsg
  - pldmtool::oem_ibm::GetAlertStatus::parseResponseMsg
  - ~GetFileTable() override
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - pldmtool::oem_ibm::GetFileTable::GetFileTable
  - '& operator=(const GetFileTable&)'
  - '& operator=(GetFileTable&&)'
  - pldmtool::oem_ibm::GetFileTable::createRequestMsg
  - pldmtool::oem_ibm::GetFileTable::parseResponseMsg
  - pldmtool::oem_ibm::GetFileTable::exec
  - pldmtool::oem_ibm::GetFileTable::printFileAttrTable
  - pldmtool::oem_ibm::registerCommand
  source_file: /src/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Update::Update
  - ~Update() noexcept override
  - pldm::fw_update::Update::Update
  - ~Update() noexcept override
  - pldm::fw_update::Update::Update
  - ~Update() noexcept override
  - pldm::fw_update::Update::Update
  - ~Update() noexcept override
  source_file: /src/pldm/fw-update/update.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::InventoryManager::discoverFDs
  - pldm::fw_update::InventoryManager::removeFDs
  - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
  - pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
  - pldm::fw_update::InventoryManager::queryDownstreamDevices
  - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
  - pldm::fw_update::foreach_pldm_downstream_device
  - pldm::fw_update::foreach_pldm_downstream_device_descriptor
  - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
  - pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
  - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
  - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getFirmwareParameters
  - pldm::fw_update::obtainDeviceNameFromConfigurations
  - pldm::fw_update::obtainDeviceNameFromDescriptors
  - pldm::fw_update::InventoryManager::discoverFDs
  - pldm::fw_update::InventoryManager::removeFDs
  - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
  - pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
  - pldm::fw_update::InventoryManager::queryDownstreamDevices
  - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
  - pldm::fw_update::foreach_pldm_downstream_device
  - pldm::fw_update::foreach_pldm_downstream_device_descriptor
  - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
  - pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
  - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
  - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getFirmwareParameters
  - pldm::fw_update::obtainDeviceNameFromConfigurations
  - pldm::fw_update::obtainDeviceNameFromDescriptors
  - pldm::fw_update::InventoryManager::discoverFDs
  - pldm::fw_update::InventoryManager::removeFDs
  - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
  - pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
  - pldm::fw_update::InventoryManager::queryDownstreamDevices
  - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
  - pldm::fw_update::foreach_pldm_downstream_device
  - pldm::fw_update::foreach_pldm_downstream_device_descriptor
  - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
  - pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
  - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
  - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getFirmwareParameters
  - pldm::fw_update::obtainDeviceNameFromConfigurations
  - pldm::fw_update::obtainDeviceNameFromDescriptors
  - pldm::fw_update::InventoryManager::discoverFDs
  - pldm::fw_update::InventoryManager::removeFDs
  - pldm::fw_update::InventoryManager::sendQueryDeviceIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDeviceIdentifiers
  - pldm::fw_update::InventoryManager::sendQueryDownstreamDevicesRequest
  - pldm::fw_update::InventoryManager::queryDownstreamDevices
  - pldm::fw_update::InventoryManager::sendQueryDownstreamIdentifiersRequest
  - pldm::fw_update::InventoryManager::queryDownstreamIdentifiers
  - pldm::fw_update::foreach_pldm_downstream_device
  - pldm::fw_update::foreach_pldm_downstream_device_descriptor
  - pldm::fw_update::InventoryManager::sendGetDownstreamFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getDownstreamFirmwareParameters
  - pldm::fw_update::foreach_pldm_downstream_device_parameters_entry
  - pldm::fw_update::InventoryManager::obtainFirmwareDeviceName
  - pldm::fw_update::InventoryManager::sendGetFirmwareParametersRequest
  - pldm::fw_update::InventoryManager::getFirmwareParameters
  - pldm::fw_update::obtainDeviceNameFromConfigurations
  - pldm::fw_update::obtainDeviceNameFromDescriptors
  source_file: /src/pldm/fw-update/inventory_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Update::startUpdate
  - pldm::fw_update::Update::startUpdate
  - pldm::fw_update::Update::startUpdate
  - pldm::fw_update::Update::startUpdate
  source_file: /src/pldm/fw-update/update.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - '& operator=(const InventoryManager&)'
  - '& operator=(InventoryManager&&)'
  - ~InventoryManager()
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - '& operator=(const InventoryManager&)'
  - '& operator=(InventoryManager&&)'
  - ~InventoryManager()
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - '& operator=(const InventoryManager&)'
  - '& operator=(InventoryManager&&)'
  - ~InventoryManager()
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - pldm::fw_update::InventoryManager::InventoryManager
  - '& operator=(const InventoryManager&)'
  - '& operator=(InventoryManager&&)'
  - ~InventoryManager()
  - pldm::fw_update::InventoryManager::InventoryManager
  source_file: /src/pldm/fw-update/inventory_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~UpdateManagerBase()
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - '& operator=(const UpdateManagerBase&)'
  - '& operator=(UpdateManagerBase&&)'
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - '& operator=(const UpdateManager&)'
  - '& operator=(UpdateManager&&)'
  - ~UpdateManager()
  - pldm::fw_update::UpdateManager::UpdateManager
  - ~UpdateManagerBase()
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - '& operator=(const UpdateManagerBase&)'
  - '& operator=(UpdateManagerBase&&)'
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - '& operator=(const UpdateManager&)'
  - '& operator=(UpdateManager&&)'
  - ~UpdateManager()
  - pldm::fw_update::UpdateManager::UpdateManager
  - ~UpdateManagerBase()
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - '& operator=(const UpdateManagerBase&)'
  - '& operator=(UpdateManagerBase&&)'
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - '& operator=(const UpdateManager&)'
  - '& operator=(UpdateManager&&)'
  - ~UpdateManager()
  - pldm::fw_update::UpdateManager::UpdateManager
  - ~UpdateManagerBase()
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - '& operator=(const UpdateManagerBase&)'
  - '& operator=(UpdateManagerBase&&)'
  - pldm::fw_update::UpdateManagerBase::UpdateManagerBase
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - pldm::fw_update::UpdateManager::UpdateManager
  - '& operator=(const UpdateManager&)'
  - '& operator=(UpdateManager&&)'
  - ~UpdateManager()
  - pldm::fw_update::UpdateManager::UpdateManager
  source_file: /src/pldm/fw-update/update_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::UpdateManager::getSwId
  - pldm::fw_update::UpdateManager::processPackage
  - pldm::fw_update::UpdateManager::processStreamDefer
  - pldm::fw_update::UpdateManager::processStream
  - pldm::fw_update::UpdateManager::associatePkgToDevices
  - pldm::fw_update::UpdateManager::updateDeviceCompletion
  - pldm::fw_update::UpdateManager::handleRequest
  - pldm::fw_update::UpdateManager::activatePackage
  - pldm::fw_update::UpdateManager::resetActivationState
  - pldm::fw_update::UpdateManager::updateActivationProgress
  - pldm::fw_update::UpdateManager::getSwId
  - pldm::fw_update::UpdateManager::processPackage
  - pldm::fw_update::UpdateManager::processStreamDefer
  - pldm::fw_update::UpdateManager::processStream
  - pldm::fw_update::UpdateManager::associatePkgToDevices
  - pldm::fw_update::UpdateManager::updateDeviceCompletion
  - pldm::fw_update::UpdateManager::handleRequest
  - pldm::fw_update::UpdateManager::activatePackage
  - pldm::fw_update::UpdateManager::resetActivationState
  - pldm::fw_update::UpdateManager::updateActivationProgress
  - pldm::fw_update::UpdateManager::getSwId
  - pldm::fw_update::UpdateManager::processPackage
  - pldm::fw_update::UpdateManager::processStreamDefer
  - pldm::fw_update::UpdateManager::processStream
  - pldm::fw_update::UpdateManager::associatePkgToDevices
  - pldm::fw_update::UpdateManager::updateDeviceCompletion
  - pldm::fw_update::UpdateManager::handleRequest
  - pldm::fw_update::UpdateManager::activatePackage
  - pldm::fw_update::UpdateManager::resetActivationState
  - pldm::fw_update::UpdateManager::updateActivationProgress
  - pldm::fw_update::UpdateManager::getSwId
  - pldm::fw_update::UpdateManager::processPackage
  - pldm::fw_update::UpdateManager::processStreamDefer
  - pldm::fw_update::UpdateManager::processStream
  - pldm::fw_update::UpdateManager::associatePkgToDevices
  - pldm::fw_update::UpdateManager::updateDeviceCompletion
  - pldm::fw_update::UpdateManager::handleRequest
  - pldm::fw_update::UpdateManager::activatePackage
  - pldm::fw_update::UpdateManager::resetActivationState
  - pldm::fw_update::UpdateManager::updateActivationProgress
  source_file: /src/pldm/fw-update/update_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - '& operator=(const FirmwareInventory&)'
  - '& operator=(FirmwareInventory&&)'
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - '& operator=(const FirmwareInventory&)'
  - '& operator=(FirmwareInventory&&)'
  source_file: /src/pldm/fw-update/firmware_inventory.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Watch::Watch
  - '& operator=(const Watch&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(Watch&&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(const Watch&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(Watch&&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(const Watch&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(Watch&&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(const Watch&)'
  - pldm::fw_update::Watch::Watch
  - '& operator=(Watch&&)'
  source_file: /src/pldm/fw-update/watch.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  - pldm::fw_update::FirmwareInventory::FirmwareInventory
  source_file: /src/pldm/fw-update/firmware_inventory.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - '& operator=(const AggregateUpdateManager&)'
  - '& operator=(AggregateUpdateManager&&)'
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  - '& operator=(const AggregateUpdateManager&)'
  - '& operator=(AggregateUpdateManager&&)'
  - pldm::fw_update::AggregateUpdateManager::AggregateUpdateManager
  source_file: /src/pldm/fw-update/aggregate_update_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::AggregateUpdateManager::handleRequest
  - pldm::fw_update::AggregateUpdateManager::createUpdateManager
  - pldm::fw_update::AggregateUpdateManager::eraseUpdateManager
  - pldm::fw_update::AggregateUpdateManager::eraseUpdateManagerIf
  - pldm::fw_update::AggregateUpdateManager::handleRequest
  - pldm::fw_update::AggregateUpdateManager::createUpdateManager
  - pldm::fw_update::AggregateUpdateManager::eraseUpdateManager
  - pldm::fw_update::AggregateUpdateManager::eraseUpdateManagerIf
  source_file: /src/pldm/fw-update/aggregate_update_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - '& operator=(const FirmwareInventoryManager&)'
  - '& operator=(FirmwareInventoryManager&&)'
  - ~FirmwareInventoryManager()
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  - '& operator=(const FirmwareInventoryManager&)'
  - '& operator=(FirmwareInventoryManager&&)'
  - ~FirmwareInventoryManager()
  - pldm::fw_update::FirmwareInventoryManager::FirmwareInventoryManager
  source_file: /src/pldm/fw-update/firmware_inventory_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::getTotalSize
  - pldm::fw_update::UpdateProgress::getProgress
  - pldm::fw_update::UpdateProgress::updateState
  - pldm::fw_update::UpdateProgress::reportFwUpdate
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::startFwUpdateFlow
  - pldm::fw_update::DeviceUpdater::requestUpdate
  - pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
  - pldm::fw_update::DeviceUpdater::passCompTable
  - pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::updateComponent
  - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
  - pldm::fw_update::DeviceUpdater::requestFwData
  - pldm::fw_update::DeviceUpdater::transferComplete
  - pldm::fw_update::DeviceUpdater::verifyComplete
  - pldm::fw_update::DeviceUpdater::applyComplete
  - pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
  - pldm::fw_update::DeviceUpdater::activateFirmware
  - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
  - pldm::fw_update::DeviceUpdater::getProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::getTotalSize
  - pldm::fw_update::UpdateProgress::getProgress
  - pldm::fw_update::UpdateProgress::updateState
  - pldm::fw_update::UpdateProgress::reportFwUpdate
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::startFwUpdateFlow
  - pldm::fw_update::DeviceUpdater::requestUpdate
  - pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
  - pldm::fw_update::DeviceUpdater::passCompTable
  - pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::updateComponent
  - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
  - pldm::fw_update::DeviceUpdater::requestFwData
  - pldm::fw_update::DeviceUpdater::transferComplete
  - pldm::fw_update::DeviceUpdater::verifyComplete
  - pldm::fw_update::DeviceUpdater::applyComplete
  - pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
  - pldm::fw_update::DeviceUpdater::activateFirmware
  - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
  - pldm::fw_update::DeviceUpdater::getProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::getTotalSize
  - pldm::fw_update::UpdateProgress::getProgress
  - pldm::fw_update::UpdateProgress::updateState
  - pldm::fw_update::UpdateProgress::reportFwUpdate
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::startFwUpdateFlow
  - pldm::fw_update::DeviceUpdater::requestUpdate
  - pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
  - pldm::fw_update::DeviceUpdater::passCompTable
  - pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::updateComponent
  - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
  - pldm::fw_update::DeviceUpdater::requestFwData
  - pldm::fw_update::DeviceUpdater::transferComplete
  - pldm::fw_update::DeviceUpdater::verifyComplete
  - pldm::fw_update::DeviceUpdater::applyComplete
  - pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
  - pldm::fw_update::DeviceUpdater::activateFirmware
  - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
  - pldm::fw_update::DeviceUpdater::getProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::getTotalSize
  - pldm::fw_update::UpdateProgress::getProgress
  - pldm::fw_update::UpdateProgress::updateState
  - pldm::fw_update::UpdateProgress::reportFwUpdate
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::startFwUpdateFlow
  - pldm::fw_update::DeviceUpdater::requestUpdate
  - pldm::fw_update::DeviceUpdater::sendPassCompTableRequest
  - pldm::fw_update::DeviceUpdater::passCompTable
  - pldm::fw_update::DeviceUpdater::sendUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::updateComponent
  - pldm::fw_update::DeviceUpdater::createRequestFwDataTimer
  - pldm::fw_update::DeviceUpdater::requestFwData
  - pldm::fw_update::DeviceUpdater::transferComplete
  - pldm::fw_update::DeviceUpdater::verifyComplete
  - pldm::fw_update::DeviceUpdater::applyComplete
  - pldm::fw_update::DeviceUpdater::sendActivateFirmwareRequest
  - pldm::fw_update::DeviceUpdater::activateFirmware
  - pldm::fw_update::DeviceUpdater::sendCancelUpdateComponentRequest
  - pldm::fw_update::DeviceUpdater::cancelUpdateComponent
  - pldm::fw_update::DeviceUpdater::getProgress
  source_file: /src/pldm/fw-update/device_updater.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - '& operator=(const PackageParser&)'
  - '& operator=(PackageParser&&)'
  - ~PackageParser()
  - pldm::fw_update::PackageParser::PackageParser
  - '& getFwDeviceIDRecords() const'
  - '& getComponentImageInfos() const'
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - '& operator=(const PackageParser&)'
  - '& operator=(PackageParser&&)'
  - ~PackageParser()
  - pldm::fw_update::PackageParser::PackageParser
  - '& getFwDeviceIDRecords() const'
  - '& getComponentImageInfos() const'
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - '& operator=(const PackageParser&)'
  - '& operator=(PackageParser&&)'
  - ~PackageParser()
  - pldm::fw_update::PackageParser::PackageParser
  - '& getFwDeviceIDRecords() const'
  - '& getComponentImageInfos() const'
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - '& operator=(const PackageParser&)'
  - '& operator=(PackageParser&&)'
  - ~PackageParser()
  - pldm::fw_update::PackageParser::PackageParser
  - '& getFwDeviceIDRecords() const'
  - '& getComponentImageInfos() const'
  source_file: /src/pldm/fw-update/package_parser.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~UpdateProgress()
  - '& operator=(UpdateProgress&&)'
  - '& operator=(const UpdateProgress&)'
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - '& operator=(const DeviceUpdater&)'
  - '& operator=(DeviceUpdater&&)'
  - ~DeviceUpdater()
  - ~UpdateProgress()
  - '& operator=(UpdateProgress&&)'
  - '& operator=(const UpdateProgress&)'
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - '& operator=(const DeviceUpdater&)'
  - '& operator=(DeviceUpdater&&)'
  - ~DeviceUpdater()
  - ~UpdateProgress()
  - '& operator=(UpdateProgress&&)'
  - '& operator=(const UpdateProgress&)'
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - '& operator=(const DeviceUpdater&)'
  - '& operator=(DeviceUpdater&&)'
  - ~DeviceUpdater()
  - ~UpdateProgress()
  - '& operator=(UpdateProgress&&)'
  - '& operator=(const UpdateProgress&)'
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::UpdateProgress::UpdateProgress
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - pldm::fw_update::DeviceUpdater::DeviceUpdater
  - '& operator=(const DeviceUpdater&)'
  - '& operator=(DeviceUpdater&&)'
  - ~DeviceUpdater()
  source_file: /src/pldm/fw-update/device_updater.hpp
  types:
    enum:
    - enumerators:
      - name: Update
      - name: Verify
      - name: Apply
      item_type: enum
      name: state
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/pldm/fw-update/device_updater.hpp
    - enumerators:
      - name: Update
      - name: Verify
      - name: Apply
      item_type: enum
      name: state
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/pldm/fw-update/device_updater.hpp
    - enumerators:
      - name: Update
      - name: Verify
      - name: Apply
      item_type: enum
      name: state
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/pldm/fw-update/device_updater.hpp
    - enumerators:
      - name: Update
      - name: Verify
      - name: Apply
      item_type: enum
      name: state
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/pldm/fw-update/device_updater.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - '& operator=(const ItemUpdateManager&)'
  - '& operator=(ItemUpdateManager&&)'
  - ~ItemUpdateManager()
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  - '& operator=(const ItemUpdateManager&)'
  - '& operator=(ItemUpdateManager&&)'
  - ~ItemUpdateManager()
  - pldm::fw_update::ItemUpdateManager::ItemUpdateManager
  source_file: /src/pldm/fw-update/item_update_manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::ActivationProgress::ActivationProgress
  - pldm::fw_update::Delete::Delete
  - pldm::fw_update::Activation::Activation
  - pldm::fw_update::Activation::requestedActivation
  - pldm::fw_update::ActivationProgress::ActivationProgress
  - pldm::fw_update::Delete::Delete
  - pldm::fw_update::Activation::Activation
  - pldm::fw_update::Activation::requestedActivation
  - pldm::fw_update::ActivationProgress::ActivationProgress
  - pldm::fw_update::Delete::Delete
  - pldm::fw_update::Activation::Activation
  - pldm::fw_update::Activation::requestedActivation
  - pldm::fw_update::ActivationProgress::ActivationProgress
  - pldm::fw_update::Delete::Delete
  - pldm::fw_update::Activation::Activation
  - pldm::fw_update::Activation::requestedActivation
  source_file: /src/pldm/fw-update/activation.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::handleMctpEndpoints
  - pldm::fw_update::Manager::handleConfigurations
  - pldm::fw_update::Manager::handleRemovedMctpEndpoints
  - pldm::fw_update::Manager::updateMctpEndpointAvailability
  - pldm::fw_update::Manager::handleRequest
  - pldm::fw_update::Manager::getActiveEidByName
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::handleMctpEndpoints
  - pldm::fw_update::Manager::handleConfigurations
  - pldm::fw_update::Manager::handleRemovedMctpEndpoints
  - pldm::fw_update::Manager::updateMctpEndpointAvailability
  - pldm::fw_update::Manager::handleRequest
  - pldm::fw_update::Manager::getActiveEidByName
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::handleMctpEndpoints
  - pldm::fw_update::Manager::handleConfigurations
  - pldm::fw_update::Manager::handleRemovedMctpEndpoints
  - pldm::fw_update::Manager::updateMctpEndpointAvailability
  - pldm::fw_update::Manager::handleRequest
  - pldm::fw_update::Manager::getActiveEidByName
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::Manager
  - '& operator=(const Manager&)'
  - '& operator=(Manager&&)'
  - ~Manager() override
  - pldm::fw_update::Manager::Manager
  - pldm::fw_update::Manager::handleMctpEndpoints
  - pldm::fw_update::Manager::handleConfigurations
  - pldm::fw_update::Manager::handleRemovedMctpEndpoints
  - pldm::fw_update::Manager::updateMctpEndpointAvailability
  - pldm::fw_update::Manager::handleRequest
  - pldm::fw_update::Manager::getActiveEidByName
  source_file: /src/pldm/fw-update/manager.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Watch::Watch
  - Watch::~Watch()
  - pldm::fw_update::Watch::callback
  - pldm::fw_update::Watch::Watch
  - Watch::~Watch()
  - pldm::fw_update::Watch::callback
  - pldm::fw_update::Watch::Watch
  - Watch::~Watch()
  - pldm::fw_update::Watch::callback
  - pldm::fw_update::Watch::Watch
  - Watch::~Watch()
  - pldm::fw_update::Watch::callback
  source_file: /src/pldm/fw-update/watch.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::PackageParser::parseFDIdentificationArea
  - pldm::fw_update::PackageParser::parseCompImageInfoArea
  - pldm::fw_update::PackageParser::validatePkgTotalSize
  - pldm::fw_update::PackageParser::parse
  - pldm::fw_update::parsePkgHeader
  - pldm::fw_update::PackageParser::parseFDIdentificationArea
  - pldm::fw_update::PackageParser::parseCompImageInfoArea
  - pldm::fw_update::PackageParser::validatePkgTotalSize
  - pldm::fw_update::PackageParser::parse
  - pldm::fw_update::parsePkgHeader
  - pldm::fw_update::PackageParser::parseFDIdentificationArea
  - pldm::fw_update::PackageParser::parseCompImageInfoArea
  - pldm::fw_update::PackageParser::validatePkgTotalSize
  - pldm::fw_update::PackageParser::parse
  - pldm::fw_update::parsePkgHeader
  - pldm::fw_update::PackageParser::parseFDIdentificationArea
  - pldm::fw_update::PackageParser::parseCompImageInfoArea
  - pldm::fw_update::PackageParser::validatePkgTotalSize
  - pldm::fw_update::PackageParser::parse
  - pldm::fw_update::parsePkgHeader
  source_file: /src/pldm/fw-update/package_parser.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::Activation::activation
  - pldm::fw_update::Delete::delete_
  - pldm::fw_update::Activation::activation
  - pldm::fw_update::Delete::delete_
  - pldm::fw_update::Activation::activation
  - pldm::fw_update::Delete::delete_
  - pldm::fw_update::Activation::activation
  - pldm::fw_update::Delete::delete_
  source_file: /src/pldm/fw-update/activation.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::FirmwareInventoryManager::createFirmwareEntry
  - pldm::fw_update::FirmwareInventoryManager::deleteFirmwareEntry
  - pldm::fw_update::getBoardPath
  - pldm::fw_update::FirmwareInventoryManager::getInventoryPath
  - pldm::fw_update::FirmwareInventoryManager::createFirmwareEntry
  - pldm::fw_update::FirmwareInventoryManager::deleteFirmwareEntry
  - pldm::fw_update::getBoardPath
  - pldm::fw_update::FirmwareInventoryManager::getInventoryPath
  source_file: /src/pldm/fw-update/firmware_inventory_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::ItemUpdateManager::processPackage
  - pldm::fw_update::ItemUpdateManager::processFd
  - pldm::fw_update::ItemUpdateManager::associatePkgToDevice
  - pldm::fw_update::ItemUpdateManager::updateDeviceCompletion
  - pldm::fw_update::ItemUpdateManager::handleRequest
  - pldm::fw_update::ItemUpdateManager::activatePackage
  - pldm::fw_update::ItemUpdateManager::resetActivationState
  - pldm::fw_update::ItemUpdateManager::updateActivationProgress
  - pldm::fw_update::ItemUpdateManager::startUpdate
  - pldm::fw_update::ItemUpdateManager::processPackage
  - pldm::fw_update::ItemUpdateManager::processFd
  - pldm::fw_update::ItemUpdateManager::associatePkgToDevice
  - pldm::fw_update::ItemUpdateManager::updateDeviceCompletion
  - pldm::fw_update::ItemUpdateManager::handleRequest
  - pldm::fw_update::ItemUpdateManager::activatePackage
  - pldm::fw_update::ItemUpdateManager::resetActivationState
  - pldm::fw_update::ItemUpdateManager::updateActivationProgress
  - pldm::fw_update::ItemUpdateManager::startUpdate
  source_file: /src/pldm/fw-update/item_update_manager.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getSoftwarePath() const'
  - '& getAssociation() const'
  - '& getVersion() const'
  - TEST
  source_file: /src/pldm/fw-update/test/firmware_inventory_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getSoftwarePath() const'
  - '& getAssociation() const'
  - '& getVersion() const'
  - FirmwareInventoryManagerTest::FirmwareInventoryManagerTest
  - '& getSoftwareMap()'
  - TEST
  source_file: /src/pldm/fw-update/test/firmware_inventory_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - InventoryManagerTest::InventoryManagerTest
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/fw-update/test/inventory_manager_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - imageGenerate
  - imageInsert
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/pldm/fw-update/test/package_parser_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DeviceUpdaterTest::DeviceUpdaterTest
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/pldm/fw-update/test/device_updater_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PLDM__MSGBUF_DEFINE_P
  - PLDM_MSGBUF_RO_DEFINE_P
  - PLDM_MSGBUF_RW_DEFINE_P
  - pldm_msgbuf_init_errno
  - pldm_msgbuf_init_errno
  - pldm_msgbuf_validate
  - pldm_msgbuf_validate
  - pldm__msgbuf_invalidate
  - pldm__msgbuf_invalidate
  - pldm_msgbuf_consumed
  - pldm_msgbuf_consumed
  - pldm_msgbuf_discard
  - pldm_msgbuf_discard
  - pldm_msgbuf_complete
  - pldm_msgbuf_complete
  - pldm_msgbuf_complete_consumed
  - pldm_msgbuf_complete_consumed
  - pldm_msgbuf_span_required
  - pldm_msgbuf_span_required
  - pldm_msgbuf_span_string_ascii
  - pldm_msgbuf_span_string_ascii
  - pldm_msgbuf_span_string_utf16
  - pldm_msgbuf_span_string_utf16
  - pldm_msgbuf_span_remaining
  - pldm_msgbuf_span_remaining
  - pldm_msgbuf_span_until
  - pldm_msgbuf_span_until
  - pldm_msgbuf_field_begin
  - pldm_msgbuf_field_end
  - pldm_msgbuf_field_begin
  - pldm_msgbuf_field_end
  - pldm_msgbuf_extract_typecheck
  - pldm_msgbuf_extract_uint8
  - pldm_msgbuf_extract_int8
  - pldm_msgbuf_extract_uint16
  - pldm_msgbuf_extract_int16
  - pldm_msgbuf_extract_uint32
  - pldm_msgbuf_extract_int32
  - pldm_msgbuf_extract_real32
  - pldm_msgbuf_typecheck_uint8_t
  - pldm_msgbuf_typecheck_int8_t
  - pldm_msgbuf_typecheck_uint16_t
  - pldm_msgbuf_typecheck_int16_t
  - pldm_msgbuf_typecheck_uint32_t
  - pldm_msgbuf_typecheck_int32_t
  - pldm_msgbuf_typecheck_real32_t
  source_file: /src/libpldm/tests/msgbuf.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_edac_crc32_validate
  - consumeCopy
  - consume
  - consume
  - consume
  - consumeRange
  - consumePackage
  - fuzz_package_parser_parse
  - LLVMFuzzerTestOneInput
  source_file: /src/libpldm/tests/fuzz/fuzz++.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_edac_crc32_validate
  - fuzz_decode_pldm_firmware_update_package
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - fuzz_get_fru_record_by_option
  - fuzz_pldm_state_effecter_pdr
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - foreach_pldm_platform_state_effecter_pdr_states
  - fuzz_decode_pldm_base_get_tid_resp
  - fuzz_decode_pldm_base_get_pldm_types_resp
  - fuzz_decode_pldm_platform_set_numeric_sensor_enable_resp
  - fuzz_decode_pldm_file_df_heartbeat_req
  - fuzz_decode_pldm_base_multipart_receive_req
  - libpldm_decode_one_pldm_msg
  - fuzz_encode_pldm_base_get_tid_resp
  - fuzz_encode_pldm_base_get_pldm_types_resp
  - fuzz_encode_pldm_platform_set_numeric_sensor_enable_req
  - fuzz_encode_pldm_file_df_heartbeat_resp
  - libpldm_encode_one_pldm_msg
  - fuzz_pldm_pdr_add
  - fuzz_pldm_entity_association_pdr_extract
  - LLVMFuzzerTestOneInput
  source_file: /src/libpldm/tests/fuzz/fuzz.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - debug_printf
  - fuzz_chance
  - cb_device_identifiers
  - cb_components
  - cb_imageset_versions
  - cb_update_component
  - cb_transfer_size
  - cb_firmware_data
  - cb_verify
  - cb_apply
  - cb_activate
  - cb_cancel_update_component
  - cb_now
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  - run_standalone
  - main
  source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USING_HONGGFUZZ
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: USING_HONGGFUZZ
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: USING_AFL
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: USING_AFL
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
      type_or_value: '0'
    structs:
    - fields:
      - name: '* fuzz_ctrl'
        type: struct pldm_msgbuf_ro
      - name: current_update
        type: bool
      - name: update_comp
        type: struct pldm_firmware_update_component
      - name: offset
        type: uint32_t
      - name: transferred
        type: bool
      - name: verified
        type: bool
      - name: applied
        type: bool
      - name: now
        type: uint64_t
      item_type: struct
      name: fuzz_ops_ctx
      pos:
        line_end: 63
        line_start: 50
        source_file: /src/libpldm/tests/fuzz/fd/fd-fuzz.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - str16len
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/msgbuf.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDEBUG
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libpldm/tests/unit/msgbuf.cpp
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/bcd.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/edac.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/responder.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - PldmInstanceDbTest::SetUp
  - PldmInstanceDbTest::TearDown
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/libpldm/tests/unit/instance-id.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tid
        type: pldm_tid_t
      - name: iid
        type: pldm_instance_id_t
      item_type: struct
      name: "instances[] = {\n        {1, 0},\n        {2, 0},\n    }"
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/libpldm/tests/unit/instance-id.cpp
    - fields:
      - name: '* db'
        type: struct pldm_instance_db
      - name: iid
        type: pldm_instance_id_t
      item_type: struct
      name: "connections[] = {\n        {nullptr, 0},\n        {nullptr, 0},\n    }"
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/libpldm/tests/unit/instance-id.cpp
    - fields:
      - name: '* db'
        type: struct pldm_instance_db
      - name: tid
        type: pldm_tid_t
      - name: iid
        type: pldm_instance_id_t
      item_type: struct
      name: "connections[] = {\n        {nullptr, 1, 0},\n        {nullptr, 2, 0},\n
        \   }"
      pos:
        line_end: 201
        line_start: 196
        source_file: /src/libpldm/tests/unit/instance-id.cpp
    - fields:
      - name: '* db'
        type: struct pldm_instance_db
      - name: iid
        type: pldm_instance_id_t
      item_type: struct
      name: "connections[] = {\n        {nullptr, 0},\n        {nullptr, 0},\n    }"
      pos:
        line_end: 263
        line_start: 259
        source_file: /src/libpldm/tests/unit/instance-id.cpp
    typedefs: []
    union: []
- function_names:
  - expect
  - __expect
  - test_msgbuf_extract_generic_uint8
  - test_msgbuf_extract_generic_int8
  - test_msgbuf_extract_generic_uint16
  - test_msgbuf_extract_generic_int16
  - test_msgbuf_extract_generic_uint32
  - test_msgbuf_extract_generic_int32
  - test_msgbuf_extract_generic_real32
  - test_msgbuf_extract_array_generic_uint8
  - test_msgbuf_insert_generic_real32
  - test_msgbuf_insert_generic_int32
  - test_msgbuf_insert_generic_uint32
  - test_msgbuf_insert_generic_uint16
  - test_msgbuf_insert_generic_int16
  - test_msgbuf_insert_generic_uint8
  - test_msgbuf_insert_generic_int8
  - test_msgbuf_insert_array_generic_uint8
  - main
  source_file: /src/libpldm/tests/unit/msgbuf_generic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDEBUG
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/libpldm/tests/unit/msgbuf_generic.c
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*testfn)(void)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/libpldm/tests/unit/msgbuf_generic.c
      type: void
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/oem/ibm/host.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/oem/ibm/fileio.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/oem/meta/fileio.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/transport/send_recv_unwanted.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/transport/send_recv_timeout.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/transport/send_recv_wrong_command_code.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/transport/af-mctp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - libpldm_clock_gettime
  - TEST
  source_file: /src/libpldm/tests/unit/transport/send_recv_one.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  source_file: /src/libpldm/tests/unit/transport/send_recv_wrong_pldm_type.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/transport/transport.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::makePkgV1_1_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_1_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_1_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_1_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  source_file: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-1-0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - appendCRC
  source_file: /src/libpldm/tests/unit/bindings/cpp/testpkg-util.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  source_file: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::makePkgV1_3_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_3_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_3_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::makePkgV1_3_0
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  - pldm::fw_update::TEST
  source_file: /src/libpldm/tests/unit/bindings/cpp/firmware-update-test-v1-3-0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - buildTable
  - buildTable
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/bios_table.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/file.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/base.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/fru.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - str16len
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - createFileDescriptorPDR
  - createFileDescriptorPDR
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - foreach_pldm_platform_redfish_resource_pdr_additional_resource
  - foreach_pldm_platform_redfish_resource_pdr_oem_name
  - TEST
  - foreach_pldm_platform_redfish_action_pdr_related_resource_id
  - foreach_pldm_platform_redfish_action_pdr_action
  - TEST
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - foreach_pldm_platform_state_effecter_pdr_states
  - TEST
  - TEST
  - TEST
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - TEST
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - foreach_pldm_platform_state_effecter_pdr_states
  - TEST
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - TEST
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  - foreach_pldm_platform_state_effecter_pdr_states
  source_file: /src/libpldm/tests/unit/dsp/platform.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(pldm_association_pdr_test pdr) const
  - operator==(pldm_entity_test entity) const
  - getEntity
  - getAssociationPdrDetails
  - verifyEntityAssociationPdr
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - checkExtractValidChildren
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/pdr.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: record_handle
        type: uint32_t
      - name: version
        type: uint8_t
      - name: type
        type: uint8_t
      - name: record_change_num
        type: uint16_t
      - name: length
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: association_type
        type: uint8_t
      - name: num_children
        type: uint8_t
      item_type: struct
      name: pldm_association_pdr_test
      pos:
        line_end: 34
        line_start: 16
        source_file: /src/libpldm/tests/unit/dsp/pdr.cpp
    - fields:
      - name: entity_type
        type: uint16_t
      - name: entity_instance_num
        type: uint16_t
      - name: entity_container_id
        type: uint16_t
      item_type: struct
      name: pldm_entity_test
      pos:
        line_end: 48
        line_start: 36
        source_file: /src/libpldm/tests/unit/dsp/pdr.cpp
    typedefs: []
    union: []
- function_names:
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/libpldm/tests/unit/dsp/bios.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_edac_crc32
  - main
  source_file: /src/libpldm/tests/unit/dsp/bios_table_iter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_response
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - foreach_pldm_downstream_device
  - TEST
  - foreach_pldm_downstream_device
  - foreach_pldm_downstream_device_descriptor
  - TEST
  - foreach_pldm_downstream_device
  - foreach_pldm_downstream_device_descriptor
  - TEST
  - foreach_pldm_downstream_device
  - foreach_pldm_downstream_device_descriptor
  - TEST
  - foreach_pldm_downstream_device
  - foreach_pldm_downstream_device_descriptor
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - foreach_pldm_downstream_device_parameters_entry
  - TEST
  - foreach_pldm_downstream_device_parameters_entry
  - TEST
  - foreach_pldm_downstream_device_parameters_entry
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_downstream_device_id_record
  - TEST
  - foreach_pldm_package_component_image_information
  - TEST
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  source_file: /src/libpldm/tests/unit/dsp/firmware_update.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pd_print_bytes
  - pd_print_variable_field
  - pd_print_typed_string
  - pd_print_descriptor
  - main
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - foreach_pldm_package_component_image_information
  source_file: /src/libpldm/tools/pd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PD_PACKAGE_BUFFER
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpldm/tools/pd.c
      type_or_value: (1ul * 1024ul * 1024ul)
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_responder_cookie_eq
  - pldm_responder_cookie_track
  - pldm_responder_cookie_untrack
  source_file: /src/libpldm/src/responder.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_xlate_errno
  source_file: /src/libpldm/src/api.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/control-internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_CONTROL_MAX_VERSION_TYPES
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/libpldm/src/control-internal.h
      type_or_value: '6'
    structs:
    - fields:
      - name: '*versions'
        type: void
      - name: versions_count
        type: uint8_t
      - name: '*commands'
        type: bitfield8_t
      - name: pldm_type
        type: uint8_t
      item_type: struct
      name: pldm_type_versions
      pos:
        line_end: 25
        line_start: 14
        source_file: /src/libpldm/src/control-internal.h
    - fields:
      - name: types[PLDM_CONTROL_MAX_VERSION_TYPES]
        type: struct pldm_type_versions
      item_type: struct
      name: pldm_control
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/libpldm/src/control-internal.h
    typedefs: []
    union: []
- function_names:
  - ARRAY_SIZE
  source_file: /src/libpldm/src/array.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_edac_crc32
  - pldm_edac_crc32_extend
  - pldm_edac_crc32_validate
  - pldm_edac_crc8
  source_file: /src/libpldm/src/edac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PLDM__MSGBUF_DEFINE_P
  - PLDM_MSGBUF_RO_DEFINE_P
  - PLDM_MSGBUF_RW_DEFINE_P
  - pldm_msgbuf_init_errno
  - pldm_msgbuf_discard
  - pldm_msgbuf_complete
  - pldm_msgbuf_complete_consumed
  - pldm_msgbuf_validate
  - pldm_msgbuf_consumed
  - pldm__msgbuf_invalidate
  - pldm_msgbuf_span_required
  - pldm_msgbuf_span_until
  - pldm_msgbuf_span_string_utf16
  - pldm_msgbuf_span_remaining
  - pldm_msgbuf_span_string_ascii
  - pldm_msgbuf_extract_typecheck
  - pldm_msgbuf_extract_uint8
  - pldm_msgbuf_extract_int8
  - pldm_msgbuf_extract_uint16
  - pldm_msgbuf_extract_int16
  - pldm_msgbuf_extract_uint32
  - pldm_msgbuf_extract_int32
  - pldm_msgbuf_extract_real32
  - pldm_msgbuf_extract
  - pldm_msgbuf_extract_p
  - pldm_msgbuf_insert
  - pldm_msgbuf_insert_array
  - pldm_msgbuf_field_begin
  - pldm_msgbuf_field_end
  source_file: /src/libpldm/src/msgbuf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIBPLDM_CC_CLEANUP
  - LIBPLDM_CC_NONNULL_ARGS
  - pldm_require_obj_type
  source_file: /src/libpldm/src/compiler.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: static_assert
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libpldm/src/compiler.h
      type_or_value: BUILD_ASSERT
    - item_type: preproc_def
      name: SSIZE_MAX
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libpldm/src/compiler.h
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: LIBPLDM_CC_UNUSED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpldm/src/compiler.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: LIBPLDM_CC_WARN_UNUSED_RESULT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpldm/src/compiler.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: LIBPLDM_CC_WEAK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpldm/src/compiler.h
      type_or_value: __attribute__((weak))
    structs:
    - fields:
      - name: compliance
        type: int
      item_type: struct
      name: pldm_required_attributes
      pos:
        line_end: 39
        line_start: 26
        source_file: /src/libpldm/src/compiler.h
    typedefs: []
    union: []
- function_names:
  - day_map
  - is_time_legal
  - is_transfer_flag_valid
  source_file: /src/libpldm/src/utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_control_reply_error
  - pldm_control_get_tid
  - pldm_control_get_version
  - pldm_control_get_types
  - pldm_control_get_commands
  - pldm_control_handle_msg
  - pldm_control_setup
  - pldm_control_add_type
  source_file: /src/libpldm/src/control.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_BASE_VERSIONS_COUNT
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libpldm/src/control.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/responder.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tid
        type: pldm_tid_t
      - name: instance_id
        type: pldm_instance_id_t
      - name: type
        type: uint8_t
      - name: command
        type: uint8_t
      - name: '*next'
        type: struct pldm_responder_cookie
      item_type: struct
      name: pldm_responder_cookie
      pos:
        line_end: 14
        line_start: 8
        source_file: /src/libpldm/src/responder.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/mctp-defines.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MCTP_MSG_TYPE_PLDM
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libpldm/src/mctp-defines.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MCTP_MAX_NUM_EID
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/libpldm/src/mctp-defines.h
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_bcd_bcd2dec8
  - pldm_bcd_dec2bcd8
  - pldm_bcd_bcd2dec16
  - pldm_bcd_dec2bcd16
  - pldm_bcd_bcd2dec32
  - pldm_bcd_dec2bcd32
  source_file: /src/libpldm/src/bcd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _Static_assert
  - pldm__msgbuf_cleanup
  - pldm__msgbuf_rw_cleanup
  - pldm__msgbuf_ro_cleanup
  - pldm__msgbuf_set_invalid
  - pldm__msgbuf_rw_invalidate
  - pldm__msgbuf_ro_invalidate
  - pldm__msgbuf_init_errno
  - pldm_msgbuf_rw_init_errno
  - pldm_msgbuf_ro_init_errno
  - LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_validate
  - pldm_msgbuf_ro_validate
  - pldm_msgbuf_rw_validate
  - LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_consumed
  - pldm_msgbuf_ro_consumed
  - pldm_msgbuf_rw_consumed
  - LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_discard
  - pldm_msgbuf_rw_discard
  - pldm_msgbuf_ro_discard
  - pldm_msgbuf_rw_complete
  - pldm_msgbuf_ro_complete
  - pldm_msgbuf_rw_complete_consumed
  - pldm_msgbuf_ro_complete_consumed
  - pldm__msgbuf_extract_uint8
  - pldm__msgbuf_extract_int8
  - pldm__msgbuf_extract_uint16
  - pldm__msgbuf_extract_int16
  - pldm__msgbuf_extract_uint32
  - pldm__msgbuf_extract_int32
  - pldm__msgbuf_extract_real32
  - pldm__msgbuf_extract_array_void
  - pldm_msgbuf_extract_array_char
  - pldm_msgbuf_extract_array_uint8
  - pldm_msgbuf_extract_array
  - pldm_msgbuf_insert_uint64
  - pldm_msgbuf_insert_real32
  - pldm_msgbuf_insert_uint32
  - pldm_msgbuf_insert_uint16
  - pldm_msgbuf_insert_uint8
  - pldm_msgbuf_insert_int32
  - pldm_msgbuf_insert_int16
  - pldm_msgbuf_insert_int8
  - pldm__msgbuf_insert_array_void
  - pldm_msgbuf_insert_array_char
  - pldm_msgbuf_insert_array_uint8
  - pldm__msgbuf_span_required
  - pldm_msgbuf_ro_span_required
  - pldm_msgbuf_rw_span_required
  - pldm__msgbuf_span_string_ascii
  - pldm_msgbuf_rw_span_string_ascii
  - pldm_msgbuf_ro_span_string_ascii
  - pldm__msgbuf_span_string_utf16
  - pldm_msgbuf_ro_span_string_utf16
  - pldm_msgbuf_rw_span_string_utf16
  - pldm__msgbuf_span_remaining
  - pldm_msgbuf_rw_span_remaining
  - pldm_msgbuf_ro_span_remaining
  - pldm__msgbuf_span_until
  - pldm_msgbuf_ro_span_until
  - pldm_msgbuf_rw_span_until
  - pldm_msgbuf_peek_remaining
  - pldm_msgbuf_skip
  - pldm_msgbuf_complete_used
  - pldm_msgbuf_copy
  - pldm__msgbuf_copy
  - pldm_msgbuf_copy_string_ascii
  - pldm_msgbuf_copy_string_utf16
  - pldm_msgbuf_extract_uint8_to_size
  - pldm__msgbuf_extract_uint8_to_size
  - pldm_msgbuf_extract_uint16_to_size
  - pldm__msgbuf_extract_uint16_to_size
  - pldm_msgbuf_extract_uint32_to_size
  - pldm__msgbuf_extract_uint32_to_size
  - pldm__msgbuf_field_begin
  - LIBPLDM_CC_ALWAYS_INLINE::pldm__msgbuf_field_end
  source_file: /src/libpldm/src/msgbuf/core.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: compliance
        type: int
      item_type: struct
      name: build_assertions LIBPLDM_CC_UNUSED
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/libpldm/src/msgbuf/core.h
    - fields:
      - name: '*cursor'
        type: uint8_t
      - name: remaining
        type: intmax_t
      item_type: struct
      name: pldm_msgbuf_rw
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/libpldm/src/msgbuf/core.h
    - fields:
      - name: '*cursor'
        type: uint8_t
      - name: remaining
        type: intmax_t
      item_type: struct
      name: pldm_msgbuf_ro
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/libpldm/src/msgbuf/core.h
    typedefs: []
    union: []
- function_names:
  - pldm_msgbuf_extract_value_pdr_hdr
  - pldm_msgbuf_extract_sensor_data
  - pldm_msgbuf_extract_sensor_value
  - pldm_msgbuf_extract_range_field_format
  - pldm__msgbuf_extract_range_field_format
  - pldm_msgbuf_extract_effecter_value
  - pldm_msgbuf_extract_effecter_data
  - pldm__msgbuf_extract_effecter_data
  - pldm_msgbuf_typecheck_range_field_format
  source_file: /src/libpldm/src/msgbuf/platform.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_get_alert_status_req
  - decode_get_alert_status_resp
  - decode_get_alert_status_req
  - encode_get_alert_status_resp
  source_file: /src/libpldm/src/oem/ibm/host.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - decode_rw_file_memory_req
  - encode_rw_file_memory_resp
  - encode_rw_file_memory_req
  - decode_rw_file_memory_resp
  - decode_get_file_table_req
  - encode_get_file_table_resp
  - encode_get_file_table_req
  - decode_get_file_table_resp
  - decode_read_file_req
  - encode_read_file_req
  - decode_read_file_resp
  - encode_read_file_resp
  - decode_write_file_req
  - encode_write_file_req
  - decode_write_file_resp
  - encode_write_file_resp
  - decode_rw_file_by_type_memory_req
  - encode_rw_file_by_type_memory_resp
  - encode_rw_file_by_type_memory_req
  - decode_rw_file_by_type_memory_resp
  - decode_new_file_req
  - encode_new_file_resp
  - encode_new_file_req
  - decode_new_file_resp
  - decode_rw_file_by_type_req
  - encode_rw_file_by_type_resp
  - encode_rw_file_by_type_req
  - decode_rw_file_by_type_resp
  - decode_file_ack_req
  - encode_file_ack_resp
  - encode_file_ack_req
  - decode_file_ack_resp
  - encode_file_ack_with_meta_data_req
  - decode_file_ack_with_meta_data_resp
  - decode_file_ack_with_meta_data_req
  - encode_file_ack_with_meta_data_resp
  - encode_new_file_with_metadata_req
  - decode_new_file_with_metadata_resp
  - decode_new_file_with_metadata_req
  - encode_new_file_with_metadata_resp
  source_file: /src/libpldm/src/oem/ibm/file_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_bios_attribute_update_event_req
  source_file: /src/libpldm/src/oem/ibm/platform.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_oem_meta_file_io_write_req_data
  - decode_oem_meta_file_io_write_req
  - decode_oem_meta_file_io_req
  - decode_oem_meta_file_io_read_req
  - pldm_oem_meta_file_io_read_resp_data
  - encode_oem_meta_file_io_read_resp
  source_file: /src/libpldm/src/oem/meta/file_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/transport/af-mctp-internal.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: net
        type: unsigned int
      - name: eid
        type: mctp_eid_t
      item_type: struct
      name: mctp_fq_addr
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libpldm/src/transport/af-mctp-internal.h
    - fields:
      - name: transport
        type: struct pldm_transport
      - name: socket
        type: int
      - name: tid_map[PLDM_MAX_TIDS]
        type: struct mctp_fq_addr
      - name: socket_send_buf
        type: struct pldm_socket_sndbuf
      - name: bound
        type: bool
      - name: cookie_jar
        type: struct pldm_responder_cookie
      item_type: struct
      name: pldm_transport_af_mctp
      pos:
        line_end: 30
        line_start: 23
        source_file: /src/libpldm/src/transport/af-mctp-internal.h
    - fields:
      - name: req
        type: struct pldm_responder_cookie
      - name: smctp
        type: struct sockaddr_mctp
      item_type: struct
      name: pldm_responder_cookie_af_mctp
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/libpldm/src/transport/af-mctp-internal.h
    typedefs: []
    union: []
- function_names:
  - transport_to_test
  - pldm_transport_test_core
  - pldm_transport_test_init_pollfd
  - pldm_transport_test_recv
  - pldm_transport_test_send
  - pldm_transport_test_init
  - pldm_transport_test_destroy
  source_file: /src/libpldm/src/transport/test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transport
        type: struct pldm_transport
      - name: '*seq'
        type: struct pldm_transport_test_descriptor
      - name: count
        type: size_t
      - name: cursor
        type: size_t
      - name: timerfd
        type: int
      item_type: struct
      name: pldm_transport_test
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/libpldm/src/transport/test.c
    typedefs: []
    union: []
- function_names:
  - pldm_transport_poll
  - pldm_requester_rc_t::pldm_transport_send_msg
  - pldm_requester_rc_t::pldm_transport_recv_msg
  - timespec_to_timeval
  - timeval_to_msec
  - timeval_validate_for_msec
  - clock_gettimeval
  - pldm_requester_rc_t::pldm_transport_send_recv_msg
  source_file: /src/libpldm/src/transport/transport.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - container_of
  source_file: /src/libpldm/src/transport/container-of.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_socket_sndbuf_init
  - pldm_socket_sndbuf_accomodate
  - pldm_socket_sndbuf_get
  source_file: /src/libpldm/src/transport/socket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/transport/test.h
  types:
    enum:
    - enumerators:
      - name: PLDM_TRANSPORT_TEST_ELEMENT_MSG_SEND
      - name: PLDM_TRANSPORT_TEST_ELEMENT_MSG_RECV
      - name: PLDM_TRANSPORT_TEST_ELEMENT_LATENCY
      item_type: enum
      name: pldm_transport_test_element
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/libpldm/src/transport/test.h
    preproc_defs: []
    structs:
    - fields:
      - name: dst
        type: pldm_tid_t
      - name: '*msg'
        type: void
      - name: len
        type: size_t
      item_type: struct
      name: pldm_transport_test_msg_send
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/libpldm/src/transport/test.h
    - fields:
      - name: src
        type: pldm_tid_t
      - name: '*msg'
        type: void
      - name: len
        type: size_t
      item_type: struct
      name: pldm_transport_test_msg_recv
      pos:
        line_end: 29
        line_start: 25
        source_file: /src/libpldm/src/transport/test.h
    - fields:
      - name: type
        type: enum pldm_transport_test_element
      item_type: struct
      name: pldm_transport_test_descriptor
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/libpldm/src/transport/test.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/transport/transport.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: version
        type: uint8_t
      - name: "(*recv)(struct pldm_transport *transport,\n\t\t\t\t    pldm_tid_t *tid,
          void **pldm_resp_msg,\n\t\t\t\t    size_t *msg_len)"
        type: pldm_requester_rc_t
      - name: "(*send)(struct pldm_transport *transport,\n\t\t\t\t    pldm_tid_t tid,
          const void *pldm_msg,\n\t\t\t\t    size_t msg_len)"
        type: pldm_requester_rc_t
      - name: "(*init_pollfd)(struct pldm_transport *transport,\n\t\t\t   struct pollfd
          *pollfd)"
        type: int
      item_type: struct
      name: pldm_transport
      pos:
        line_end: 27
        line_start: 16
        source_file: /src/libpldm/src/transport/transport.h
    typedefs: []
    union: []
- function_names:
  - cookie_to_af_mctp
  - transport_to_af_mctp
  - pldm_transport_af_mctp_core
  - pldm_transport_af_mctp_init_pollfd
  - pldm_transport_af_mctp_lookup_fqe
  - pldm_transport_af_mctp_find_tid
  - pldm_transport_af_mctp_get_tid
  - pldm_transport_af_mctp_map_tid
  - pldm_transport_af_mctp_unmap_tid
  - pldm_transport_af_mctp_map_tid_fqe
  - pldm_transport_af_mctp_unmap_tid_fqe
  - pldm_transport_af_mctp_recv
  - pldm_transport_af_mctp_send
  - pldm_transport_af_mctp_init
  - pldm_transport_af_mctp_destroy
  - pldm_transport_af_mctp_bind
  source_file: /src/libpldm/src/transport/af-mctp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AF_MCTP_NAME
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libpldm/src/transport/af-mctp.c
      type_or_value: '"AF_MCTP"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/transport/socket.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: int
      - name: socket
        type: int
      - name: max_size
        type: int
      item_type: struct
      name: pldm_socket_sndbuf
      pos:
        line_end: 7
        line_start: 3
        source_file: /src/libpldm/src/transport/socket.h
    typedefs: []
    union: []
- function_names:
  - transport_to_demux
  - pldm_transport_mctp_demux_core
  - pldm_transport_mctp_demux_open
  - pldm_transport_mctp_demux_init_pollfd
  - pldm_transport_mctp_demux_get_eid
  - pldm_transport_mctp_demux_get_tid
  - pldm_transport_mctp_demux_map_tid
  - pldm_transport_mctp_demux_unmap_tid
  - pldm_transport_mctp_demux_recv
  - pldm_transport_mctp_demux_send
  - pldm_transport_mctp_demux_init
  - pldm_transport_mctp_demux_destroy
  - pldm_transport_mctp_demux_init_with_fd
  - pldm_transport_mctp_demux_get_socket_fd
  source_file: /src/libpldm/src/transport/mctp-demux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MCTP_DEMUX_NAME
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libpldm/src/transport/mctp-demux.c
      type_or_value: '"libmctp-demux-daemon"'
    structs:
    - fields:
      - name: transport
        type: struct pldm_transport
      - name: socket
        type: int
      - name: tid_eid_map[MCTP_MAX_NUM_EID]
        type: pldm_tid_t
      - name: socket_send_buf
        type: struct pldm_socket_sndbuf
      item_type: struct
      name: pldm_transport_mctp_demux
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/libpldm/src/transport/mctp-demux.c
    typedefs: []
    union: []
- function_names:
  - pldm_fd_reply_cc
  - pldm_fd_reply_errno
  - pldm_fd_set_state
  - pldm_fd_set_idle
  - pldm_fd_idle_timeout
  - pldm_fd_get_aux_state
  - pldm_fd_now
  - pldm_fd_req_should_send
  - pldm_fd_req_next_instance
  - pldm_fd_qdi
  - pldm_fd_fw_param
  - pldm_fd_request_update
  - pldm_fd_maybe_cancel_component
  - pldm_fd_check_update_component
  - pldm_fd_pass_comp
  - pldm_fd_update_comp
  - pldm_fd_get_status
  - pldm_fd_cancel_update_comp
  - pldm_fd_cancel_update
  - pldm_fd_activate_firmware
  - pldm_fd_fwdata_size
  - pldm_fd_handle_fwdata_resp
  - pldm_fd_handle_transfer_complete_resp
  - pldm_fd_handle_verify_complete_resp
  - pldm_fd_handle_apply_complete_resp
  - pldm_fd_handle_resp
  - pldm_fd_progress_download
  - pldm_fd_progress_verify
  - pldm_fd_progress_apply
  - pldm_fd_new
  - pldm_fd_setup
  - pldm_fd_handle_msg
  - pldm_fd_progress
  - pldm_fd_set_update_idle_timeout
  - pldm_fd_set_request_retry_time
  source_file: /src/libpldm/src/firmware_device/fd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_FD_VERSIONS_COUNT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libpldm/src/firmware_device/fd.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/firmware_device/fd-internal.h
  types:
    enum:
    - enumerators:
      - name: PLDM_FD_REQ_UNUSED
        value: '0'
      - name: PLDM_FD_REQ_SENT
      - name: PLDM_FD_REQ_FAILED
      - name: PLDM_FD_REQ_READY
      item_type: enum
      name: pldm_fd_req_state
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum pldm_fd_req_state {\n\t\t// pldm_fd_req instance is unused\n\t\tPLDM_FD_REQ_UNUSED
          = 0,\n\t\t// Ready to send a request\n\t\tPLDM_FD_REQ_READY,\n\t\t// Waiting
          for a response\n\t\tPLDM_FD_REQ_SENT,\n\t\t// Completed and failed, will
          not send more requests.\n\t\t// Waiting for a cancel from the UA.\n\t\tPLDM_FD_REQ_FAILED,\n\t}"
      - name: complete
        type: bool
      - name: result
        type: uint8_t
      - name: instance_id
        type: uint8_t
      - name: command
        type: uint8_t
      - name: sent_time
        type: pldm_fd_time_t
      item_type: struct
      name: pldm_fd_req
      pos:
        line_end: 36
        line_start: 13
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    - fields:
      - name: offset
        type: uint32_t
      item_type: struct
      name: pldm_fd_download
      pos:
        line_end: 40
        line_start: 38
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    - fields:
      - name: progress_percent
        type: uint8_t
      item_type: struct
      name: pldm_fd_verify
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    - fields:
      - name: progress_percent
        type: uint8_t
      item_type: struct
      name: pldm_fd_apply
      pos:
        line_end: 48
        line_start: 46
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    - fields:
      - name: state
        type: enum pldm_firmware_device_states
      - name: prev_state
        type: enum pldm_firmware_device_states
      - name: reason
        type: enum pldm_get_status_reason_code_values
      - name: specific
        type: "union {\n\t\tstruct pldm_fd_download download;\n\t\tstruct pldm_fd_verify
          verify;\n\t\tstruct pldm_fd_apply apply;\n\t}"
      - name: update_comp
        type: struct pldm_firmware_update_component
      - name: update_flags
        type: bitfield32_t
      - name: req
        type: struct pldm_fd_req
      - name: ua_address
        type: pldm_tid_t
      - name: ua_address_set
        type: bool
      - name: max_transfer
        type: uint32_t
      - name: update_timestamp_fd_t1
        type: pldm_fd_time_t
      - name: fd_t1_timeout
        type: pldm_fd_time_t
      - name: fd_t2_retry_time
        type: pldm_fd_time_t
      - name: '*ops'
        type: struct pldm_fd_ops
      - name: '*ops_ctx'
        type: void
      item_type: struct
      name: pldm_fd
      pos:
        line_end: 88
        line_start: 50
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
    typedefs:
    - item_type: typedef
      name: pldm_fd_time_t
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/libpldm/src/firmware_device/fd-internal.h
      type: uint64_t
    union: []
- function_names: []
  source_file: /src/libpldm/src/environ/time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - libpldm_clock_gettime
  source_file: /src/libpldm/src/environ/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/src/environ/errno.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EUCLEAN
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/libpldm/src/environ/errno.h
      type_or_value: '117'
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_pldm_file_df_open_req
  - decode_pldm_file_df_open_req
  - encode_pldm_file_df_open_resp
  - decode_pldm_file_df_open_resp
  - encode_pldm_file_df_close_req
  - decode_pldm_file_df_close_req
  - encode_pldm_file_df_close_resp
  - decode_pldm_file_df_close_resp
  - encode_pldm_file_df_heartbeat_req
  - decode_pldm_file_df_heartbeat_resp
  - decode_pldm_file_df_heartbeat_req
  - encode_pldm_file_df_heartbeat_resp
  source_file: /src/libpldm/src/dsp/file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_msg_has_error
  source_file: /src/libpldm/src/dsp/base.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_state_effecter_pdr
  - encode_state_sensor_pdr
  - encode_set_state_effecter_states_resp
  - encode_set_state_effecter_states_req
  - decode_set_state_effecter_states_resp
  - decode_set_state_effecter_states_req
  - decode_get_pdr_req
  - encode_get_pdr_resp
  - encode_get_pdr_repository_info_req
  - encode_get_pdr_repository_info_resp
  - decode_get_pdr_repository_info_resp
  - decode_get_pdr_repository_info_resp_safe
  - encode_get_pdr_req
  - decode_get_pdr_resp
  - decode_get_pdr_resp_safe
  - decode_set_numeric_effecter_value_req
  - encode_set_numeric_effecter_value_resp
  - encode_set_numeric_effecter_value_req
  - decode_set_numeric_effecter_value_resp
  - encode_get_state_sensor_readings_resp
  - encode_get_state_sensor_readings_req
  - decode_get_state_sensor_readings_resp
  - decode_get_state_sensor_readings_req
  - encode_sensor_event_data
  - decode_platform_event_message_req
  - pldm_platform_poll_for_platform_event_message_validate
  - decode_poll_for_platform_event_message_req
  - encode_platform_event_message_resp
  - encode_poll_for_platform_event_message_resp
  - encode_platform_event_message_req
  - decode_platform_event_message_resp
  - encode_event_message_buffer_size_req
  - decode_event_message_buffer_size_resp
  - encode_event_message_supported_req
  - decode_event_message_supported_resp
  - decode_sensor_event_data
  - decode_sensor_op_data
  - decode_state_sensor_data
  - decode_numeric_sensor_data
  - decode_numeric_sensor_pdr_data
  - encode_get_numeric_effecter_value_req
  - encode_get_numeric_effecter_value_resp
  - decode_get_numeric_effecter_value_req
  - decode_get_numeric_effecter_value_resp
  - encode_pldm_pdr_repository_chg_event_data
  - decode_pldm_pdr_repository_chg_event_data
  - decode_pldm_message_poll_event_data
  - encode_pldm_message_poll_event_data
  - decode_pldm_pdr_repository_change_record_data
  - encode_pldm_platform_set_numeric_sensor_enable_req
  - decode_pldm_platform_set_numeric_sensor_enable_resp
  - encode_get_sensor_reading_req
  - decode_get_sensor_reading_resp
  - encode_get_sensor_reading_resp
  - decode_get_sensor_reading_req
  - decode_set_numeric_sensor_enable_req
  - decode_set_state_sensor_enables_req
  - encode_get_event_receiver_req
  - encode_get_event_receiver_resp
  - decode_get_event_receiver_resp
  - encode_set_event_receiver_req
  - decode_set_event_receiver_resp
  - decode_set_event_receiver_req
  - encode_set_event_receiver_resp
  - encode_poll_for_platform_event_message_req
  - decode_poll_for_platform_event_message_resp
  - decode_numeric_effecter_pdr_data
  - encode_get_state_effecter_states_req
  - decode_get_state_effecter_states_req
  - decode_get_state_effecter_states_resp
  - encode_get_state_effecter_states_resp
  - decode_entity_auxiliary_names_pdr
  - decode_pldm_entity_auxiliary_names_pdr_index
  - decode_pldm_platform_cper_event
  - pldm_platform_cper_event_event_data
  - decode_pldm_platform_file_descriptor_pdr
  - encode_pldm_platform_file_descriptor_pdr
  - decode_pldm_platform_redfish_resource_pdr
  - decode_pldm_platform_redfish_resource_pdr_additional_resource_from_iter
  - decode_pldm_platform_redfish_resource_pdr_oem_name_from_iter
  - decode_pldm_platform_redfish_action_pdr
  - decode_pldm_platform_redfish_action_pdr_related_resource_id_from_iter
  - decode_pldm_platform_redfish_action_pdr_action_from_iter
  - pldm_platform_state_effecter_pdr_iter_init
  - decode_pldm_platform_state_effecter_pdr_from_iter
  - pldm_platform_state_effecter_pdr_possible_states_iter_init
  - decode_pldm_platform_state_effecter_pdr_possible_states_from_iter
  source_file: /src/libpldm/src/dsp/platform.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_SET_STATE_EFFECTER_STATES_MIN_SIZE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libpldm/src/dsp/platform.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_FILE_PDR_FILE_NAME_MAX_LENGTH
      pos:
        line_end: 3606
        line_start: 3605
        source_file: /src/libpldm/src/dsp/platform.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_next_record_handle
  - pldm_pdr_add
  - pldm_pdr_init
  - pldm_pdr_destroy
  - "pldm_pdr_record *pldm_pdr_find_record(const pldm_pdr *repo,\n\t\t\t\t\t    uint32_t
    record_handle,\n\t\t\t\t\t    uint8_t **data, uint32_t *size,\n\t\t\t\t\t    uint32_t
    *next_record_handle)"
  - "pldm_pdr_record *\npldm_pdr_get_next_record(const pldm_pdr *repo,\n\t\t\t const
    pldm_pdr_record *curr_record, uint8_t **data,\n\t\t\t uint32_t *size, uint32_t
    *next_record_handle)"
  - "pldm_pdr_record *\npldm_pdr_find_record_by_type(const pldm_pdr *repo, uint8_t
    pdr_type,\n\t\t\t     const pldm_pdr_record *curr_record, uint8_t **data,\n\t\t\t
    \    uint32_t *size)"
  - pldm_pdr_get_record_count
  - pldm_pdr_get_repo_size
  - pldm_pdr_get_record_handle
  - pldm_pdr_get_terminus_handle
  - pldm_pdr_record_is_remote
  - pldm_pdr_add_fru_record_set
  - "pldm_pdr_record *pldm_pdr_fru_record_set_find_by_rsi(\n\tconst pldm_pdr *repo,
    uint16_t fru_rsi, uint16_t *terminus_handle,\n\tuint16_t *entity_type, uint16_t
    *entity_instance_num,\n\tuint16_t *container_id)"
  - pldm_pdr_update_TL_pdr
  - pldm_record_handle_in_range
  - decode_pldm_state_sensor_pdr
  - pldm_pdr_delete_by_sensor_id
  - pldm_pdr_find_child_container_id_index_range_exclude
  - decode_pldm_state_effecter_pdr
  - pldm_pdr_delete_by_effecter_id
  - pldm_pdr_delete_by_record_handle
  - pldm_entity::pldm_entity_extract
  - pldm_entity_node_get_remote_container_id
  - pldm_entity_association_tree *pldm_entity_association_tree_init(void)
  - "pldm_entity_node *find_insertion_at(pldm_entity_node *start,\n\t\t\t\t\t   uint16_t
    entity_type)"
  - "pldm_entity_node *pldm_entity_association_tree_add(\n\tpldm_entity_association_tree
    *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
    *parent,\n\tuint8_t association_type)"
  - "pldm_entity_node *pldm_entity_association_tree_add_entity(\n\tpldm_entity_association_tree
    *tree, pldm_entity *entity,\n\tuint16_t entity_instance_number, pldm_entity_node
    *parent,\n\tuint8_t association_type, bool is_remote, bool is_update_container_id,\n\tuint16_t
    container_id)"
  - get_num_nodes
  - entity_association_tree_visit
  - pldm_entity_association_tree_visit
  - entity_association_tree_destroy
  - pldm_entity_association_tree_destroy
  - pldm_entity_is_node_parent
  - pldm_entity::pldm_entity_get_parent
  - pldm_entity_is_exist_parent
  - pldm_entity_get_num_children
  - pldm_is_current_parent_child
  - entity_association_pdr_add_children
  - entity_association_pdr_add_entry
  - is_present
  - entity_association_pdr_add
  - pldm_entity_association_pdr_add
  - pldm_entity_association_pdr_add_from_node
  - pldm_entity_association_pdr_add_from_node_with_record_handle
  - find_entity_ref_in_tree
  - pldm_find_entity_ref_in_tree
  - pldm_pdr_remove_pdrs_by_terminus_handle
  - pldm_pdr_remove_remote_pdrs
  - "pldm_pdr_record *pldm_pdr_find_last_in_range(const pldm_pdr *repo,\n\t\t\t\t\t
    \    uint32_t first, uint32_t last)"
  - entity_association_tree_find_if_remote
  - "pldm_entity_node *pldm_entity_association_tree_find_with_locality(\n\tpldm_entity_association_tree
    *tree, pldm_entity *entity, bool is_remote)"
  - entity_association_tree_find
  - "pldm_entity_node *\npldm_entity_association_tree_find(pldm_entity_association_tree
    *tree,\n\t\t\t\t  pldm_entity *entity)"
  - entity_association_tree_copy
  - pldm_entity_association_tree_copy_root
  - pldm_entity_association_tree_copy_root_check
  - pldm_entity_association_tree_destroy_root
  - pldm_is_empty_entity_assoc_tree
  - pldm_entity_association_pdr_extract
  - pldm_pdr_replace_record
  - pldm_pdr_insert_record
  - pldm_pdr_find_record_by_handle
  - pldm_entity_association_pdr_add_contained_entity_to_remote_pdr
  - pldm_entity_association_pdr_create_new
  - pldm_entity_cmp
  - pldm_entity_association_find_record_handle_by_entity
  - pldm_entity_association_pdr_remove_contained_entity
  - "pldm_pdr_record *pldm_pdr_get_prev_record(pldm_pdr *repo,\n\t\t\t\t\t\t pldm_pdr_record
    *record)"
  - is_prev_record_present
  - pldm_pdr_record_matches_fru_rsi
  - pldm_pdr_remove_record
  - pldm_pdr_remove_fru_record_set_by_rsi
  - pldm_entity_association_tree_delete_node
  source_file: /src/libpldm/src/dsp/pdr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PDR_ENTITY_ASSOCIATION_MIN_SIZE
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/libpldm/src/dsp/pdr.c
      type_or_value: "(sizeof(struct pldm_pdr_hdr) +                                         \\\n\t
        sizeof(struct pldm_pdr_entity_association))"
    - item_type: preproc_def
      name: PDR_FRU_RECORD_SET_MIN_SIZE
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/libpldm/src/dsp/pdr.c
      type_or_value: (sizeof(struct pldm_pdr_hdr) + sizeof(struct pldm_pdr_fru_record_set))
    structs:
    - fields:
      - name: record_handle
        type: uint32_t
      - name: size
        type: uint32_t
      - name: '*data'
        type: uint8_t
      - name: '*next'
        type: struct pldm_pdr_record
      - name: is_remote
        type: bool
      - name: terminus_handle
        type: uint16_t
      item_type: struct
      name: pldm_pdr_record
      pos:
        line_end: 30
        line_start: 23
        source_file: /src/libpldm/src/dsp/pdr.c
    - fields:
      - name: record_count
        type: uint32_t
      - name: size
        type: uint32_t
      - name: '*first'
        type: pldm_pdr_record
      - name: '*last'
        type: pldm_pdr_record
      item_type: struct
      name: pldm_pdr
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/libpldm/src/dsp/pdr.c
    - fields:
      - name: '*root'
        type: pldm_entity_node
      - name: last_used_container_id
        type: uint16_t
      item_type: struct
      name: pldm_entity_association_tree
      pos:
        line_end: 654
        line_start: 651
        source_file: /src/libpldm/src/dsp/pdr.c
    - fields:
      - name: entity
        type: pldm_entity
      - name: parent
        type: pldm_entity
      - name: remote_container_id
        type: uint16_t
      - name: '*first_child'
        type: pldm_entity_node
      - name: '*next_sibling'
        type: pldm_entity_node
      - name: association_type
        type: uint8_t
      item_type: struct
      name: pldm_entity_node
      pos:
        line_end: 663
        line_start: 656
        source_file: /src/libpldm/src/dsp/pdr.c
    typedefs: []
    union: []
- function_names:
  - is_string_type_valid
  - get_descriptor_type_length
  - is_downstream_device_update_support_valid
  - is_transfer_operation_flag_valid
  - is_comp_resp_valid
  - is_comp_resp_code_valid
  - is_comp_compatibility_resp_valid
  - is_comp_compatibility_resp_code_valid
  - is_self_contained_activation_req_valid
  - is_state_valid
  - is_aux_state_valid
  - is_aux_state_status_valid
  - is_reason_code_valid
  - is_non_functioning_component_indication_valid
  - decode_pldm_package_header_info_errno
  - decode_pldm_package_header_info
  - pldm_msgbuf_init_dynamic_uint16
  - decode_pldm_package_firmware_device_id_record_errno
  - decode_firmware_device_id_record
  - decode_pldm_descriptor_from_iter
  - decode_descriptor_type_length_value_errno
  - decode_descriptor_type_length_value
  - decode_vendor_defined_descriptor_value_errno
  - decode_vendor_defined_descriptor_value
  - decode_pldm_comp_image_info_errno
  - decode_pldm_comp_image_info
  - encode_query_device_identifiers_req
  - decode_query_device_identifiers_resp
  - encode_query_device_identifiers_resp
  - encode_get_firmware_parameters_req
  - decode_get_firmware_parameters_resp
  - encode_get_firmware_parameters_resp
  - encode_get_firmware_parameters_resp_comp_entry
  - decode_get_firmware_parameters_resp_comp_entry
  - encode_query_downstream_devices_req
  - decode_query_downstream_devices_resp
  - encode_query_downstream_identifiers_req
  - decode_query_downstream_identifiers_resp
  - decode_pldm_downstream_device_from_iter
  - encode_get_downstream_firmware_parameters_req
  - decode_get_downstream_firmware_parameters_resp
  - decode_pldm_downstream_device_parameters_entry_from_iter
  - encode_request_downstream_device_update_req
  - decode_request_downstream_device_update_req
  - encode_request_downstream_device_update_resp
  - decode_request_downstream_device_update_resp
  - encode_request_update_req
  - decode_request_update_req
  - decode_request_update_resp
  - encode_request_update_resp
  - encode_pass_component_table_req
  - decode_pass_component_table_req
  - decode_pass_component_table_resp
  - encode_pass_component_table_resp
  - encode_update_component_req
  - decode_update_component_req
  - decode_update_component_resp
  - encode_update_component_resp
  - decode_request_firmware_data_req
  - encode_request_firmware_data_req
  - encode_request_firmware_data_resp
  - decode_transfer_complete_req
  - encode_transfer_complete_req
  - encode_transfer_complete_resp
  - decode_verify_complete_req
  - encode_verify_complete_req
  - encode_verify_complete_resp
  - decode_apply_complete_req
  - encode_apply_complete_req
  - encode_apply_complete_resp
  - decode_activate_firmware_req
  - encode_activate_firmware_req
  - decode_activate_firmware_resp
  - encode_activate_firmware_resp
  - encode_get_status_req
  - decode_get_status_resp
  - encode_get_status_resp
  - encode_cancel_update_component_req
  - decode_cancel_update_component_resp
  - encode_cancel_update_req
  - decode_cancel_update_resp
  - encode_cancel_update_resp
  - encode_pldm_fwup_update_security_revision_req
  - decode_pldm_fwup_update_security_revision_resp
  - decode_pldm_firmware_update_package
  - pldm_package_firmware_device_id_record_iter_init
  - decode_pldm_package_firmware_device_id_record_from_iter
  - pldm_package_downstream_device_id_record_iter_init
  - decode_pldm_package_downstream_device_id_record_from_iter
  - pldm_package_component_image_information_iter_init
  - decode_pldm_package_component_image_information_from_iter
  source_file: /src/libpldm/src/dsp/firmware_update.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_FWUP_PACKAGE_HEADER_FIXED_SIZE
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libpldm/src/dsp/firmware_update.c
      type_or_value: '36'
    - item_type: preproc_def
      name: PLDM_FWUP_FIRMWARE_DEVICE_ID_RECORD_MIN_SIZE
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/libpldm/src/dsp/firmware_update.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PLDM_FWUP_DOWNSTREAM_DEVICE_ID_RECORD_MIN_SIZE
      pos:
        line_end: 3486
        line_start: 3485
        source_file: /src/libpldm/src/dsp/firmware_update.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PLDM_FWUP_COMPONENT_IMAGE_INFORMATION_MIN_SIZE
      pos:
        line_end: 3667
        line_start: 3666
        source_file: /src/libpldm/src/dsp/firmware_update.c
      type_or_value: '22'
    structs:
    - fields:
      - name: identifier
        type: pldm_uuid
      - name: magic
        type: size_t
      item_type: struct
      name: pldm_package_header_format_revision_info
      pos:
        line_end: 343
        line_start: 340
        source_file: /src/libpldm/src/dsp/firmware_update.c
    typedefs: []
    union: []
- function_names:
  - POINTER_CHECK
  - ATTR_TYPE_EXPECT
  - BUFFER_SIZE_EXPECT
  - MEMBER_SIZE
  - set_errmsg
  - get_bios_string_handle
  - pldm_bios_table_string_entry_encode_length
  - pldm_bios_table_string_entry_encode
  - pldm_bios_table_string_entry_decode_handle
  - pldm_bios_table_string_entry_decode_string_length
  - pldm_bios_table_string_entry_decode_string
  - string_table_entry_length
  - get_bios_attr_handle
  - attr_table_entry_encode_header
  - pldm_bios_table_attr_entry_decode_attribute_handle
  - pldm_bios_table_attr_entry_decode_attribute_type
  - pldm_bios_table_attr_entry_decode_string_handle
  - pldm_bios_table_attr_entry_enum_encode_length
  - pldm_bios_table_attr_entry_enum_encode
  - ATTR_TYPE_EXPECT
  - pldm_bios_table_attr_entry_enum_decode_pv_num
  - pldm_bios_table_attr_entry_enum_decode_def_num
  - pldm_bios_table_attr_entry_enum_decode_pv_hdls
  - pldm_bios_table_attr_entry_enum_decode_def_indices
  - attr_table_entry_length_enum
  - pldm_bios_table_attr_entry_string_encode_length
  - pldm_bios_table_attr_entry_string_info_check
  - pldm_bios_table_attr_entry_string_encode
  - pldm_bios_table_attr_entry_string_decode_def_string_length
  - pldm_bios_table_attr_entry_string_decode_string_type
  - pldm_bios_table_attr_entry_string_decode_max_length
  - pldm_bios_table_attr_entry_string_decode_min_length
  - pldm_bios_table_attr_entry_string_decode_def_string
  - attr_table_entry_length_string
  - pldm_bios_table_attr_entry_integer_encode_length
  - pldm_bios_table_attr_entry_integer_info_check
  - pldm_bios_table_attr_entry_integer_encode
  - pldm_bios_table_attr_entry_integer_decode
  - attr_table_entry_length_integer
  - find_table_entry_length_by_type
  - attr_table_entry_length
  - pldm_bios_table_attr_value_entry_decode_attribute_handle
  - pldm_bios_table_attr_value_entry_decode_attribute_type
  - pldm_bios_table_attr_value_entry_encode_enum_length
  - pldm_bios_table_attr_value_entry_enum_decode_number
  - pldm_bios_table_attr_value_entry_enum_decode_handles
  - pldm_bios_table_attr_value_entry_encode_enum
  - attr_value_table_entry_length_enum
  - pldm_bios_table_attr_value_entry_encode_string_length
  - pldm_bios_table_attr_value_entry_string_decode_length
  - pldm_bios_table_attr_value_entry_string_decode_string
  - pldm_bios_table_attr_value_entry_encode_string
  - attr_value_table_entry_length_string
  - pldm_bios_table_attr_value_entry_encode_integer_length
  - pldm_bios_table_attr_value_entry_encode_integer
  - pldm_bios_table_attr_value_entry_integer_decode_cv
  - attr_value_table_entry_length_integer
  - attr_value_table_entry_length
  - pldm_bios_table_attr_value_entry_length
  - pldm_bios_table_attr_value_entry_decode_handle
  - pad_size_get
  - pad_append
  - checksum_append
  - pldm_bios_table_pad_checksum_size
  - pldm_bios_table_append_pad_checksum
  - pldm_bios_table_iter_create
  - pldm_bios_table_iter_free
  - pldm_bios_table_iter_is_end
  - pldm_bios_table_iter_next
  - pldm_bios_table_iter_value
  - pldm_bios_table_entry_find_by_iter
  - pldm_bios_table_entry_find_from_table
  - string_table_handle_equal
  - pldm_bios_table_string_find_by_handle
  - string_table_string_equal
  - pldm_bios_table_string_find_by_string
  - attr_table_handle_equal
  - pldm_bios_table_attr_find_by_handle
  - attr_table_string_handle_equal
  - pldm_bios_table_attr_find_by_string_handle
  - attr_value_table_handle_equal
  - pldm_bios_table_attr_value_find_by_handle
  - pldm_bios_table_attr_value_copy_and_update
  - pldm_bios_table_checksum
  source_file: /src/libpldm/src/dsp/bios_table.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_STRING_TYPE_MAX
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/libpldm/src/dsp/bios_table.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_STRING_TYPE_VENDOR
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/libpldm/src/dsp/bios_table.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: pad_and_check_max
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/libpldm/src/dsp/bios_table.c
      type_or_value: '7'
    structs:
    - fields:
      - name: string_type
        type: uint8_t
      - name: min_length
        type: uint16_t
      - name: max_length
        type: uint16_t
      - name: def_length
        type: uint16_t
      - name: def_string[1]
        type: uint8_t
      item_type: struct
      name: attr_table_string_entry_fields
      pos:
        line_end: 327
        line_start: 321
        source_file: /src/libpldm/src/dsp/bios_table.c
    - fields:
      - name: lower_bound
        type: uint64_t
      - name: upper_bound
        type: uint64_t
      - name: scalar_increment
        type: uint32_t
      - name: default_value
        type: uint64_t
      item_type: struct
      name: attr_table_integer_entry_fields
      pos:
        line_end: 501
        line_start: 496
        source_file: /src/libpldm/src/dsp/bios_table.c
    - fields:
      - name: attr_type
        type: uint8_t
      - name: (*entry_length_handler)(const void *)
        type: ssize_t
      item_type: struct
      name: table_entry_length
      pos:
        line_end: 606
        line_start: 603
        source_file: /src/libpldm/src/dsp/bios_table.c
    - fields:
      - name: '*table_data'
        type: uint8_t
      - name: table_len
        type: size_t
      - name: current_pos
        type: size_t
      - name: (*entry_length_handler)(const void *table_entry)
        type: ssize_t
      item_type: struct
      name: pldm_bios_table_iter
      pos:
        line_end: 962
        line_start: 957
        source_file: /src/libpldm/src/dsp/bios_table.c
    - fields:
      - name: str_length
        type: uint16_t
      - name: '*str'
        type: char
      item_type: struct
      name: string_equal_arg
      pos:
        line_end: 1098
        line_start: 1095
        source_file: /src/libpldm/src/dsp/bios_table.c
    typedefs:
    - item_type: typedef
      name: (*equal_handler)(const void *entry, const void *key)
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/libpldm/src/dsp/bios_table.c
      type: bool
    union: []
- function_names:
  - pack_pldm_header_errno
  - unpack_pldm_header_errno
  - pack_pldm_header
  - unpack_pldm_header
  - pldm_msg_hdr_correlate_response
  - BCD_H
  - BCD_L
  - AS_CHAR
  - INSERT_CHAR
  - INSERT_INT
  - pldm_base_ver2str
  - encode_get_types_req
  - encode_get_commands_req
  - decode_get_commands_req
  - encode_get_commands_resp
  - decode_get_commands_resp
  - encode_get_version_req
  - encode_get_version_resp
  - decode_get_version_req
  - decode_get_version_resp
  - encode_get_tid_req
  - encode_set_tid_req
  - decode_set_tid_req
  - decode_pldm_base_multipart_receive_req
  - encode_pldm_base_multipart_receive_req
  - decode_pldm_base_multipart_receive_resp
  - encode_base_multipart_receive_resp
  - decode_pldm_base_multipart_send_resp
  - encode_pldm_base_multipart_send_resp
  - decode_pldm_base_multipart_send_req
  - encode_pldm_base_multipart_send_req
  - encode_cc_only_resp
  - encode_pldm_header_only_errno
  - encode_pldm_header_only
  - encode_pldm_base_negotiate_transfer_params_req
  - encode_pldm_base_negotiate_transfer_params_resp
  - decode_pldm_base_negotiate_transfer_params_req
  - decode_pldm_base_negotiate_transfer_params_resp
  - encode_pldm_base_get_tid_resp
  - decode_pldm_base_get_tid_resp
  - encode_pldm_base_get_pldm_types_resp
  - decode_pldm_base_get_pldm_types_resp
  source_file: /src/libpldm/src/dsp/base.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_get_fru_record_table_metadata_req
  - decode_get_fru_record_table_metadata_resp
  - encode_get_fru_record_table_metadata_resp
  - decode_get_fru_record_table_req
  - encode_get_fru_record_table_resp
  - encode_fru_record
  - is_table_end
  - get_fru_record_by_option
  - encode_get_fru_record_by_option_req
  - decode_get_fru_record_by_option_req
  - encode_get_fru_record_by_option_resp
  - decode_get_fru_record_by_option_resp
  - encode_get_fru_record_table_req
  - decode_get_fru_record_table_resp_safe
  - decode_get_fru_record_table_resp
  - decode_set_fru_record_table_req
  - encode_set_fru_record_table_resp
  source_file: /src/libpldm/src/dsp/fru.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_get_date_time_req
  - encode_get_date_time_resp
  - decode_get_date_time_resp
  - encode_set_date_time_req
  - decode_set_date_time_req
  - encode_set_date_time_resp
  - decode_set_date_time_resp
  - encode_get_bios_table_resp
  - encode_get_bios_table_req
  - decode_get_bios_table_req
  - decode_get_bios_table_resp
  - encode_get_bios_attribute_current_value_by_handle_req
  - decode_get_bios_attribute_current_value_by_handle_resp
  - decode_get_bios_attribute_current_value_by_handle_req
  - encode_get_bios_current_value_by_handle_resp
  - encode_set_bios_attribute_current_value_req
  - decode_set_bios_attribute_current_value_resp
  - decode_set_bios_attribute_current_value_req
  - encode_set_bios_attribute_current_value_resp
  - encode_set_bios_table_req
  - decode_set_bios_table_resp
  - encode_set_bios_table_resp
  - decode_set_bios_table_req
  source_file: /src/libpldm/src/dsp/bios.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BIT
  - iid_next
  - pldm_instance_db_init
  - pldm_instance_db_init_default
  - pldm_instance_db_destroy
  - pldm_instance_id_alloc
  - pldm_instance_id_free
  source_file: /src/libpldm/src/requester/instance-id.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_TID_MAX
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libpldm/src/requester/instance-id.c
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_INST_ID_MAX
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libpldm/src/requester/instance-id.c
      type_or_value: '32'
    structs:
    - fields:
      - name: prev
        type: pldm_instance_id_t
      - name: allocations
        type: uint32_t
      item_type: struct
      name: pldm_tid_state
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/libpldm/src/requester/instance-id.c
    - fields:
      - name: state[PLDM_TID_MAX]
        type: struct pldm_tid_state
      - name: lock_db_fd
        type: int
      item_type: struct
      name: pldm_instance_db
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/libpldm/src/requester/instance-id.c
    typedefs: []
    union: []
- function_names:
  - pldm::utils::toString
  - pldm::utils::toString
  - pldm::utils::toString
  - pldm::utils::toString
  source_file: /src/libpldm/bindings/cpp/utils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::DescriptorData::DescriptorData(const struct DescriptorData &ref)
  - pldm::fw_update::DescriptorData::DescriptorData(const std::vector<uint8_t> &data)
  - "pldm::fw_update::DescriptorData::DescriptorData(\n\tconst std::string &title,
    const std::vector<uint8_t> &data)"
  - pldm::fw_update::DescriptorData::~DescriptorData()
  - "pldm::fw_update::DescriptorData::operator==(\n\tconst DescriptorData &other)
    const"
  - "pldm::fw_update::DescriptorData::copyDescriptorMap(\n\tconst std::map<uint16_t,\n\t\t
    \      std::unique_ptr<pldm::fw_update::DescriptorData> >\n\t\t&recordDescriptors)"
  - "pldm::fw_update::ComponentImageInfo::ComponentImageInfo(\n\tuint16_t componentClassification,
    uint16_t componentIdentifier,\n\tuint32_t componentComparisonStamp, std::bitset<16>
    componentOptions,\n\tstd::bitset<16> requestedComponentActivationMethod,\n\tconst
    variable_field &componentLocation,\n\tconst std::string &componentVersion,\n\tconst
    std::vector<uint8_t> &componentOpaqueData)"
  - "pldm::fw_update::ComponentImageInfo::operator==(\n\tconst ComponentImageInfo
    &other) const"
  - pldm::fw_update::ComponentImageInfo::~ComponentImageInfo()
  - "pldm::fw_update::FirmwareDeviceIDRecord::FirmwareDeviceIDRecord(\n\tconst std::bitset<32>
    &deviceUpdateOptionFlags,\n\tconst std::vector<size_t> &applicableComponents,\n\tconst
    std::string &componentImageSetVersion,\n\tconst std::map<uint16_t, std::unique_ptr<DescriptorData>
    >\n\t\t&descriptorsIn,\n\tconst std::vector<uint8_t> &firmwareDevicePackageData,\n\tconst
    std::optional<ReferenceManifestData> &referenceManifestData)"
  - pldm::fw_update::FirmwareDeviceIDRecord::~FirmwareDeviceIDRecord()
  - 'std::vector<uint16_t>

    pldm::fw_update::FirmwareDeviceIDRecord::getDescriptorTypes() const'
  - "pldm::fw_update::FirmwareDeviceIDRecord::operator==(\n\tconst FirmwareDeviceIDRecord
    &other) const"
  - pldm::fw_update::DownstreamDeviceIDRecord::~DownstreamDeviceIDRecord()
  - "pldm::fw_update::DownstreamDeviceIDRecord::operator==(\n\tconst DownstreamDeviceIDRecord
    &other) const"
  - "pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst uint8_t
    SVHID, const std::span<const uint8_t> &vendorID,\n\tconst std::span<const uint8_t>
    &data)"
  - pldm::fw_update::ReferenceManifestData::~ReferenceManifestData()
  - "pldm::fw_update::ReferenceManifestData::ReferenceManifestData(\n\tconst ReferenceManifestData
    &ref)"
  - "pldm::fw_update::ReferenceManifestData::operator==(\n\tconst ReferenceManifestData
    &other) const"
  - "pldm::fw_update::Package::Package(\n\tconst std::vector<FirmwareDeviceIDRecord>
    &firmwareDeviceIdRecords,\n\tconst std::vector<DownstreamDeviceIDRecord> &downstreamDeviceIdRecords,\n\tconst
    std::vector<ComponentImageInfo> &componentImageInformation)"
  - pldm::fw_update::Package::~Package()
  - pldm::fw_update::Package::operator==(const Package &other) const
  source_file: /src/libpldm/bindings/cpp/types.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::PackageParserError::PackageParserError(std::string s)
  - pldm::fw_update::PackageParserError::PackageParserError(std::string s, int rc)
  - "pldm::fw_update::PackageParser::helperParseFDDescriptor(\n\tstruct pldm_descriptor
    *desc,\n\tstd::map<uint16_t, std::unique_ptr<pldm::fw_update::DescriptorData>
    >\n\t\t&descriptors) noexcept"
  - getApplicableComponents
  - "pldm::fw_update::PackageParser::helperParseDownstreamDeviceIDRecord(\n\tstd::vector<pldm::fw_update::DownstreamDeviceIDRecord>\n\t\t&downstreamDeviceIdRecords,\n\tstruct
    pldm_package &package,\n\tpldm_package_downstream_device_id_record &downstreamDeviceId)
    noexcept"
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - pinMap
  - pldm::fw_update::PackageParser::~PackageParser()
  - "pldm::fw_update::PackageParser::getReferenceManifestData(\n\tstruct variable_field
    &reference_manifest_data) noexcept"
  - "std::expected<std::unique_ptr<pldm::fw_update::Package>,\n\t      pldm::fw_update::PackageParserError>\npldm::fw_update::PackageParser::parse(const
    std::span<const uint8_t> &pkg,\n\t\t\t\t      PackagePin pin) noexcept"
  - foreach_pldm_package_firmware_device_id_record
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - foreach_pldm_package_downstream_device_id_record
  - foreach_pldm_package_component_image_information
  source_file: /src/libpldm/bindings/cpp/firmware_update.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/bindings/cpp/utils.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  - pldm::fw_update::PackageParser::PackageParser
  source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
  types:
    enum:
    - enumerators:
      - name: v1
      - name: v1_3_0
      - name: v1_2_0
      - name: v1_1_0
      item_type: enum
      name: PackagePin
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - enumerators:
      - name: v1
      - name: v1_3_0
      - name: v1_2_0
      - name: v1_1_0
      item_type: enum
      name: PackagePin
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - enumerators:
      - name: v1
      - name: v1_3_0
      - name: v1_2_0
      - name: v1_1_0
      item_type: enum
      name: PackagePin
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - enumerators:
      - name: v1
      - name: v1_3_0
      - name: v1_2_0
      - name: v1_1_0
      item_type: enum
      name: PackagePin
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    preproc_defs: []
    structs:
    - fields:
      - name: "copyDescriptorMap(\n\t\t\tconst std::map<\n\t\t\t\tuint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >\n\t\t\t\t&recordDescriptors)"
        type: "std::map<uint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >"
      - name: operator==(const DescriptorData &other) const
        type: bool
      - name: vendorDefinedDescriptorTitle
        type: std::optional<std::string>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: DescriptorData
      pos:
        line_end: 73
        line_start: 40
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ReferenceManifestData &other) const
        type: bool
      - name: SVHID
        type: uint8_t
      - name: vendorID
        type: std::vector<uint8_t>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: ReferenceManifestData
      pos:
        line_end: 101
        line_start: 75
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ComponentImageInfo &other) const
        type: bool
      - name: componentClassification
        type: uint16_t
      - name: componentIdentifier
        type: uint16_t
      - name: compComparisonStamp
        type: uint32_t
      - name: componentOptions
        type: std::bitset<16>
      - name: requestedComponentActivationMethod
        type: std::bitset<16>
      - name: componentLocation
        type: variable_field
      - name: componentVersion
        type: std::string
      - name: componentOpaqueData
        type: std::vector<uint8_t>
      item_type: struct
      name: ComponentImageInfo
      pos:
        line_end: 151
        line_start: 103
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const FirmwareDeviceIDRecord &other) const
        type: bool
      - name: getDescriptorTypes() const
        type: std::vector<uint16_t>
      - name: deviceUpdateOptionFlags
        type: std::bitset<32>
      - name: applicableComponents
        type: std::vector<size_t>
      - name: componentImageSetVersionString
        type: std::string
      - name: recordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: firmwareDevicePackageData
        type: std::vector<uint8_t>
      - name: referenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: FirmwareDeviceIDRecord
      pos:
        line_end: 205
        line_start: 153
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const DownstreamDeviceIDRecord &other) const
        type: bool
      - name: downstreamDeviceUpdateOptionFlags
        type: std::bitset<32>
      - name: downstreamDeviceApplicableComponents
        type: std::vector<size_t>
      - name: downstreamDeviceSelfContainedActivationMinVersionString
        type: std::optional<std::string>
      - name: downstreamDeviceSelfContainedActivationMinVersionComparisonStamp
        type: std::optional<uint32_t>
      - name: downstreamDeviceRecordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: downstreamDevicePackageData
        type: std::vector<uint8_t>
      - name: downstreamDeviceReferenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: DownstreamDeviceIDRecord
      pos:
        line_end: 259
        line_start: 207
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const Package &other) const
        type: bool
      - name: firmwareDeviceIdRecords
        type: std::vector<FirmwareDeviceIDRecord>
      - name: componentImageInformation
        type: std::vector<ComponentImageInfo>
      - name: downstreamDeviceIdRecords
        type: std::vector<DownstreamDeviceIDRecord>
      item_type: struct
      name: Package
      pos:
        line_end: 289
        line_start: 261
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: "copyDescriptorMap(\n\t\t\tconst std::map<\n\t\t\t\tuint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >\n\t\t\t\t&recordDescriptors)"
        type: "std::map<uint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >"
      - name: operator==(const DescriptorData &other) const
        type: bool
      - name: vendorDefinedDescriptorTitle
        type: std::optional<std::string>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: DescriptorData
      pos:
        line_end: 73
        line_start: 40
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ReferenceManifestData &other) const
        type: bool
      - name: SVHID
        type: uint8_t
      - name: vendorID
        type: std::vector<uint8_t>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: ReferenceManifestData
      pos:
        line_end: 101
        line_start: 75
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ComponentImageInfo &other) const
        type: bool
      - name: componentClassification
        type: uint16_t
      - name: componentIdentifier
        type: uint16_t
      - name: compComparisonStamp
        type: uint32_t
      - name: componentOptions
        type: std::bitset<16>
      - name: requestedComponentActivationMethod
        type: std::bitset<16>
      - name: componentLocation
        type: variable_field
      - name: componentVersion
        type: std::string
      - name: componentOpaqueData
        type: std::vector<uint8_t>
      item_type: struct
      name: ComponentImageInfo
      pos:
        line_end: 151
        line_start: 103
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const FirmwareDeviceIDRecord &other) const
        type: bool
      - name: getDescriptorTypes() const
        type: std::vector<uint16_t>
      - name: deviceUpdateOptionFlags
        type: std::bitset<32>
      - name: applicableComponents
        type: std::vector<size_t>
      - name: componentImageSetVersionString
        type: std::string
      - name: recordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: firmwareDevicePackageData
        type: std::vector<uint8_t>
      - name: referenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: FirmwareDeviceIDRecord
      pos:
        line_end: 205
        line_start: 153
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const DownstreamDeviceIDRecord &other) const
        type: bool
      - name: downstreamDeviceUpdateOptionFlags
        type: std::bitset<32>
      - name: downstreamDeviceApplicableComponents
        type: std::vector<size_t>
      - name: downstreamDeviceSelfContainedActivationMinVersionString
        type: std::optional<std::string>
      - name: downstreamDeviceSelfContainedActivationMinVersionComparisonStamp
        type: std::optional<uint32_t>
      - name: downstreamDeviceRecordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: downstreamDevicePackageData
        type: std::vector<uint8_t>
      - name: downstreamDeviceReferenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: DownstreamDeviceIDRecord
      pos:
        line_end: 259
        line_start: 207
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const Package &other) const
        type: bool
      - name: firmwareDeviceIdRecords
        type: std::vector<FirmwareDeviceIDRecord>
      - name: componentImageInformation
        type: std::vector<ComponentImageInfo>
      - name: downstreamDeviceIdRecords
        type: std::vector<DownstreamDeviceIDRecord>
      item_type: struct
      name: Package
      pos:
        line_end: 289
        line_start: 261
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: "copyDescriptorMap(\n\t\t\tconst std::map<\n\t\t\t\tuint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >\n\t\t\t\t&recordDescriptors)"
        type: "std::map<uint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >"
      - name: operator==(const DescriptorData &other) const
        type: bool
      - name: vendorDefinedDescriptorTitle
        type: std::optional<std::string>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: DescriptorData
      pos:
        line_end: 73
        line_start: 40
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ReferenceManifestData &other) const
        type: bool
      - name: SVHID
        type: uint8_t
      - name: vendorID
        type: std::vector<uint8_t>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: ReferenceManifestData
      pos:
        line_end: 101
        line_start: 75
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ComponentImageInfo &other) const
        type: bool
      - name: componentClassification
        type: uint16_t
      - name: componentIdentifier
        type: uint16_t
      - name: compComparisonStamp
        type: uint32_t
      - name: componentOptions
        type: std::bitset<16>
      - name: requestedComponentActivationMethod
        type: std::bitset<16>
      - name: componentLocation
        type: variable_field
      - name: componentVersion
        type: std::string
      - name: componentOpaqueData
        type: std::vector<uint8_t>
      item_type: struct
      name: ComponentImageInfo
      pos:
        line_end: 151
        line_start: 103
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const FirmwareDeviceIDRecord &other) const
        type: bool
      - name: getDescriptorTypes() const
        type: std::vector<uint16_t>
      - name: deviceUpdateOptionFlags
        type: std::bitset<32>
      - name: applicableComponents
        type: std::vector<size_t>
      - name: componentImageSetVersionString
        type: std::string
      - name: recordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: firmwareDevicePackageData
        type: std::vector<uint8_t>
      - name: referenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: FirmwareDeviceIDRecord
      pos:
        line_end: 205
        line_start: 153
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const DownstreamDeviceIDRecord &other) const
        type: bool
      - name: downstreamDeviceUpdateOptionFlags
        type: std::bitset<32>
      - name: downstreamDeviceApplicableComponents
        type: std::vector<size_t>
      - name: downstreamDeviceSelfContainedActivationMinVersionString
        type: std::optional<std::string>
      - name: downstreamDeviceSelfContainedActivationMinVersionComparisonStamp
        type: std::optional<uint32_t>
      - name: downstreamDeviceRecordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: downstreamDevicePackageData
        type: std::vector<uint8_t>
      - name: downstreamDeviceReferenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: DownstreamDeviceIDRecord
      pos:
        line_end: 259
        line_start: 207
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const Package &other) const
        type: bool
      - name: firmwareDeviceIdRecords
        type: std::vector<FirmwareDeviceIDRecord>
      - name: componentImageInformation
        type: std::vector<ComponentImageInfo>
      - name: downstreamDeviceIdRecords
        type: std::vector<DownstreamDeviceIDRecord>
      item_type: struct
      name: Package
      pos:
        line_end: 289
        line_start: 261
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: "copyDescriptorMap(\n\t\t\tconst std::map<\n\t\t\t\tuint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >\n\t\t\t\t&recordDescriptors)"
        type: "std::map<uint16_t,\n\t\t\t\tstd::unique_ptr<pldm::fw_update::DescriptorData>
          >"
      - name: operator==(const DescriptorData &other) const
        type: bool
      - name: vendorDefinedDescriptorTitle
        type: std::optional<std::string>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: DescriptorData
      pos:
        line_end: 73
        line_start: 40
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ReferenceManifestData &other) const
        type: bool
      - name: SVHID
        type: uint8_t
      - name: vendorID
        type: std::vector<uint8_t>
      - name: data
        type: std::vector<uint8_t>
      item_type: struct
      name: ReferenceManifestData
      pos:
        line_end: 101
        line_start: 75
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const ComponentImageInfo &other) const
        type: bool
      - name: componentClassification
        type: uint16_t
      - name: componentIdentifier
        type: uint16_t
      - name: compComparisonStamp
        type: uint32_t
      - name: componentOptions
        type: std::bitset<16>
      - name: requestedComponentActivationMethod
        type: std::bitset<16>
      - name: componentLocation
        type: variable_field
      - name: componentVersion
        type: std::string
      - name: componentOpaqueData
        type: std::vector<uint8_t>
      item_type: struct
      name: ComponentImageInfo
      pos:
        line_end: 151
        line_start: 103
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const FirmwareDeviceIDRecord &other) const
        type: bool
      - name: getDescriptorTypes() const
        type: std::vector<uint16_t>
      - name: deviceUpdateOptionFlags
        type: std::bitset<32>
      - name: applicableComponents
        type: std::vector<size_t>
      - name: componentImageSetVersionString
        type: std::string
      - name: recordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: firmwareDevicePackageData
        type: std::vector<uint8_t>
      - name: referenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: FirmwareDeviceIDRecord
      pos:
        line_end: 205
        line_start: 153
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const DownstreamDeviceIDRecord &other) const
        type: bool
      - name: downstreamDeviceUpdateOptionFlags
        type: std::bitset<32>
      - name: downstreamDeviceApplicableComponents
        type: std::vector<size_t>
      - name: downstreamDeviceSelfContainedActivationMinVersionString
        type: std::optional<std::string>
      - name: downstreamDeviceSelfContainedActivationMinVersionComparisonStamp
        type: std::optional<uint32_t>
      - name: downstreamDeviceRecordDescriptors
        type: std::map<uint16_t, std::unique_ptr<DescriptorData> >
      - name: downstreamDevicePackageData
        type: std::vector<uint8_t>
      - name: downstreamDeviceReferenceManifestData
        type: std::optional<ReferenceManifestData>
      item_type: struct
      name: DownstreamDeviceIDRecord
      pos:
        line_end: 259
        line_start: 207
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    - fields:
      - name: operator==(const Package &other) const
        type: bool
      - name: firmwareDeviceIdRecords
        type: std::vector<FirmwareDeviceIDRecord>
      - name: componentImageInformation
        type: std::vector<ComponentImageInfo>
      - name: downstreamDeviceIdRecords
        type: std::vector<DownstreamDeviceIDRecord>
      item_type: struct
      name: Package
      pos:
        line_end: 289
        line_start: 261
        source_file: /src/libpldm/include/libpldm++/firmware_update.hpp
    typedefs: []
    union: []
- function_names:
  - libpldm::NonCopyableNonMoveable
  - libpldm::NonCopyableNonMoveable
  - "&\n\toperator=(const NonCopyableNonMoveable &)"
  - libpldm::NonCopyableNonMoveable
  - '&operator=(NonCopyableNonMoveable &&)'
  - ~NonCopyableNonMoveable()
  - libpldm::address
  - libpldm::HasMember
  - libpldm::CompareEQ
  - libpldm::CompareNEQ
  - libpldm::Get
  - libpldm::GetPtr
  - libpldm::NonCopyableNonMoveable
  - libpldm::NonCopyableNonMoveable
  - "&\n\toperator=(const NonCopyableNonMoveable &)"
  - libpldm::NonCopyableNonMoveable
  - '&operator=(NonCopyableNonMoveable &&)'
  - ~NonCopyableNonMoveable()
  - libpldm::address
  - libpldm::HasMember
  - libpldm::CompareEQ
  - libpldm::CompareNEQ
  - libpldm::Get
  - libpldm::GetPtr
  source_file: /src/libpldm/include/libpldm++/types.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: NonCopyableNonMoveable
      pos:
        line_end: 27
        line_start: 17
        source_file: /src/libpldm/include/libpldm++/types.hpp
    - fields:
      - name: struct_size
        type: size_t
      - name: reserved_1
        type: uint64_t
      item_type: struct
      name: GrowableStruct
      pos:
        line_end: 98
        line_start: 32
        source_file: /src/libpldm/include/libpldm++/types.hpp
    - fields: []
      item_type: struct
      name: NonCopyableNonMoveable
      pos:
        line_end: 27
        line_start: 17
        source_file: /src/libpldm/include/libpldm++/types.hpp
    - fields:
      - name: struct_size
        type: size_t
      - name: reserved_1
        type: uint64_t
      item_type: struct
      name: GrowableStruct
      pos:
        line_end: 98
        line_start: 32
        source_file: /src/libpldm/include/libpldm++/types.hpp
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/fru.h
  types:
    enum:
    - enumerators:
      - name: PLDM_FRU_INVALID_DATA_TRANSFER_HANDLE
        value: '0x80'
      - name: PLDM_FRU_DATA_INVALID_DATA_INTEGRITY_CHECK
        value: '0x84'
      - name: PLDM_FRU_INVALID_TRANSFER_FLAG
        value: '0x82'
      - name: PLDM_FRU_DATA_STRUCTURE_TABLE_UNAVAILABLE
        value: '0x85'
      item_type: enum
      name: pldm_fru_completion_codes
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/libpldm/include/libpldm/fru.h
    - enumerators:
      - name: PLDM_GET_FRU_RECORD_TABLE_METADATA
        value: '0x01'
      - name: PLDM_GET_FRU_RECORD_TABLE
        value: '0x02'
      - name: PLDM_GET_FRU_RECORD_BY_OPTION
        value: '0x04'
      - name: PLDM_READ_FRU_DATA_ITEM
        value: '0x10'
      - name: PLDM_SET_FRU_RECORD_TABLE
        value: '0x03'
      - name: PLDM_WRITE_FRU_DATA_ITEM
        value: '0x11'
      - name: PLDM_FIND_FRU_FILES
        value: '0x18'
      - name: PLDM_GET_FRU_FILE_METADATA
        value: '0x19'
      item_type: enum
      name: pldm_fru_commands
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/libpldm/include/libpldm/fru.h
    - enumerators:
      - name: PLDM_FRU_RECORD_TYPE_GENERAL
        value: '0x01'
      - name: PLDM_FRU_RECORD_TYPE_OEM
        value: '0xfe'
      item_type: enum
      name: pldm_fru_record_type
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/libpldm/include/libpldm/fru.h
    - enumerators:
      - name: PLDM_FRU_ENCODING_UNSPECIFIED
        value: '0x00'
      - name: PLDM_FRU_ENCODING_UTF16LE
        value: '0x04'
      - name: PLDM_FRU_ENCODING_UTF16
        value: '0x03'
      - name: PLDM_FRU_ENCODING_ASCII
        value: '0x01'
      - name: PLDM_FRU_ENCODING_UTF8
        value: '0x02'
      - name: PLDM_FRU_ENCODING_UTF16BE
        value: '0x05'
      item_type: enum
      name: pldm_fru_field_encoding
      pos:
        line_end: 58
        line_start: 51
        source_file: /src/libpldm/include/libpldm/fru.h
    - enumerators:
      - name: PLDM_FRU_FIELD_TYPE_CHASSIS
        value: '0x01'
      - name: PLDM_FRU_FIELD_TYPE_MODEL
        value: '0x02'
      - name: PLDM_FRU_FIELD_TYPE_PN
        value: '0x03'
      - name: PLDM_FRU_FIELD_TYPE_SN
        value: '0x04'
      - name: PLDM_FRU_FIELD_TYPE_MANUFAC
        value: '0x05'
      - name: PLDM_FRU_FIELD_TYPE_MANUFAC_DATE
        value: '0x06'
      - name: PLDM_FRU_FIELD_TYPE_VENDOR
        value: '0x07'
      - name: PLDM_FRU_FIELD_TYPE_NAME
        value: '0x08'
      - name: PLDM_FRU_FIELD_TYPE_SKU
        value: '0x09'
      - name: PLDM_FRU_FIELD_TYPE_VERSION
        value: '0x0a'
      - name: PLDM_FRU_FIELD_TYPE_EC_LVL
        value: '0x0d'
      - name: PLDM_FRU_FIELD_TYPE_ASSET_TAG
        value: '0x0b'
      - name: PLDM_FRU_FIELD_TYPE_OTHER
        value: '0x0e'
      - name: PLDM_FRU_FIELD_TYPE_DESC
        value: '0x0c'
      - name: PLDM_FRU_FIELD_TYPE_IANA
        value: '0x0f'
      item_type: enum
      name: pldm_fru_field_type
      pos:
        line_end: 78
        line_start: 62
        source_file: /src/libpldm/include/libpldm/fru.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_GET_FRU_RECORD_TABLE_METADATA_REQ_BYTES
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_GET_FRU_RECORD_TABLE_METADATA_RESP_BYTES
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '19'
    - item_type: preproc_def
      name: PLDM_GET_FRU_RECORD_TABLE_REQ_BYTES
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_FRU_RECORD_TABLE_MIN_RESP_BYTES
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_GET_FRU_RECORD_BY_OPTION_MIN_RESP_BYTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_SET_FRU_RECORD_TABLE_MIN_REQ_BYTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SET_FRU_RECORD_TABLE_RESP_BYTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '5'
    - item_type: preproc_def
      name: FRU_TABLE_CHECKSUM_SIZE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libpldm/include/libpldm/fru.h
      type_or_value: '4'
    structs:
    - fields:
      - name: completion_code
        type: uint8_t
      - name: fru_data_major_version
        type: uint8_t
      - name: fru_data_minor_version
        type: uint8_t
      - name: fru_table_maximum_size
        type: uint32_t
      - name: fru_table_length
        type: uint32_t
      - name: total_record_set_identifiers
        type: uint16_t
      - name: total_table_records
        type: uint16_t
      - name: checksum
        type: uint32_t
      item_type: struct
      name: pldm_get_fru_record_table_metadata_resp
      pos:
        line_end: 94
        line_start: 84
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: data_transfer_handle
        type: uint32_t
      - name: transfer_operation_flag
        type: uint8_t
      item_type: struct
      name: pldm_get_fru_record_table_req
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: fru_record_table_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_fru_record_table_resp
      pos:
        line_end: 114
        line_start: 109
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: data_transfer_handle
        type: uint32_t
      - name: fru_table_handle
        type: uint16_t
      - name: record_set_identifier
        type: uint16_t
      - name: record_type
        type: uint8_t
      - name: field_type
        type: uint8_t
      - name: transfer_op_flag
        type: uint8_t
      item_type: struct
      name: pldm_get_fru_record_by_option_req
      pos:
        line_end: 123
        line_start: 116
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: fru_structure_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_fru_record_by_option_resp
      pos:
        line_end: 130
        line_start: 125
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: fru_record_table_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_set_fru_record_table_req
      pos:
        line_end: 136
        line_start: 132
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_data_transfer_handle
        type: uint32_t
      item_type: struct
      name: pldm_set_fru_record_table_resp
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: value[1]
        type: uint8_t
      item_type: struct
      name: pldm_fru_record_tlv
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/libpldm/include/libpldm/fru.h
    - fields:
      - name: record_set_id
        type: uint16_t
      - name: record_type
        type: uint8_t
      - name: num_fru_fields
        type: uint8_t
      - name: encoding_type
        type: uint8_t
      - name: tlvs[1]
        type: struct pldm_fru_record_tlv
      item_type: struct
      name: pldm_fru_record_data_format
      pos:
        line_end: 163
        line_start: 157
        source_file: /src/libpldm/include/libpldm/fru.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/edac.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/file.h
  types:
    enum:
    - enumerators:
      - name: PLDM_FILE_CC_INVALID_FILE_DESCRIPTOR
        value: '0x80'
      - name: PLDM_FILE_CC_INVALID_DF_ATTRIBUTE
        value: '0x81'
      - name: PLDM_FILE_CC_EXCLUSIVE_OWNERSHIP_NOT_ALLOWED
        value: '0x84'
      - name: PLDM_FILE_CC_ZEROLENGTH_NOT_ALLOWED
        value: '0x82'
      - name: PLDM_FILE_CC_EXCLUSIVE_OWNERSHIP_NOT_ESTABLISHED
        value: '0x83'
      - name: PLDM_FILE_CC_EXCLUSIVE_OWNERSHIP_NOT_AVAILABLE
        value: '0x85'
      - name: PLDM_FILE_CC_INVALID_FILE_IDENTIFIER
        value: '0x86'
      - name: PLDM_FILE_CC_DFOPEN_DIR_NOT_ALLOWED
        value: '0x87'
      - name: PLDM_FILE_CC_MAX_NUM_FDS_EXCEEDED
        value: '0x88'
      - name: PLDM_FILE_CC_FILE_OPEN
        value: '0x89'
      - name: PLDM_FILE_CC_UNABLE_TO_OPEN_FILE
        value: '0x8A'
      item_type: enum
      name: pldm_file_cc
      pos:
        line_end: 33
        line_start: 21
        source_file: /src/libpldm/include/libpldm/file.h
    - enumerators:
      - name: PLDM_FILE_CMD_DF_OPEN
        value: '0x01'
      - name: PLDM_FILE_CMD_DF_GET_FILE_ATTRIBUTE
        value: '0x11'
      - name: PLDM_FILE_CMD_DF_HEARTBEAT
        value: '0x03'
      - name: PLDM_FILE_CMD_DF_PROPERTIES
        value: '0x10'
      - name: PLDM_FILE_CMD_DF_CLOSE
        value: '0x02'
      - name: PLDM_FILE_CMD_DF_SET_FILE_ATTRIBUTE
        value: '0x12'
      - name: PLDM_FILE_CMD_DF_READ
        value: '0x20'
      - name: PLDM_FILE_CMD_DF_FIFO_SEND
        value: '0x21'
      item_type: enum
      name: pldm_file_cmd
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/libpldm/include/libpldm/file.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_DF_OPEN_REQ_BYTES
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 4ul
    - item_type: preproc_def
      name: PLDM_DF_OPEN_RESP_BYTES
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 3ul
    - item_type: preproc_def
      name: PLDM_DF_CLOSE_REQ_BYTES
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 4ul
    - item_type: preproc_def
      name: PLDM_DF_CLOSE_RESP_BYTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 1ul
    - item_type: preproc_def
      name: PLDM_DF_HEARTBEAT_REQ_BYTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 6ul
    - item_type: preproc_def
      name: PLDM_DF_HEARTBEAT_RESP_BYTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libpldm/include/libpldm/file.h
      type_or_value: 5ul
    structs:
    - fields:
      - name: file_identifier
        type: uint16_t
      - name: file_attribute
        type: bitfield16_t
      item_type: struct
      name: pldm_file_df_open_req
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/libpldm/include/libpldm/file.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: file_descriptor
        type: uint16_t
      item_type: struct
      name: pldm_file_df_open_resp
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/libpldm/include/libpldm/file.h
    - fields:
      - name: file_descriptor
        type: uint16_t
      - name: df_close_options
        type: bitfield16_t
      item_type: struct
      name: pldm_file_df_close_req
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/libpldm/include/libpldm/file.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_file_df_close_resp
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/libpldm/include/libpldm/file.h
    - fields:
      - name: file_descriptor
        type: uint16_t
      - name: requester_max_interval
        type: uint32_t
      item_type: struct
      name: pldm_file_df_heartbeat_req
      pos:
        line_end: 89
        line_start: 86
        source_file: /src/libpldm/include/libpldm/file.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: responder_max_interval
        type: uint32_t
      item_type: struct
      name: pldm_file_df_heartbeat_resp
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/libpldm/include/libpldm/file.h
    typedefs: []
    union: []
- function_names:
  - PLDM_MSG_SIZE
  - PLDM_MSG_BUFFER
  - PLDM_MSG_DEFINE_P
  source_file: /src/libpldm/include/libpldm/base.h
  types:
    enum:
    - enumerators:
      - name: PLDM_BASE
        value: '0x00'
      - name: PLDM_BIOS
        value: '0x03'
      - name: PLDM_FRU
        value: '0x04'
      - name: PLDM_SMBIOS
        value: '0x01'
      - name: PLDM_PLATFORM
        value: '0x02'
      - name: PLDM_FWUP
        value: '0x05'
      - name: PLDM_RDE
        value: '0x06'
      - name: PLDM_FILE
        value: '0x07'
      - name: PLDM_OEM
        value: '0x3f'
      item_type: enum
      name: pldm_supported_types
      pos:
        line_end: 32
        line_start: 22
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_SET_TID
        value: '0x1'
      - name: PLDM_GET_PLDM_COMMANDS
        value: '0x5'
      - name: PLDM_GET_TID
        value: '0x2'
      - name: PLDM_GET_PLDM_VERSION
        value: '0x3'
      - name: PLDM_GET_PLDM_TYPES
        value: '0x4'
      - name: PLDM_SELECT_PLDM_VERSION
        value: '0x6'
      - name: PLDM_NEGOTIATE_TRANSFER_PARAMETERS
        value: '0x7'
      - name: PLDM_MULTIPART_SEND
        value: '0x8'
      - name: PLDM_MULTIPART_RECEIVE
        value: '0x9'
      - name: PLDM_GET_MULTIPART_TRANSFER_SUPPORT
        value: '0xa'
      item_type: enum
      name: pldm_supported_commands
      pos:
        line_end: 47
        line_start: 36
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_ERROR_NOT_READY
        value: '0x04'
      - name: PLDM_ERROR_INVALID_DATA_TRANSFER_HANDLE
        value: '0x22'
      - name: PLDM_SELECT_PLDM_VERSION_INVALID_PLDM_TYPE_IN_REQUEST_DATA
        value: '0x83'
      - name: PLDM_GET_PLDM_VERSION_INVALID_TRANSFER_OPERATION_FLAG
        value: '0x81'
      - name: PLDM_GET_MULTIPART_TRANSFER_SUPPORT_INVALID_PLDM_TYPE_IN_REQUEST_DATA
        value: '0x83'
      - name: PLDM_SUCCESS
        value: '0x00'
      - name: PLDM_ERROR_UNSUPPORTED_PLDM_CMD
        value: '0x05'
      - name: PLDM_ERROR_UNEXPECTED_TRANSFER_FLAG_OPERATION
        value: '0x23'
      - name: PLDM_GET_PLDM_VERSION_INVALID_PLDM_TYPE_IN_REQUEST_DATA
        value: '0x83'
      - name: PLDM_SELECT_PLDM_VERSION_INVALID_PLDM_VERSION_IN_REQUEST_DATA
        value: '0x84'
      - name: PLDM_GET_MULTIPART_TRANSFER_SUPPORT_INVALID_PLDM_VERSION_IN_REQUEST_DATA
        value: '0x84'
      - name: PLDM_ERROR_INVALID_DATA
        value: '0x02'
      - name: PLDM_ERROR_INVALID_PLDM_TYPE
        value: '0x20'
      - name: PLDM_ERROR_INVALID_REQUESTED_SECTION_OFFSET
        value: '0x24'
      - name: PLDM_MULTIPART_SEND_NEGOTIATION_INCOMPLETE
        value: '0x83'
      - name: PLDM_GET_PLDM_COMMANDS_INVALID_PLDM_TYPE_IN_REQUEST_DATA
        value: '0x83'
      - name: PLDM_ERROR
        value: '0x01'
      - name: PLDM_ERROR_INVALID_LENGTH
        value: '0x03'
      - name: PLDM_ERROR_INVALID_TRANSFER_CONTEXT
        value: '0x21'
      - name: PLDM_GET_PLDM_VERSION_INVALID_DATA_TRANSFER_HANDLE
        value: '0x80'
      - name: PLDM_GET_PLDM_COMMANDS_INVALID_PLDM_VERSION_IN_REQUEST_DATA
        value: '0x84'
      - name: PLDM_MULTIPART_RECEIVE_NEGOTIATION_INCOMPLETE
        value: '0x83'
      item_type: enum
      name: pldm_completion_codes
      pos:
        line_end: 81
        line_start: 51
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_GET_NEXTPART
        value: '0'
      - name: PLDM_GET_FIRSTPART
        value: '1'
      - name: PLDM_ACKNOWLEDGEMENT_ONLY
        value: '2'
      item_type: enum
      name: transfer_op_flag
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_XFER_FIRST_PART
        value: '0'
      - name: PLDM_XFER_CURRENT_PART
        value: '4'
      - name: PLDM_XFER_ABORT
        value: '2'
      - name: PLDM_XFER_COMPLETE
        value: '3'
      - name: PLDM_XFER_NEXT_PART
        value: '1'
      item_type: enum
      name: transfer_multipart_op_flag
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_BASE_MULTIPART_SEND_TRANSFER_FLAG_START
        value: '0x01'
      - name: PLDM_BASE_MULTIPART_SEND_TRANSFER_FLAG_END
        value: '0x04'
      - name: PLDM_BASE_MULTIPART_SEND_TRANSFER_FLAG_START_AND_END
        value: '0x05'
      - name: PLDM_BASE_MULTIPART_SEND_TRANSFER_FLAG_MIDDLE
        value: '0x02'
      item_type: enum
      name: pldm_base_multipart_send_transfer_flag
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_BASE_MULTIPART_RECEIVE_TRANSFER_FLAG_START
        value: '0x01'
      - name: PLDM_BASE_MULTIPART_RECEIVE_TRANSFER_FLAG_MIDDLE
        value: '0x02'
      - name: PLDM_BASE_MULTIPART_RECEIVE_TRANSFER_FLAG_END
        value: '0x04'
      - name: PLDM_BASE_MULTIPART_RECEIVE_TRANSFER_FLAG_ACK_COMPLETION
        value: '0x08'
      - name: PLDM_BASE_MULTIPART_RECEIVE_TRANSFER_FLAG_START_AND_END
        value: '0x05'
      item_type: enum
      name: pldm_base_multipart_receive_transfer_flag
      pos:
        line_end: 110
        line_start: 104
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_START
        value: '0x01'
      - name: PLDM_START_AND_END
        value: '0x05'
      - name: PLDM_ACKNOWLEDGE_COMPLETION
        value: '0x08'
      - name: PLDM_MIDDLE
        value: '0x02'
      - name: PLDM_END
        value: '0x04'
      item_type: enum
      name: transfer_resp_flag
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/libpldm/include/libpldm/base.h
    - enumerators:
      - name: PLDM_TRANSPORT_PROTOCOL_TYPE_MCTP
        value: '0x00'
      - name: PLDM_TRANSPORT_PROTOCOL_TYPE_OEM
        value: '0xff'
      item_type: enum
      name: pldm_transport_protocol_type
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/libpldm/include/libpldm/base.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_INSTANCE_MAX
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '31'
    - item_type: preproc_def
      name: PLDM_MAX_TYPES
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PLDM_MAX_CMDS_PER_TYPE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_MAX_TIDS
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_TID_UNASSIGNED
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PLDM_TID_RESERVED
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: PLDM_GET_COMMANDS_REQ_BYTES
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_VERSION_REQ_BYTES
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_GET_TYPES_REQ_BYTES
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_GET_TID_REQ_BYTES
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_SET_TID_REQ_BYTES
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_SET_TID_RESP_BYTES
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_GET_COMMANDS_RESP_BYTES
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '33'
    - item_type: preproc_def
      name: PLDM_GET_VERSION_RESP_BYTES
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PLDM_MULTIPART_RECEIVE_REQ_BYTES
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '18'
    - item_type: preproc_def
      name: PLDM_BASE_MULTIPART_RECEIVE_RESP_MIN_BYTES
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PLDM_BASE_NEGOTIATE_TRANSFER_PARAMETERS_REQ_BYTES
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PLDM_BASE_NEGOTIATE_TRANSFER_PARAMETERS_RESP_BYTES
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PLDM_BASE_MIN_PART_SIZE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_VERSION_0
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_CURRENT_VERSION
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: PLDM_VERSION_0
    - item_type: preproc_def
      name: PLDM_TIMESTAMP104_SIZE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PLDM_OPTIONAL_COMMAND_RESP_MIN_LEN
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_BASE_MULTIPART_SEND_REQ_MIN_BYTES
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PLDM_BASE_MULTIPART_SEND_RESP_BYTES
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_BASE_GET_TID_RESP_BYTES
      pos:
        line_end: 924
        line_start: 923
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_BASE_GET_PLDM_TYPES_RESP_BYTES
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/libpldm/include/libpldm/base.h
      type_or_value: '9'
    structs:
    - fields:
      - name: command
        type: uint8_t
      item_type: struct
      name: pldm_msg_hdr
      pos:
        line_end: 210
        line_start: 189
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: hdr
        type: struct pldm_msg_hdr
      - name: payload[1]
        type: uint8_t
      item_type: struct
      name: pldm_msg
      pos:
        line_end: 219
        line_start: 216
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: msg_type
        type: MessageType
      - name: instance
        type: uint8_t
      - name: pldm_type
        type: uint8_t
      - name: command
        type: uint8_t
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_header_info
      pos:
        line_end: 302
        line_start: 296
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: type
        type: uint8_t
      - name: version
        type: ver32_t
      item_type: struct
      name: pldm_get_commands_req
      pos:
        line_end: 312
        line_start: 308
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: commands[32]
        type: bitfield8_t
      item_type: struct
      name: pldm_get_commands_resp
      pos:
        line_end: 322
        line_start: 318
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: transfer_opflag
        type: uint8_t
      - name: type
        type: uint8_t
      item_type: struct
      name: pldm_get_version_req
      pos:
        line_end: 332
        line_start: 328
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: version_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_version_resp
      pos:
        line_end: 345
        line_start: 339
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: tid
        type: uint8_t
      item_type: struct
      name: pldm_set_tid_req
      pos:
        line_end: 354
        line_start: 352
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: pldm_type
        type: uint8_t
      - name: transfer_flag
        type: uint8_t
      - name: transfer_ctx
        type: uint32_t
      - name: transfer_handle
        type: uint32_t
      - name: next_transfer_handle
        type: uint32_t
      - name: section_offset
        type: uint32_t
      - name: section_length
        type: uint32_t
      - name: data
        type: struct variable_field
      item_type: struct
      name: pldm_base_multipart_send_req
      pos:
        line_end: 377
        line_start: 362
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_operation
        type: uint8_t
      item_type: struct
      name: pldm_base_multipart_send_resp
      pos:
        line_end: 388
        line_start: 385
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: pldm_type
        type: uint8_t
      - name: transfer_opflag
        type: uint8_t
      - name: transfer_ctx
        type: uint32_t
      - name: transfer_handle
        type: uint32_t
      - name: section_offset
        type: uint32_t
      - name: section_length
        type: uint32_t
      item_type: struct
      name: pldm_base_multipart_receive_req
      pos:
        line_end: 406
        line_start: 394
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: transfer_flag
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      - name: data
        type: struct variable_field
      item_type: struct
      name: pldm_base_multipart_receive_resp
      pos:
        line_end: 418
        line_start: 412
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: requester_part_size
        type: uint16_t
      - name: requester_protocol_support[8]
        type: bitfield8_t
      item_type: struct
      name: pldm_base_negotiate_transfer_params_req
      pos:
        line_end: 427
        line_start: 424
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: responder_part_size
        type: uint16_t
      - name: responder_protocol_support[8]
        type: bitfield8_t
      item_type: struct
      name: pldm_base_negotiate_transfer_params_resp
      pos:
        line_end: 437
        line_start: 433
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: tid
        type: uint8_t
      item_type: struct
      name: pldm_base_get_tid_resp
      pos:
        line_end: 922
        line_start: 919
        source_file: /src/libpldm/include/libpldm/base.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: pldm_types[8]
        type: bitfield8_t
      item_type: struct
      name: pldm_base_get_pldm_types_resp
      pos:
        line_end: 965
        line_start: 962
        source_file: /src/libpldm/include/libpldm/base.h
    typedefs:
    - item_type: typedef
      name: pldm_tid_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/libpldm/include/libpldm/base.h
      type: uint8_t
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/rde.h
  types:
    enum:
    - enumerators:
      - name: PLDM_RDE_CC_ERROR_BAD_CHECKSUM
        value: '0x80'
      - name: PLDM_RDE_CC_ERROR_WRONG_LOCATION_TYPE
        value: '0x83'
      - name: PLDM_RDE_CC_ERROR_NOT_ALLOWED
        value: '0x82'
      - name: PLDM_RDE_CC_ERROR_CANNOT_CREATE_OPERATION
        value: '0x81'
      - name: PLDM_RDE_CC_ERROR_OPERATION_ABANDONED
        value: '0x84'
      - name: PLDM_RDE_CC_ERROR_OPERATION_UNKILLABLE
        value: '0x85'
      - name: PLDM_RDE_CC_ERROR_OPERATION_EXISTS
        value: '0x86'
      - name: PLDM_RDE_CC_ERROR_OPERATION_FAILED
        value: '0x87'
      - name: PLDM_RDE_CC_ERROR_UNEXPECTED
        value: '0x88'
      - name: PLDM_RDE_CC_ERROR_UNSUPPORTED
        value: '0x89'
      - name: PLDM_RDE_CC_ERROR_ETAG_MATCH
        value: '0x91'
      - name: PLDM_RDE_CC_ERROR_INSUFFICIENT_STORAGE
        value: '0x94'
      - name: PLDM_RDE_CC_ERROR_NO_SUCH_RESOURCE
        value: '0x92'
      - name: PLDM_RDE_CC_ERROR_UNRECOGNIZED_CUSTOM_HEADER
        value: '0x90'
      - name: PLDM_RDE_CC_ETAG_CALCULATION_ONGOING
        value: '0x93'
      item_type: enum
      name: pldm_rde_completion_codes
      pos:
        line_end: 23
        line_start: 7
        source_file: /src/libpldm/include/libpldm/rde.h
    - enumerators:
      - name: PLDM_RDE_CMD_GET_RESOURCE_ETAG
        value: '0x05'
      - name: PLDM_RDE_CMD_GET_REGISTRY_DETAILS
        value: '0x09'
      - name: PLDM_RDE_CMD_RDE_OPERATION_STATUS
        value: '0x14'
      - name: PLDM_RDE_CMD_RDE_OPERATION_INIT
        value: '0x10'
      - name: PLDM_RDE_CMD_RDE_MULTIPART_RECEIVE
        value: '0x31'
      - name: PLDM_RDE_CMD_NEGOTIATE_REDFISH_PARAMETERS
        value: '0x01'
      - name: PLDM_RDE_CMD_GET_SCHEMA_URI
        value: '0x04'
      - name: PLDM_RDE_CMD_GET_REGISTRY_COUNT
        value: '0x08'
      - name: PLDM_RDE_CMD_GET_SCHEMA_FILE
        value: '0x0c'
      - name: PLDM_RDE_CMD_RDE_OPERATION_COMPLETE
        value: '0x13'
      - name: PLDM_RDE_CMD_RDE_MULTIPART_SEND
        value: '0x30'
      - name: PLDM_RDE_CMD_GET_SCHEMA_DICTIONARY
        value: '0x03'
      - name: PLDM_RDE_CMD_GET_OEM_NAME
        value: '0x07'
      - name: PLDM_RDE_CMD_GET_MESSAGE_REGISTRY
        value: '0x0b'
      - name: PLDM_RDE_CMD_RDE_OPERATION_ENUMERATE
        value: '0x16'
      - name: PLDM_RDE_CMD_RETRIEVE_CUSTOM_RESPONSE_PARAMETERS
        value: '0x12'
      - name: PLDM_RDE_CMD_NEGOTIATE_MEDIUM_PARAMETERS
        value: '0x02'
      - name: PLDM_RDE_CMD_GET_OEM_COUNT
        value: '0x06'
      - name: PLDM_RDE_CMD_SELECT_REGISTRY_VERSION
        value: '0x0a'
      - name: PLDM_RDE_CMD_RDE_OPERATION_KILL
        value: '0x15'
      - name: PLDM_RDE_CMD_SUPPLY_CUSTOM_REQUEST_PARAMETERS
        value: '0x11'
      item_type: enum
      name: pldm_rde_commands
      pos:
        line_end: 48
        line_start: 26
        source_file: /src/libpldm/include/libpldm/rde.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/instance-id.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: pldm_instance_id_t
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/libpldm/include/libpldm/instance-id.h
      type: uint8_t
    union: []
- function_names:
  - pldm_downstream_device_iter_end
  - pldm_downstream_device_iter_next
  - foreach_pldm_downstream_device
  - pldm_downstream_device_descriptor_iter_init
  - pldm_descriptor_iter_end
  - pldm_descriptor_iter_next
  - foreach_pldm_downstream_device_descriptor
  - pldm_downstream_device_parameters_iter_end
  - pldm_downstream_device_parameters_iter_next
  - foreach_pldm_downstream_device_parameters_entry
  - pldm_package_firmware_device_id_record_iter_end
  - pldm_package_firmware_device_id_record_iter_next
  - foreach_pldm_package_firmware_device_id_record
  - pldm_package_firmware_device_id_record_descriptor_iter_init
  - foreach_pldm_package_firmware_device_id_record_descriptor
  - pldm_package_downstream_device_id_record_iter_end
  - pldm_package_downstream_device_id_record_iter_next
  - foreach_pldm_package_downstream_device_id_record
  - pldm_package_downstream_device_id_record_descriptor_iter_init
  - foreach_pldm_package_downstream_device_id_record_descriptor
  - pldm_package_component_image_information_iter_end
  - pldm_package_component_image_information_iter_next
  - foreach_pldm_package_component_image_information
  - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR01H
  - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR02H
  - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR03H
  - DEFINE_PLDM_PACKAGE_FORMAT_PIN_FR04H
  source_file: /src/libpldm/include/libpldm/firmware_update.h
  types:
    enum:
    - enumerators:
      - name: PLDM_QUERY_DOWNSTREAM_FIRMWARE_PARAMETERS
        value: '0x05'
      - name: PLDM_PASS_COMPONENT_TABLE
        value: '0x13'
      - name: PLDM_VERIFY_COMPLETE
        value: '0x17'
      - name: PLDM_GET_STATUS
        value: '0x1b'
      - name: PLDM_ACTIVATE_PENDING_COMPONENT_IMAGE
        value: '0x1f'
      - name: PLDM_GET_FIRMWARE_PARAMETERS
        value: '0x02'
      - name: PLDM_REQUEST_UPDATE
        value: '0x10'
      - name: PLDM_UPDATE_COMPONENT
        value: '0x14'
      - name: PLDM_APPLY_COMPLETE
        value: '0x18'
      - name: PLDM_CANCEL_UPDATE_COMPONENT
        value: '0x1c'
      - name: PLDM_REQUEST_DOWNSTREAM_DEVICE_UPDATE
        value: '0x20'
      - name: PLDM_UPDATE_SECURITY_REVISION
        value: '0x22'
      - name: PLDM_QUERY_DOWNSTREAM_DEVICES
        value: '0x03'
      - name: PLDM_GET_PACKAGE_DATA
        value: '0x11'
      - name: PLDM_CANCEL_UPDATE
        value: '0x1d'
      - name: PLDM_REQUEST_FIRMWARE_DATA
        value: '0x15'
      - name: PLDM_GET_META_DATA
        value: '0x19'
      - name: PLDM_GET_COMPONENT_OPAQUE_DATA
        value: '0x21'
      - name: PLDM_QUERY_DEVICE_IDENTIFIERS
        value: '0x01'
      - name: PLDM_QUERY_DOWNSTREAM_IDENTIFIERS
        value: '0x04'
      - name: PLDM_GET_DEVICE_META_DATA
        value: '0x12'
      - name: PLDM_TRANSFER_COMPLETE
        value: '0x16'
      - name: PLDM_ACTIVATE_FIRMWARE
        value: '0x1a'
      - name: PLDM_ACTIVATE_PENDING_COMPONENT_IMAGE_SET
        value: '0x1e'
      - name: PLDM_UPTATE_SECURITY_REVISION
        value: '0x22'
      item_type: enum
      name: pldm_firmware_update_commands
      pos:
        line_end: 137
        line_start: 111
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_NOT_IN_UPDATE_MODE
        value: '0x80'
      - name: PLDM_FWUP_INVALID_TRANSFER_LENGTH
        value: '0x83'
      - name: PLDM_FWUP_RETRY_REQUEST_FW_DATA
        value: '0x89'
      - name: PLDM_FWUP_NO_DEVICE_METADATA
        value: '0x8d'
      - name: PLDM_FWUP_INVALID_TRANSFER_OPERATION_FLAG
        value: '0x91'
      - name: PLDM_FWUP_UPDATE_SECURITY_REVISION_NOT_PERMITTED
        value: '0x95'
      - name: PLDM_FWUP_DOWNSTREAM_DEVICE_LIST_CHANGED
        value: '0x96'
      - name: PLDM_FWUP_INVALID_STATE_FOR_COMMAND
        value: '0x84'
      - name: PLDM_FWUP_BUSY_IN_BACKGROUND
        value: '0x86'
      - name: PLDM_FWUP_ACTIVATE_PENDING_IMAGE_NOT_PERMITTED
        value: '0x92'
      - name: PLDM_FWUP_UNABLE_TO_INITIATE_UPDATE
        value: '0x8a'
      - name: PLDM_FWUP_RETRY_REQUEST_UPDATE
        value: '0x8e'
      - name: PLDM_FWUP_ALREADY_IN_UPDATE_MODE
        value: '0x81'
      - name: PLDM_FWUP_INCOMPLETE_UPDATE
        value: '0x85'
      - name: PLDM_FWUP_CANCEL_PENDING
        value: '0x87'
      - name: PLDM_FWUP_ACTIVATION_NOT_REQUIRED
        value: '0x8b'
      - name: PLDM_FWUP_NO_PACKAGE_DATA
        value: '0x8f'
      - name: PLDM_FWUP_PACKAGE_DATA_ERROR
        value: '0x93'
      - name: PLDM_FWUP_DATA_OUT_OF_RANGE
        value: '0x82'
      - name: PLDM_FWUP_COMMAND_NOT_EXPECTED
        value: '0x88'
      - name: PLDM_FWUP_SELF_CONTAINED_ACTIVATION_NOT_PERMITTED
        value: '0x8c'
      - name: PLDM_FWUP_INVALID_TRANSFER_HANDLE
        value: '0x90'
      - name: PLDM_FWUP_NO_OPAQUE_DATA
        value: '0x94'
      item_type: enum
      name: pldm_firmware_update_completion_codes
      pos:
        line_end: 165
        line_start: 141
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_STR_TYPE_UNKNOWN
        value: '0'
      - name: PLDM_STR_TYPE_UTF_8
        value: '2'
      - name: PLDM_STR_TYPE_UTF_16
        value: '3'
      - name: PLDM_STR_TYPE_ASCII
        value: '1'
      - name: PLDM_STR_TYPE_UTF_16LE
        value: '4'
      - name: PLDM_STR_TYPE_UTF_16BE
        value: '5'
      item_type: enum
      name: pldm_firmware_update_string_type
      pos:
        line_end: 176
        line_start: 169
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_ACPI_VENDOR_ID
        value: '0x0004'
      - name: PLDM_FWUP_PCI_SUBSYSTEM_VENDOR_ID
        value: '0x0101'
      - name: PLDM_FWUP_ACPI_PRODUCT_IDENTIFIER
        value: '0x0105'
      - name: PLDM_FWUP_UBM_CONTROLLER_DEVICE_CODE
        value: '0x0109'
      - name: PLDM_FWUP_VENDOR_DEFINED
        value: '0xffff'
      - name: PLDM_FWUP_IANA_ENTERPRISE_ID
        value: '0x0001'
      - name: PLDM_FWUP_IEEE_ASSIGNED_COMPANY_ID
        value: '0x0005'
      - name: PLDM_FWUP_PCI_SUBSYSTEM_ID
        value: '0x0102'
      - name: PLDM_FWUP_ASCII_MODEL_NUMBER_LONG_STRING
        value: '0x0106'
      - name: PLDM_FWUP_IEEE_EUI_64_ID
        value: '0x010a'
      - name: PLDM_FWUP_UUID
        value: '0x0002'
      - name: PLDM_FWUP_SCSI_VENDOR_ID
        value: '0x0006'
      - name: PLDM_FWUP_PCI_REVISION_ID
        value: '0x0103'
      - name: PLDM_FWUP_ASCII_MODEL_NUMBER_SHORT_STRING
        value: '0x0107'
      - name: PLDM_FWUP_PCI_REVISION_ID_RANGE
        value: '0x010b'
      - name: PLDM_FWUP_PCI_VENDOR_ID
        value: '0x0000'
      - name: PLDM_FWUP_PNP_VENDOR_ID
        value: '0x0003'
      - name: PLDM_FWUP_PCI_DEVICE_ID
        value: '0x0100'
      - name: PLDM_FWUP_PNP_PRODUCT_IDENTIFIER
        value: '0x0104'
      - name: PLDM_FWUP_SCSI_PRODUCT_ID
        value: '0x0108'
      item_type: enum
      name: pldm_firmware_update_descriptor_types
      pos:
        line_end: 201
        line_start: 180
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_ACPI_VENDOR_ID_LENGTH
        value: '4'
      - name: PLDM_FWUP_PCI_SUBSYSTEM_VENDOR_ID_LENGTH
        value: '2'
      - name: PLDM_FWUP_ACPI_PRODUCT_IDENTIFIER_LENGTH
        value: '4'
      - name: PLDM_FWUP_ASCII_MODEL_NUMBER_SHORT_STRING_LENGTH
        value: '10'
      - name: PLDM_FWUP_IANA_ENTERPRISE_ID_LENGTH
        value: '4'
      - name: PLDM_FWUP_IEEE_ASSIGNED_COMPANY_ID_LENGTH
        value: '3'
      - name: PLDM_FWUP_PCI_SUBSYSTEM_ID_LENGTH
        value: '2'
      - name: PLDM_FWUP_SCSI_PRODUCT_ID_LENGTH
        value: '16'
      - name: PLDM_FWUP_PCI_REVISION_ID_RANGE_LENGTH
        value: '2'
      - name: PLDM_FWUP_UUID_LENGTH
        value: '16'
      - name: PLDM_FWUP_SCSI_VENDOR_ID_LENGTH
        value: '8'
      - name: PLDM_FWUP_UBM_CONTROLLER_DEVICE_CODE_LENGTH
        value: '4'
      - name: PLDM_FWUP_PCI_REVISION_ID_LENGTH
        value: '1'
      - name: PLDM_FWUP_PCI_VENDOR_ID_LENGTH
        value: '2'
      - name: PLDM_FWUP_PNP_VENDOR_ID_LENGTH
        value: '3'
      - name: PLDM_FWUP_PCI_DEVICE_ID_LENGTH
        value: '2'
      - name: PLDM_FWUP_PNP_PRODUCT_IDENTIFIER_LENGTH
        value: '4'
      - name: PLDM_FWUP_ASCII_MODEL_NUMBER_LONG_STRING_LENGTH
        value: '40'
      - name: PLDM_FWUP_IEEE_EUI_64_ID_LENGTH
        value: '8'
      item_type: enum
      name: pldm_firmware_update_descriptor_types_length
      pos:
        line_end: 225
        line_start: 205
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_COMP_UNKNOWN
        value: '0x0000'
      - name: PLDM_COMP_CONFIGURATION_SOFTWARE
        value: '0x0003'
      - name: PLDM_COMP_APPLICATION_SOFTWARE
        value: '0x0004'
      - name: PLDM_COMP_OTHER
        value: '0x0001'
      - name: PLDM_COMP_DRIVER
        value: '0x0002'
      - name: PLDM_COMP_INSTRUMENTATION
        value: '0x0005'
      - name: PLDM_COMP_FIRMWARE_OR_BIOS
        value: '0x0006'
      - name: PLDM_COMP_DIAGNOSTIC_SOFTWARE
        value: '0x0007'
      - name: PLDM_COMP_OPERATING_SYSTEM
        value: '0x0008'
      - name: PLDM_COMP_MIDDLEWARE
        value: '0x0009'
      - name: PLDM_COMP_FIRMWARE
        value: '0x000a'
      - name: PLDM_COMP_BIOS_OR_FCODE
        value: '0x000b'
      - name: PLDM_COMP_DOWNSTREAM_DEVICE
        value: '0xffff'
      - name: PLDM_COMP_SUPPORT_OR_SERVICEPACK
        value: '0x000c'
      - name: PLDM_COMP_SOFTWARE_BUNDLE
        value: '0x000d'
      item_type: enum
      name: pldm_component_classification_values
      pos:
        line_end: 246
        line_start: 230
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_ACTIVATION_AUTOMATIC
        value: '0'
      - name: PLDM_ACTIVATION_DC_POWER_CYCLE
        value: '4'
      - name: PLDM_ACTIVATION_MEDIUM_SPECIFIC_RESET
        value: '2'
      - name: PLDM_ACTIVATION_SYSTEM_REBOOT
        value: '3'
      - name: PLDM_ACTIVATION_SELF_CONTAINED
        value: '1'
      - name: PLDM_ACTIVATION_AC_POWER_CYCLE
        value: '5'
      - name: PLDM_SUPPORTS_ACTIVATE_PENDING_IMAGE
        value: '6'
      - name: PLDM_SUPPORTS_ACTIVATE_PENDING_IMAGE_SET
        value: '7'
      item_type: enum
      name: pldm_comp_activation_methods
      pos:
        line_end: 261
        line_start: 252
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_CR_COMP_CAN_BE_UPDATED
        value: '0'
      - name: PLDM_CR_COMP_MAY_BE_UPDATEABLE
        value: '1'
      item_type: enum
      name: pldm_component_responses
      pos:
        line_end: 268
        line_start: 265
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_CRC_COMP_CAN_BE_UPDATED
        value: '0x00'
      - name: PLDM_CRC_COMP_COMPARISON_STAMP_LOWER
        value: '0x02'
      - name: PLDM_CRC_INVALID_COMP_COMPARISON_STAMP
        value: '0x03'
      - name: PLDM_CRC_COMP_COMPARISON_STAMP_IDENTICAL
        value: '0x01'
      - name: PLDM_CRC_COMP_CONFLICT
        value: '0x04'
      - name: PLDM_CRC_COMP_PREREQUISITES_NOT_MET
        value: '0x05'
      - name: PLDM_CRC_COMP_NOT_SUPPORTED
        value: '0x06'
      - name: PLDM_CRC_COMP_SECURITY_RESTRICTIONS
        value: '0x07'
      - name: PLDM_CRC_INCOMPLETE_COMP_IMAGE_SET
        value: '0x08'
      - name: PLDM_CRC_ACTIVE_IMAGE_NOT_UPDATEABLE_SUBSEQUENTLY
        value: '0x09'
      - name: PLDM_CRC_COMP_VER_STR_IDENTICAL
        value: '0x0a'
      - name: PLDM_CRC_COMP_VER_STR_LOWER
        value: '0x0b'
      - name: PLDM_CRC_VENDOR_COMP_RESP_CODE_RANGE_MAX
        value: '0xef'
      - name: PLDM_CRC_VENDOR_COMP_RESP_CODE_RANGE_MIN
        value: '0xd0'
      item_type: enum
      name: pldm_component_response_codes
      pos:
        line_end: 287
        line_start: 272
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_CCR_COMP_CAN_BE_UPDATED
        value: '0'
      - name: PLDM_CCR_COMP_CANNOT_BE_UPDATED
        value: '1'
      item_type: enum
      name: pldm_component_compatibility_responses
      pos:
        line_end: 295
        line_start: 292
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_CCRC_NO_RESPONSE_CODE
        value: '0x00'
      - name: PLDM_CCRC_COMP_COMPARISON_STAMP_LOWER
        value: '0x02'
      - name: PLDM_CCRC_INVALID_COMP_COMPARISON_STAMP
        value: '0x03'
      - name: PLDM_CCRC_COMP_COMPARISON_STAMP_IDENTICAL
        value: '0x01'
      - name: PLDM_CCRC_COMP_CONFLICT
        value: '0x04'
      - name: PLDM_CCRC_COMP_PREREQUISITES_NOT_MET
        value: '0x05'
      - name: PLDM_CCRC_COMP_NOT_SUPPORTED
        value: '0x06'
      - name: PLDM_CCRC_COMP_SECURITY_RESTRICTIONS
        value: '0x07'
      - name: PLDM_CCRC_INCOMPLETE_COMP_IMAGE_SET
        value: '0x08'
      - name: PLDM_CCRC_COMP_INFO_NO_MATCH
        value: '0x09'
      - name: PLDM_CCRC_VENDOR_COMP_RESP_CODE_RANGE_MIN
        value: '0xd0'
      - name: PLDM_CCRC_COMP_VER_STR_LOWER
        value: '0x0b'
      - name: PLDM_CCRC_VENDOR_COMP_RESP_CODE_RANGE_MAX
        value: '0xef'
      - name: PLDM_CCRC_COMP_VER_STR_IDENTICAL
        value: '0x0a'
      item_type: enum
      name: pldm_component_compatibility_response_codes
      pos:
        line_end: 315
        line_start: 300
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_TIME_OUT
        value: '0x09'
      - name: PLDM_FWUP_GENERIC_ERROR
        value: '0x0a'
      item_type: enum
      name: pldm_firmware_update_common_error_codes
      pos:
        line_end: 323
        line_start: 320
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_TRANSFER_SUCCESS
        value: '0x00'
      - name: PLDM_FWUP_TRANSFER_ERROR_IMAGE_CORRUPT
        value: '0x02'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER
        value: '0x03'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_LOW_POWER_STATE
        value: '0x0b'
      - name: PLDM_FWUP_TRANSFER_ERROR_VERSION_MISMATCH
        value: '0x02'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_RESET_NEEDED
        value: '0x0c'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_STORAGE_ISSUE
        value: '0x0d'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_INVALID_COMPONENT_OPAQUE_DATA
        value: '0x0e'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_DOWNSTREAM_DEVICE_FAILURE
        value: '0x0f'
      - name: PLDM_FWUP_FD_ABORTED_TRANSFER_SECURITY_REVISION_ERROR
        value: '0x10'
      - name: PLDM_FWUP_VENDOR_TRANSFER_RESULT_RANGE_MIN
        value: '0x70'
      - name: PLDM_FWUP_VENDOR_TRANSFER_RESULT_RANGE_MAX
        value: '0x8f'
      item_type: enum
      name: pldm_firmware_update_transfer_result_values
      pos:
        line_end: 340
        line_start: 327
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_VERIFY_SUCCESS
        value: '0x00'
      - name: PLDM_FWUP_VERIFY_ERROR_IMAGE_INCOMPLETE
        value: '0x04'
      - name: PLDM_FWUP_VERIFY_ERROR_VERSION_MISMATCH
        value: '0x02'
      - name: PLDM_FWUP_VERIFY_FAILED_FD_SECURITY_CHECKS
        value: '0x03'
      - name: PLDM_FWUP_VERIFY_ERROR_VERIFICATION_FAILURE
        value: '0x01'
      - name: PLDM_FWUP_VERIFY_FAILURE_SECURITY_REVISION_ERROR
        value: '0x10'
      - name: PLDM_FWUP_VENDOR_VERIFY_RESULT_RANGE_MIN
        value: '0x90'
      - name: PLDM_FWUP_VENDOR_VERIFY_RESULT_RANGE_MAX
        value: '0xaf'
      item_type: enum
      name: pldm_firmware_update_verify_result_values
      pos:
        line_end: 353
        line_start: 344
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_APPLY_SUCCESS
        value: '0x00'
      - name: PLDM_FWUP_VENDOR_APPLY_RESULT_RANGE_MIN
        value: '0xb0'
      - name: PLDM_FWUP_APPLY_FAILURE_MEMORY_ISSUE
        value: '0x02'
      - name: PLDM_FWUP_APPLY_FAILURE_SECURITY_REVISION_ERROR
        value: '0x10'
      - name: PLDM_FWUP_APPLY_SUCCESS_WITH_ACTIVATION_METHOD
        value: '0x01'
      - name: PLDM_FWUP_VENDOR_APPLY_RESULT_RANGE_MAX
        value: '0xcf'
      item_type: enum
      name: pldm_firmware_update_apply_result_values
      pos:
        line_end: 364
        line_start: 357
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_NOT_ACTIVATE_SELF_CONTAINED_COMPONENTS
        value: 'false'
      - name: PLDM_ACTIVATE_SELF_CONTAINED_COMPONENTS
        value: 'true'
      item_type: enum
      name: pldm_self_contained_activation_req
      pos:
        line_end: 371
        line_start: 368
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FD_STATE_IDLE
        value: '0'
      - name: PLDM_FD_STATE_VERIFY
        value: '4'
      - name: PLDM_FD_STATE_READY_XFER
        value: '2'
      - name: PLDM_FD_STATE_DOWNLOAD
        value: '3'
      - name: PLDM_FD_STATE_LEARN_COMPONENTS
        value: '1'
      - name: PLDM_FD_STATE_APPLY
        value: '5'
      - name: PLDM_FD_STATE_ACTIVATE
        value: '6'
      item_type: enum
      name: pldm_firmware_device_states
      pos:
        line_end: 384
        line_start: 376
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FD_OPERATION_IN_PROGRESS
        value: '0'
      - name: PLDM_FD_IDLE_SELF_CONTAINED_ACTIVATION_FAILURE
        value: '4'
      - name: PLDM_FD_IDLE_LEARN_COMPONENTS_READ_XFER
        value: '3'
      - name: PLDM_FD_OPERATION_SUCCESSFUL
        value: '1'
      - name: PLDM_FD_OPERATION_FAILED
        value: '2'
      item_type: enum
      name: pldm_get_status_aux_states
      pos:
        line_end: 394
        line_start: 388
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FD_AUX_STATE_IN_PROGRESS_OR_SUCCESS
        value: '0x00'
      - name: PLDM_FD_TIMEOUT
        value: '0x09'
      - name: PLDM_FD_SELF_CONTAINED_ACTIVATION_FAILURE
        value: '0x0b'
      - name: PLDM_FD_VENDOR_DEFINED_STATUS_CODE_START
        value: '0x70'
      - name: PLDM_FD_GENERIC_ERROR
        value: '0x0a'
      - name: PLDM_FD_VENDOR_DEFINED_STATUS_CODE_END
        value: '0xef'
      item_type: enum
      name: pldm_get_status_aux_state_status_values
      pos:
        line_end: 405
        line_start: 398
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FD_INITIALIZATION
        value: '0'
      - name: PLDM_FD_CANCEL_UPDATE
        value: '2'
      - name: PLDM_FD_TIMEOUT_LEARN_COMPONENT
        value: '3'
      - name: PLDM_FD_ACTIVATE_FW
        value: '1'
      - name: PLDM_FD_TIMEOUT_READY_XFER
        value: '4'
      - name: PLDM_FD_TIMEOUT_DOWNLOAD
        value: '5'
      - name: PLDM_FD_TIMEOUT_VERIFY
        value: '6'
      - name: PLDM_FD_TIMEOUT_APPLY
        value: '7'
      - name: PLDM_FD_STATUS_VENDOR_DEFINED_MIN
        value: '200'
      - name: PLDM_FD_STATUS_VENDOR_DEFINED_MAX
        value: '255'
      item_type: enum
      name: pldm_get_status_reason_code_values
      pos:
        line_end: 420
        line_start: 409
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_COMPONENTS_FUNCTIONING
        value: '0'
      - name: PLDM_FWUP_COMPONENTS_NOT_FUNCTIONING
        value: '1'
      item_type: enum
      name: pldm_firmware_update_non_functioning_component_indication
      pos:
        line_end: 427
        line_start: 424
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_FWUP_DOWNSTREAM_DEVICE_UPDATE_NOT_SUPPORTED
        value: '0'
      - name: PLDM_FWUP_DOWNSTREAM_DEVICE_UPDATE_SUPPORTED
        value: '1'
      item_type: enum
      name: pldm_firmware_update_downstream_device_update_supported
      pos:
        line_end: 435
        line_start: 432
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - enumerators:
      - name: PLDM_PACKAGE_PARSE_INIT
        value: '0'
      - name: PLDM_PACKAGE_PARSE_HEADER
        value: '2'
      - name: PLDM_PACKAGE_PARSE_FIRMWARE_DEVICES
        value: '3'
      - name: PLDM_PACKAGE_PARSE_COMPLETE
        value: '1'
      - name: PLDM_PACKAGE_PARSE_DOWNSTREAM_DEVICES
        value: '4'
      - name: PLDM_PACKAGE_PARSE_COMPONENT_IMAGE_INFORMATION
        value: '5'
      item_type: enum
      name: pldm_package_parse
      pos:
        line_end: 2311
        line_start: 2304
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_FWUP_COMPONENT_BITMAP_MULTIPLE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_FWUP_INVALID_COMPONENT_COMPARISON_TIMESTAMP
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: PLDM_QUERY_DEVICE_IDENTIFIERS_REQ_BYTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_QUERY_DOWNSTREAM_DEVICES_RESP_BYTES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PLDM_QUERY_DOWNSTREAM_IDENTIFIERS_REQ_BYTES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_QUERY_DOWNSTREAM_IDENTIFIERS_RESP_MIN_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PLDM_FWUP_DEVICE_DESCRIPTOR_MIN_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_DOWNSTREAM_FIRMWARE_PARAMETERS_REQ_BYTES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_DOWNSTREAM_FIRMWARE_PARAMETERS_RESP_MIN_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PLDM_DOWNSTREAM_DEVICE_PARAMETERS_ENTRY_MIN_LEN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '36'
    - item_type: preproc_def
      name: PLDM_GET_FIRMWARE_PARAMETERS_REQ_BYTES
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_FWUP_BASELINE_TRANSFER_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PLDM_FWUP_MIN_OUTSTANDING_REQ
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_GET_STATUS_REQ_BYTES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_FWUP_MAX_PROGRESS_PERCENT
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0x65'
    - item_type: preproc_def
      name: PLDM_CANCEL_UPDATE_COMPONENT_REQ_BYTES
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_CANCEL_UPDATE_REQ_BYTES
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_FWUP_COMPONENT_RELEASE_DATA_LEN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_FIRMWARE_MAX_STRING
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PLDM_DOWNSTREAM_DEVICE_BYTES
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_DOWNSTREAM_DEVICE_UPDATE_REQUEST_BYTES
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_DOWNSTREAM_DEVICE_UPDATE_RESPONSE_BYTES
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_FWUP_UPDATE_SECURITY_REVISION_REQ_BYTES
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_IDENTIFIER_V1_0
      pos:
        line_end: 2213
        line_start: 2210
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: "{ 0xF0, 0x18, 0x87, 0x8C, 0xCB, 0x7D, 0x49, 0x43,                      \\\n\t
        \ 0x98, 0x00, 0xA0, 0x2F, 0x05, 0x9A, 0xCA, 0x02 }"
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR01H
      pos:
        line_end: 2216
        line_start: 2215
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_IDENTIFIER_V1_1
      pos:
        line_end: 2223
        line_start: 2218
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: "{                                                                      \\\n\t\t0x12,
        0x44, 0xd2, 0x64, 0x8d, 0x7d, 0x47, 0x18,                \\\n\t\t0xa0, 0x30,
        0xfc, 0x8a, 0x56, 0x58, 0x7d, 0x5a,                \\\n\t}"
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR02H
      pos:
        line_end: 2226
        line_start: 2225
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_IDENTIFIER_V1_2
      pos:
        line_end: 2233
        line_start: 2228
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: "{                                                                      \\\n\t\t0x31,
        0x19, 0xce, 0x2f, 0xe8, 0x0a, 0x4a, 0x99,                \\\n\t\t0xaf, 0x6d,
        0x46, 0xf8, 0xb1, 0x21, 0xf6, 0xbf,                \\\n\t}"
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR03H
      pos:
        line_end: 2236
        line_start: 2235
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_IDENTIFIER_V1_3
      pos:
        line_end: 2243
        line_start: 2238
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: "{                                                                      \\\n\t\t0x7b,
        0x29, 0x1c, 0x99, 0x6d, 0xb6, 0x42, 0x08,                \\\n\t\t0x80, 0x1b,
        0x02, 0x02, 0x6e, 0x46, 0x3c, 0x78,                \\\n\t}"
    - item_type: preproc_def
      name: PLDM_PACKAGE_HEADER_FORMAT_REVISION_FR04H
      pos:
        line_end: 2246
        line_start: 2245
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type_or_value: '0x04'
    structs:
    - fields:
      - name: str_type
        type: enum pldm_firmware_update_string_type
      - name: str_len
        type: uint8_t
      - name: str_data[PLDM_FIRMWARE_MAX_STRING]
        type: uint8_t
      item_type: struct
      name: pldm_firmware_string
      pos:
        line_end: 448
        line_start: 444
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comparison_stamp
        type: uint32_t
      - name: str
        type: struct pldm_firmware_string
      - name: date[PLDM_FWUP_COMPONENT_RELEASE_DATA_LEN]
        type: uint8_t
      item_type: struct
      name: pldm_firmware_version
      pos:
        line_end: 458
        line_start: 454
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: uuid[PLDM_FWUP_UUID_LENGTH]
        type: uint8_t
      - name: package_header_format_version
        type: uint8_t
      - name: package_header_size
        type: uint16_t
      - name: package_release_date_time[PLDM_TIMESTAMP104_SIZE]
        type: uint8_t
      - name: component_bitmap_bit_length
        type: uint16_t
      - name: package_version_string_type
        type: uint8_t
      - name: package_version_string_length
        type: uint8_t
      item_type: struct
      name: pldm_package_header_information
      pos:
        line_end: 472
        line_start: 464
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: record_length
        type: uint16_t
      - name: descriptor_count
        type: uint8_t
      - name: device_update_option_flags
        type: bitfield32_t
      - name: comp_image_set_version_string_type
        type: uint8_t
      - name: comp_image_set_version_string_length
        type: uint8_t
      - name: fw_device_pkg_data_length
        type: uint16_t
      item_type: struct
      name: pldm_firmware_device_id_record
      pos:
        line_end: 485
        line_start: 478
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: descriptor_type
        type: uint16_t
      - name: descriptor_length
        type: uint16_t
      - name: descriptor_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_descriptor_tlv
      pos:
        line_end: 495
        line_start: 491
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: vendor_defined_descriptor_title_str_type
        type: uint8_t
      - name: vendor_defined_descriptor_title_str_len
        type: uint8_t
      - name: vendor_defined_descriptor_title_str[1]
        type: uint8_t
      item_type: struct
      name: pldm_vendor_defined_descriptor_title_data
      pos:
        line_end: 505
        line_start: 501
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: comp_options
        type: bitfield16_t
      - name: requested_comp_activation_method
        type: bitfield16_t
      - name: comp_location_offset
        type: uint32_t
      - name: comp_size
        type: uint32_t
      - name: comp_version_string_type
        type: uint8_t
      - name: comp_version_string_length
        type: uint8_t
      item_type: struct
      name: pldm_component_image_information
      pos:
        line_end: 522
        line_start: 512
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: device_identifiers_len
        type: uint32_t
      - name: descriptor_count
        type: uint8_t
      item_type: struct
      name: pldm_query_device_identifiers_resp
      pos:
        line_end: 532
        line_start: 528
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: capabilities_during_update
        type: bitfield32_t
      - name: comp_count
        type: uint16_t
      - name: active_comp_image_set_ver_str_type
        type: uint8_t
      - name: active_comp_image_set_ver_str_len
        type: uint8_t
      - name: pending_comp_image_set_ver_str_type
        type: uint8_t
      - name: pending_comp_image_set_ver_str_len
        type: uint8_t
      item_type: struct
      name: pldm_get_firmware_parameters_resp
      pos:
        line_end: 546
        line_start: 538
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: capabilities_during_update
        type: bitfield32_t
      - name: comp_count
        type: uint16_t
      - name: active_comp_image_set_ver_str
        type: struct pldm_firmware_string
      - name: pending_comp_image_set_ver_str
        type: struct pldm_firmware_string
      item_type: struct
      name: pldm_get_firmware_parameters_resp_full
      pos:
        line_end: 558
        line_start: 552
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: downstream_device_update_supported
        type: uint8_t
      - name: number_of_downstream_devices
        type: uint16_t
      - name: max_number_of_downstream_devices
        type: uint16_t
      - name: capabilities
        type: bitfield32_t
      item_type: struct
      name: pldm_query_downstream_devices_resp
      pos:
        line_end: 572
        line_start: 566
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: active_comp_comparison_stamp
        type: uint32_t
      - name: active_comp_ver_str_type
        type: uint8_t
      - name: active_comp_ver_str_len
        type: uint8_t
      - name: active_comp_release_date[8]
        type: uint8_t
      - name: pending_comp_comparison_stamp
        type: uint32_t
      - name: pending_comp_ver_str_type
        type: uint8_t
      - name: pending_comp_ver_str_len
        type: uint8_t
      - name: pending_comp_release_date[8]
        type: uint8_t
      - name: comp_activation_methods
        type: bitfield16_t
      - name: capabilities_during_update
        type: bitfield32_t
      item_type: struct
      name: pldm_component_parameter_entry
      pos:
        line_end: 592
        line_start: 578
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: active_ver
        type: struct pldm_firmware_version
      - name: pending_ver
        type: struct pldm_firmware_version
      - name: comp_activation_methods
        type: bitfield16_t
      - name: capabilities_during_update
        type: bitfield32_t
      item_type: struct
      name: pldm_component_parameter_entry_full
      pos:
        line_end: 610
        line_start: 600
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: data_transfer_handle
        type: uint32_t
      - name: transfer_operation_flag
        type: uint8_t
      item_type: struct
      name: pldm_query_downstream_identifiers_req
      pos:
        line_end: 620
        line_start: 617
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: downstream_devices_length
        type: uint32_t
      - name: number_of_downstream_devices
        type: uint16_t
      item_type: struct
      name: pldm_query_downstream_identifiers_resp
      pos:
        line_end: 637
        line_start: 631
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: downstream_device_index
        type: uint16_t
      - name: downstream_descriptor_count
        type: uint8_t
      item_type: struct
      name: pldm_downstream_device
      pos:
        line_end: 647
        line_start: 644
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: field
        type: struct variable_field
      - name: devs
        type: size_t
      item_type: struct
      name: pldm_downstream_device_iter
      pos:
        line_end: 653
        line_start: 650
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: descriptor_type
        type: uint16_t
      - name: descriptor_length
        type: uint16_t
      - name: '*descriptor_data'
        type: void
      item_type: struct
      name: pldm_descriptor
      pos:
        line_end: 728
        line_start: 724
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: '*field'
        type: struct variable_field
      - name: count
        type: size_t
      item_type: struct
      name: pldm_descriptor_iter
      pos:
        line_end: 733
        line_start: 730
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: data_transfer_handle
        type: uint32_t
      - name: transfer_operation_flag
        type: uint8_t
      item_type: struct
      name: pldm_get_downstream_firmware_parameters_req
      pos:
        line_end: 826
        line_start: 823
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: fdp_capabilities_during_update
        type: bitfield32_t
      - name: downstream_device_count
        type: uint16_t
      item_type: struct
      name: pldm_get_downstream_firmware_parameters_resp
      pos:
        line_end: 844
        line_start: 838
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: downstream_device_index
        type: uint16_t
      - name: active_comp_comparison_stamp
        type: uint32_t
      - name: active_comp_ver_str_type
        type: uint8_t
      - name: active_comp_ver_str_len
        type: uint8_t
      - name: active_comp_release_date[PLDM_FWUP_COMPONENT_RELEASE_DATA_LEN + 1]
        type: char
      - name: pending_comp_comparison_stamp
        type: uint32_t
      - name: pending_comp_ver_str_type
        type: uint8_t
      - name: pending_comp_ver_str_len
        type: uint8_t
      - name: pending_comp_release_date[PLDM_FWUP_COMPONENT_RELEASE_DATA_LEN + 1]
        type: char
      - name: comp_activation_methods
        type: bitfield16_t
      - name: capabilities_during_update
        type: bitfield32_t
      - name: '*active_comp_ver_str'
        type: void
      - name: '*pending_comp_ver_str'
        type: void
      item_type: struct
      name: pldm_downstream_device_parameters_entry
      pos:
        line_end: 876
        line_start: 856
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: max_transfer_size
        type: uint32_t
      - name: num_of_comp
        type: uint16_t
      - name: max_outstanding_transfer_req
        type: uint8_t
      - name: pkg_data_len
        type: uint16_t
      - name: comp_image_set_ver_str_type
        type: uint8_t
      - name: comp_image_set_ver_str_len
        type: uint8_t
      item_type: struct
      name: pldm_request_update_req
      pos:
        line_end: 889
        line_start: 882
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: max_transfer_size
        type: uint32_t
      - name: num_of_comp
        type: uint16_t
      - name: max_outstanding_transfer_req
        type: uint8_t
      - name: pkg_data_len
        type: uint16_t
      - name: image_set_ver
        type: struct pldm_firmware_string
      item_type: struct
      name: pldm_request_update_req_full
      pos:
        line_end: 903
        line_start: 896
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: fd_meta_data_len
        type: uint16_t
      - name: fd_will_send_pkg_data
        type: uint8_t
      item_type: struct
      name: pldm_request_update_resp
      pos:
        line_end: 913
        line_start: 909
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: maximum_downstream_device_transfer_size
        type: uint32_t
      - name: maximum_outstanding_transfer_requests
        type: uint8_t
      - name: downstream_device_package_data_length
        type: uint16_t
      item_type: struct
      name: pldm_request_downstream_device_update_req
      pos:
        line_end: 923
        line_start: 919
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: downstream_device_meta_data_length
        type: uint16_t
      - name: downstream_device_will_send_get_package_data
        type: uint8_t
      - name: get_package_data_maximum_transfer_size
        type: uint16_t
      item_type: struct
      name: pldm_request_downstream_device_update_resp
      pos:
        line_end: 935
        line_start: 930
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: transfer_flag
        type: uint8_t
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: comp_ver_str_type
        type: uint8_t
      - name: comp_ver_str_len
        type: uint8_t
      item_type: struct
      name: pldm_pass_component_table_req
      pos:
        line_end: 952
        line_start: 944
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: transfer_flag
        type: uint8_t
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: version
        type: struct pldm_firmware_string
      item_type: struct
      name: pldm_pass_component_table_req_full
      pos:
        line_end: 966
        line_start: 959
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: comp_resp
        type: uint8_t
      - name: comp_resp_code
        type: uint8_t
      item_type: struct
      name: pldm_pass_component_table_resp
      pos:
        line_end: 976
        line_start: 972
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: comp_image_size
        type: uint32_t
      - name: update_option_flags
        type: bitfield32_t
      - name: comp_ver_str_type
        type: uint8_t
      - name: comp_ver_str_len
        type: uint8_t
      item_type: struct
      name: pldm_update_component_req
      pos:
        line_end: 993
        line_start: 984
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: version
        type: struct pldm_firmware_string
      - name: comp_image_size
        type: uint32_t
      - name: update_option_flags
        type: bitfield32_t
      item_type: struct
      name: pldm_update_component_req_full
      pos:
        line_end: 1010
        line_start: 1000
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: comp_compatibility_resp
        type: uint8_t
      - name: comp_compatibility_resp_code
        type: uint8_t
      - name: update_option_flags_enabled
        type: bitfield32_t
      - name: time_before_req_fw_data
        type: uint16_t
      item_type: struct
      name: pldm_update_component_resp
      pos:
        line_end: 1022
        line_start: 1016
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_request_firmware_data_req
      pos:
        line_end: 1031
        line_start: 1028
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: apply_result
        type: uint8_t
      - name: comp_activation_methods_modification
        type: bitfield16_t
      item_type: struct
      name: pldm_apply_complete_req
      pos:
        line_end: 1040
        line_start: 1037
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: self_contained_activation_req
        type: bool8_t
      item_type: struct
      name: pldm_activate_firmware_req
      pos:
        line_end: 1048
        line_start: 1046
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: estimated_time_activation
        type: uint16_t
      item_type: struct
      name: pldm_activate_firmware_resp
      pos:
        line_end: 1057
        line_start: 1054
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: current_state
        type: uint8_t
      - name: previous_state
        type: uint8_t
      - name: aux_state
        type: uint8_t
      - name: aux_state_status
        type: uint8_t
      - name: progress_percent
        type: uint8_t
      - name: reason_code
        type: uint8_t
      - name: update_option_flags_enabled
        type: bitfield32_t
      item_type: struct
      name: pldm_get_status_resp
      pos:
        line_end: 1072
        line_start: 1063
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: non_functioning_component_indication
        type: bool8_t
      - name: non_functioning_component_bitmap
        type: uint64_t
      item_type: struct
      name: pldm_cancel_update_resp
      pos:
        line_end: 1082
        line_start: 1078
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: component_classification
        type: uint16_t
      - name: component_identifier
        type: uint16_t
      - name: component_classification_index
        type: uint8_t
      item_type: struct
      name: pldm_fwup_update_security_revision_req
      pos:
        line_end: 1092
        line_start: 1088
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_downstream_device_parameters_iter
      pos:
        line_end: 1406
        line_start: 1403
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: meta
        type: "struct {\n\t\t/**\n\t\t * A value that communicates information about
          object sizes to the implementation.\n\t\t *\n\t\t * For magic version 0,
          the sum must be calculated using LIBPLDM_SIZEAT for\n\t\t * the final relevant
          member of each relevant struct for the format revision\n\t\t * represented
          by the pin.\n\t\t */\n\t\tconst uint32_t magic;\n\n\t\t/**\n\t\t * Versioning
          for the derivation of the magic value\n\t\t *\n\t\t * A version value of
          0 defines the magic number to be the sum of the relevant\n\t\t * struct
          sizes for the members required at the format revision specified by\n\t\t
          * the pin.\n\t\t */\n\t\tconst uint8_t version;\n\t}"
      - name: format
        type: "struct {\n\t\t/** The maximum supported package format UUID */\n\t\tconst
          pldm_uuid identifier;\n\n\t\t/** The maximum supported header format revision
          */\n\t\tconst uint8_t revision;\n\t}"
      item_type: struct
      name: pldm_package_format_pin
      pos:
        line_end: 2302
        line_start: 2275
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_package_iter
      pos:
        line_end: 2316
        line_start: 2313
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: package_header_identifier
        type: pldm_uuid
      - name: package_header_format_revision
        type: uint8_t
      - name: package_release_date_time[PLDM_TIMESTAMP104_SIZE]
        type: uint8_t
      - name: component_bitmap_bit_length
        type: uint16_t
      - name: package_version_string_type
        type: uint8_t
      - name: package_version_string
        type: struct variable_field
      item_type: struct
      name: pldm__package_header_information
      pos:
        line_end: 2335
        line_start: 2326
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: bitmap
        type: struct variable_field
      item_type: struct
      name: pldm_package_component_bitmap
      pos:
        line_end: 2344
        line_start: 2342
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: descriptor_count
        type: uint8_t
      - name: device_update_option_flags
        type: bitfield32_t
      - name: component_image_set_version_string_type
        type: uint8_t
      - name: component_image_set_version_string
        type: struct variable_field
      - name: applicable_components
        type: struct pldm_package_component_bitmap
      - name: record_descriptors
        type: struct variable_field
      - name: firmware_device_package_data
        type: struct variable_field
      - name: reference_manifest_data
        type: struct variable_field
      item_type: struct
      name: pldm_package_firmware_device_id_record
      pos:
        line_end: 2395
        line_start: 2354
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: descriptor_count
        type: uint8_t
      - name: update_option_flags
        type: bitfield32_t
      - name: self_contained_activation_min_version_string_type
        type: uint8_t
      - name: self_contained_activation_min_version_string
        type: struct variable_field
      - name: self_contained_activation_min_version_comparison_stamp
        type: uint32_t
      - name: applicable_components
        type: struct pldm_package_component_bitmap
      - name: record_descriptors
        type: struct variable_field
      - name: package_data
        type: struct variable_field
      - name: reference_manifest_data
        type: struct variable_field
      item_type: struct
      name: pldm_package_downstream_device_id_record
      pos:
        line_end: 2445
        line_start: 2405
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: component_classification
        type: uint16_t
      - name: component_identifier
        type: uint16_t
      - name: component_comparison_stamp
        type: uint32_t
      - name: component_options
        type: bitfield16_t
      - name: requested_component_activation_method
        type: bitfield16_t
      - name: component_image
        type: struct variable_field
      - name: component_version_string_type
        type: uint8_t
      - name: component_version_string
        type: struct variable_field
      - name: component_opaque_data
        type: struct variable_field
      item_type: struct
      name: pldm_package_component_image_information
      pos:
        line_end: 2480
        line_start: 2455
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    - fields:
      - name: '*pin'
        type: struct pldm_package_format_pin
      - name: '*hdr'
        type: pldm_package_header_information_pad
      - name: state
        type: enum pldm_package_parse
      - name: flags
        type: uint32_t
      - name: package
        type: struct variable_field
      - name: areas
        type: struct variable_field
      - name: iter
        type: struct pldm_package_iter
      item_type: struct
      name: pldm_package
      pos:
        line_end: 2504
        line_start: 2496
        source_file: /src/libpldm/include/libpldm/firmware_update.h
    typedefs:
    - item_type: typedef
      name: pldm_package_header_information_pad
      pos:
        line_end: 2339
        line_start: 2338
        source_file: /src/libpldm/include/libpldm/firmware_update.h
      type: pldm__package_header_information
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/state_set.h
  types:
    enum:
    - enumerators:
      - name: PLDM_STATE_SET_AVAILABILITY
        value: '2'
      - name: PLDM_STATE_SET_VERSION
        value: '18'
      - name: PLDM_STATE_SET_COMM_LEASH_STATUS
        value: '101'
      - name: PLDM_STATE_SET_BUS_ERROR_STATUS
        value: '243'
      - name: PLDM_STATE_SET_INTERRUPT_REQUESTED
        value: '228'
      - name: PLDM_STATE_SET_PROC_POWER_STATE
        value: '288'
      - name: PLDM_STATE_SET_SCRUB_STATUS
        value: '332'
      - name: PLDM_STATE_SET_EMBEDDED_PROCESSOR_OS_STATES
        value: '199'
      - name: PLDM_STATE_SET_OPERATIONAL_STRESS_STATUS
        value: '9'
      - name: PLDM_STATE_SET_FATAL_NMI_RECEIVED
        value: '235'
      - name: PLDM_STATE_SET_PROC_ERROR_STATUS
        value: '290'
      - name: PLDM_STATE_SET_SLOT_STATE
        value: '353'
      - name: PLDM_STATE_SET_TEMPERATURE_GLITCH_DETECTION_CONFIGURABLE_SENSOR
        value: '113'
      - name: PLDM_STATE_SET_PCI_SERR_REQUESTED
        value: '241'
      - name: PLDM_STATE_SET_LOG_FILTER_STATUS
        value: '226'
      - name: PLDM_STATE_SET_CHANGED_CONFIGURATION
        value: '16'
      - name: PLDM_STATE_SET_HW_SECURITY
        value: '99'
      - name: PLDM_STATE_SET_BATTERY_ACTIVITY
        value: '261'
      - name: PLDM_STATE_SET_CORRECTED_MACHINE_CHECK
        value: '297'
      - name: PLDM_STATE_SET_STORAGE_MEDIA_ACTIVITY
        value: '160'
      - name: PLDM_STATE_SET_REDUNDANCY_ENTITY_ROLE
        value: '7'
      - name: PLDM_STATE_SET_HEARTBEAT
        value: '32'
      - name: PLDM_STATE_SET_DEVICE_FILE
        value: '68'
      - name: PLDM_STATE_SET_SUPPLY_VOLTAGE_GLITCH_DETECTION_SENSOR
        value: '106'
      - name: PLDM_STATE_SET_SYS_FIRMWARE_HANG
        value: '197'
      - name: PLDM_STATE_SET_IO_CHANNEL_CHECK_NMI_RECEIVED
        value: '233'
      - name: PLDM_STATE_SET_MEMORY_ERROR_STATUS
        value: '321'
      - name: PLDM_STATE_SET_GROUP_RESOURCE_LEVEL
        value: '6'
      - name: PLDM_STATE_SET_LEAK_DETECTION
        value: '22'
      - name: PLDM_STATE_SET_SWITCH_STATE
        value: '67'
      - name: PLDM_STATE_SET_SESSION_AUDIT
        value: '105'
      - name: PLDM_STATE_SET_BOOT_PROGRESS
        value: '196'
      - name: PLDM_STATE_SET_IO_CHANNEL_CHECK_NMI_REQUESTED
        value: '232'
      - name: PLDM_STATE_SET_POWER_SUPPLY_STATE
        value: '256'
      - name: PLDM_STATE_SET_SMI_RECEIVED
        value: '238'
      - name: PLDM_STATE_SET_PRESENCE
        value: '13'
      - name: PLDM_STATE_SET_LINK_STATE
        value: '33'
      - name: PLDM_STATE_SET_SUPPLY_VOLTAGE_GLITCH_DETECTION_CONFIGURABLE_SENSOR
        value: '110'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE
        value: '192'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE
        value: '258'
      - name: PLDM_STATE_SET_PROC_STARTUP_FAILURE
        value: '294'
      - name: PLDM_STATE_SET_DIAGNOSTIC_INTERRUPT_REQUESTED
        value: '230'
      - name: PLDM_STATE_SET_REDUNDANCY_STATUS
        value: '4'
      - name: PLDM_STATE_SET_DEVICE_INITIALIZATION
        value: '20'
      - name: PLDM_STATE_SET_HUMIDITY_STATE
        value: '65'
      - name: PLDM_STATE_SET_PASSWORD_PROTECTED_ACCESS_SECURITY
        value: '103'
      - name: PLDM_STATE_SET_ENTITY_BOOT_STATUS
        value: '194'
      - name: PLDM_STATE_SET_CRASH_LOG_CONTROL_OWNERSHIP
        value: '245'
      - name: PLDM_STATE_SET_SIGNAL_GLITCH_DETECTION_SENSOR
        value: '108'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS
        value: '11'
      - name: PLDM_STATE_SET_SOFTWARE_NMI_RECEIVED
        value: '237'
      - name: PLDM_STATE_SET_IBIST_FAILURE_STATUS
        value: '292'
      - name: PLDM_STATE_SET_ERROR_DETECTION_STATUS
        value: '330'
      - name: PLDM_STATE_SET_OPERATIONAL_FAULT_STATUS
        value: '10'
      - name: PLDM_STATE_SET_SOFTWARE_NMI_REQUESTED
        value: '236'
      - name: PLDM_STATE_SET_LOG_FILL_STATUS
        value: '225'
      - name: PLDM_STATE_SET_BIST_FAILURE_STATUS
        value: '291'
      - name: PLDM_STATE_SET_LOG_TIMESTAMP_CHANGE
        value: '227'
      - name: PLDM_STATE_SET_IDENTIFY_STATE
        value: '17'
      - name: PLDM_STATE_SET_PHYSICAL_COMM_CONNECTION
        value: '100'
      - name: PLDM_STATE_SET_PCI_SERR_RECEIVED
        value: '242'
      - name: PLDM_STATE_SET_SW_TERMINATION_STATUS
        value: '129'
      - name: PLDM_STATE_SET_BATTERY_STATE
        value: '262'
      - name: PLDM_STATE_SET_CACHE_STATUS
        value: '320'
      - name: PLDM_STATE_SET_STUCK_BIT_STATUS
        value: '331'
      - name: PLDM_STATE_SET_OPERATIONAL_STATUS
        value: '8'
      - name: PLDM_STATE_SET_LOCK_STATE
        value: '96'
      - name: PLDM_STATE_SET_CLOCK_GLITCH_DETECTION_SENSOR
        value: '107'
      - name: PLDM_STATE_SET_POST_ERRORS
        value: '198'
      - name: PLDM_STATE_SET_FATAL_NMI_REQUESTED
        value: '234'
      - name: PLDM_STATE_SET_POWER_PERFORMANCE_STATE
        value: '289'
      - name: PLDM_STATE_SET_REDUNDANT_MEMORY_ACTIVITY_STATUS
        value: '322'
      - name: PLDM_STATE_SET_SIGNAL_GLITCH_DETECTION_CONFIGURABLE_SENSOR
        value: '112'
      - name: PLDM_STATE_SET_PCI_PERR_RECEIVED
        value: '240'
      - name: PLDM_STATE_SET_CONFIGURATION_STATE
        value: '15'
      - name: PLDM_STATE_SET_DOCK_AUTHORIZATION
        value: '98'
      - name: PLDM_STATE_SET_SYSTEM_POWER_STATE
        value: '260'
      - name: PLDM_STATE_SET_MACHINE_CHECK_ERROR
        value: '296'
      - name: PLDM_STATE_SET_PERFORMANCE
        value: '14'
      - name: PLDM_STATE_SET_SMOKE_STATE
        value: '64'
      - name: PLDM_STATE_SET_PHYSICAL_SECURITY
        value: '97'
      - name: PLDM_STATE_SET_CLOCK_GLITCH_DETECTION_CONFIGURABLE_SENSOR
        value: '111'
      - name: PLDM_STATE_SET_PCI_PERR_REQUESTED
        value: '239'
      - name: PLDM_STATE_SET_BACKUP_POWER_SOURCE
        value: '259'
      - name: PLDM_STATE_SET_UNCORRECTABLE_CPU_ERROR
        value: '295'
      - name: PLDM_STATE_SET_HEALTH_REDUNDANCY_TREND
        value: '5'
      - name: PLDM_STATE_SET_THERMAL_TRIP
        value: '21'
      - name: PLDM_STATE_SET_DOOR_STATE
        value: '66'
      - name: PLDM_STATE_SET_SECURITY_ACCESS_PRIVILEGE_LEVEL
        value: '104'
      - name: PLDM_STATE_SET_BOOT_ERROR_STATUS
        value: '195'
      - name: PLDM_STATE_SET_DIAGNOSTIC_INTERRUPT_RECEIVED
        value: '231'
      - name: PLDM_STATE_SET_CRASH_LOG_CONSUMED
        value: '246'
      - name: PLDM_STATE_SET_TEMPERATURE_GLITCH_DETECTION_SENSOR
        value: '109'
      - name: PLDM_STATE_SET_HEALTH_STATE
        value: '1'
      - name: PLDM_STATE_SET_OPERATIONAL_CONNECTION_STATUS
        value: '12'
      - name: PLDM_STATE_SET_SMI_REQUESTED
        value: '238'
      - name: PLDM_STATE_SET_DEVICE_POWER_STATE
        value: '257'
      - name: PLDM_STATE_SET_PROC_HANG_IN_POST
        value: '293'
      - name: PLDM_STATE_SET_BOOT_RESTART_REQUEST
        value: '193'
      - name: PLDM_STATE_SET_INTERRUPT_RECEIVED
        value: '229'
      - name: PLDM_STATE_SET_PREDICTIVE_CONDITION
        value: '3'
      - name: PLDM_STATE_SET_ALARM_STATE
        value: '19'
      - name: PLDM_STATE_SET_FOREIGN_NW_DETECTION_STATUS
        value: '102'
      - name: PLDM_STATE_SET_WATCHDOG_STATUS
        value: '244'
      - name: PLDM_STATE_SET_SLOT_OCCUPANCY
        value: '352'
      item_type: enum
      name: pldm_state_set_ids
      pos:
        line_end: 144
        line_start: 11
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_HEALTH_STATE_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_HEALTH_STATE_CRITICAL
        value: '3'
      - name: PLDM_STATE_SET_HEALTH_STATE_NON_CRITICAL
        value: '2'
      - name: PLDM_STATE_SET_HEALTH_STATE_FATAL
        value: '4'
      - name: PLDM_STATE_SET_HEALTH_STATE_UPPER_NON_CRITICAL
        value: '5'
      - name: PLDM_STATE_SET_HEALTH_STATE_LOWER_NON_CRITICAL
        value: '6'
      - name: PLDM_STATE_SET_HEALTH_STATE_UPPER_CRITICAL
        value: '7'
      - name: PLDM_STATE_SET_HEALTH_STATE_LOWER_CRITICAL
        value: '8'
      - name: PLDM_STATE_SET_HEALTH_STATE_UPPER_FATAL
        value: '9'
      - name: PLDM_STATE_SET_HEALTH_STATE_LOWER_FATAL
        value: '10'
      item_type: enum
      name: pldm_state_set_health_state_values
      pos:
        line_end: 159
        line_start: 148
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_AVAILABILITY_ENABLED
        value: '1'
      - name: PLDM_STATE_SET_AVAILABILITY_SHUTDOWN
        value: '3'
      - name: PLDM_STATE_SET_AVAILABILITY_DISABLED
        value: '2'
      - name: PLDM_STATE_SET_AVAILABILITY_IN_TEST
        value: '5'
      - name: PLDM_STATE_SET_AVAILABILITY_OFFLINE
        value: '4'
      - name: PLDM_STATE_SET_AVAILABILITY_DEFERRED
        value: '6'
      - name: PLDM_STATE_SET_AVAILABILITY_QUIESCENT
        value: '7'
      - name: PLDM_STATE_SET_AVAILABILITY_REBOOTING
        value: '8'
      - name: PLDM_STATE_SET_AVAILABILITY_RESETTING
        value: '9'
      - name: PLDM_STATE_SET_AVAILABILITY_FAILED
        value: '10'
      - name: PLDM_STATE_SET_AVAILABILITY_POWER_SAVE_MODE
        value: '12'
      - name: PLDM_STATE_SET_AVAILABILITY_NOT_RESPONDING
        value: '16'
      - name: PLDM_STATE_SET_AVAILABILITY_PAUSED
        value: '13'
      - name: PLDM_STATE_SET_AVAILABILITY_SHUTTING_DOWN
        value: '14'
      - name: PLDM_STATE_SET_AVAILABILITY_NOT_INSTALLED
        value: '11'
      - name: PLDM_STATE_SET_AVAILABILITY_STARTING
        value: '15'
      item_type: enum
      name: pldm_state_set_availability_values
      pos:
        line_end: 180
        line_start: 163
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_PREDICTIVE_CONDITION_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_PREDICTIVE_CONDITION_PREDICTIVE_FAILURE
        value: '2'
      item_type: enum
      name: pldm_state_set_predictive_condition_values
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_OPERATIONAL_STRESS_STATUS_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_OPERATIONAL_STRESS_STATUS_STRESSED
        value: '2'
      item_type: enum
      name: pldm_state_set_operational_stress_status_values
      pos:
        line_end: 194
        line_start: 191
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_OPERATIONAL_FAULT_STATUS_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_OPERATIONAL_FAULT_STATUS_NON_RECOVERABLE_ERROR
        value: '3'
      - name: PLDM_STATE_SET_OPERATIONAL_FAULT_STATUS_ERROR
        value: '2'
      item_type: enum
      name: pldm_state_set_operational_fault_status_values
      pos:
        line_end: 201
        line_start: 197
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_STARTING
        value: '1'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_IN_SERVICE
        value: '4'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_STOPPED
        value: '3'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_STOPPING
        value: '2'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_ABORTED
        value: '5'
      - name: PLDM_STATE_SET_OPERATIONAL_RUNNING_STATUS_DORMANT
        value: '6'
      item_type: enum
      name: pldm_state_set_operational_running_status_values
      pos:
        line_end: 212
        line_start: 205
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_PRESENCE_PRESENT
        value: '1'
      - name: PLDM_STATE_SET_PRESENCE_NOT_PRESENT
        value: '2'
      item_type: enum
      name: pldm_state_set_presence_values
      pos:
        line_end: 219
        line_start: 216
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_CONFIGURATION_STATE_VALID_CONFIGURATION
        value: '1'
      - name: PLDM_STATE_SET_CONFIGURATION_STATE_MISSING_CONFIGURATION
        value: '4'
      - name: PLDM_STATE_SET_CONFIGURATION_STATE_NOT_CONFIGURED
        value: '3'
      - name: PLDM_STATE_SET_CONFIGURATION_STATE_INVALID_CONFIGURATION
        value: '2'
      item_type: enum
      name: pldm_state_set_configuration_state_values
      pos:
        line_end: 228
        line_start: 223
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_CHANGED_CONFIGURATION_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_CHANGED_CONFIGURATION_CONFIGURATION_CHANGE_DETECTED
        value: '2'
      item_type: enum
      name: pldm_state_set_changed_configuration_values
      pos:
        line_end: 235
        line_start: 232
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_IDENTIFY_STATE_UNASSERTED
        value: '1'
      - name: PLDM_STATE_SET_IDENTIFY_STATE_ASSERTED
        value: '2'
      item_type: enum
      name: pldm_state_set_identify_state_values
      pos:
        line_end: 242
        line_start: 239
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_VERSION_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_VERSION_VERSION_CHANGE_DETECTED_COMPATIBLE
        value: '2'
      - name: PLDM_STATE_SET_VERSION_VERSION_CHANGE_DETECTED_INCOMPATIBLE
        value: '3'
      - name: PLDM_STATE_SET_VERSION_VERSION_CHANGE_PENDING
        value: '4'
      item_type: enum
      name: pldm_state_set_version_values
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_THERMAL_TRIP_STATUS_NORMAL
        value: '1'
      - name: PLDM_STATE_SET_THERMAL_TRIP_STATUS_THERMAL_TRIP
        value: '2'
      item_type: enum
      name: pldm_state_set_thermal_trip_values
      pos:
        line_end: 258
        line_start: 255
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_LINK_STATE_CONNECTED
        value: '1'
      - name: PLDM_STATE_SET_LINK_STATE_DISCONNECTED
        value: '2'
      item_type: enum
      name: pldm_state_set_link_state_values
      pos:
        line_end: 265
        line_start: 262
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_COMMUNICATION_LEASH_STATUS_LEASH_CONNECTED
        value: '1'
      - name: PLDM_STATE_SET_COMMUNICATION_LEASH_STATUS_LEASH_DISCONNECTED
        value: '2'
      item_type: enum
      name: pldm_state_set_communication_leash_status_values
      pos:
        line_end: 272
        line_start: 269
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_SW_TERM_NORMAL
        value: '1'
      - name: PLDM_SW_TERM_GRACEFUL_SHUTDOWN_REQUESTED
        value: '5'
      - name: PLDM_SW_TERM_RUN_TIME_CRITICAL_STOP
        value: '4'
      - name: PLDM_SW_TERM_CRITICAL_STOP_DURING_LOAD_INITIALIZATION
        value: '3'
      - name: PLDM_SW_TERM_SOFTWARE_TERMINATION_DETECTED
        value: '2'
      - name: PLDM_SW_TERM_GRACEFUL_RESTART_REQUESTED
        value: '6'
      - name: PLDM_SW_TERM_GRACEFUL_SHUTDOWN
        value: '7'
      - name: PLDM_SW_TERM_TERMINATION_REQUEST_FAILED
        value: '8'
      item_type: enum
      name: pldm_software_termination_status_values
      pos:
        line_end: 285
        line_start: 276
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_POWERED_UP
        value: '1'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_HARD_RESET
        value: '2'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_WARM_RESET
        value: '3'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_MANUAL_WARM_RESET
        value: '5'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_MANUAL_HARD_RESET
        value: '4'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_SYSTEM_RESTART
        value: '6'
      - name: PLDM_STATE_SET_BOOT_RESTART_CAUSE_WATCHDOG_TIMEOUT
        value: '7'
      item_type: enum
      name: pldm_state_set_boot_restart_cause_values
      pos:
        line_end: 297
        line_start: 289
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_MEM_INITIALIZATION
        value: '3'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_USER_INITIATED_SYSTEM_SETUP
        value: '7'
      - name: LIBPLDM_API_DEPRECATED
        value: '9'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_OPTION_ROM_INITIALIZATION
        value: '10'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_ENABLING_DOCKING_STATION
        value: '17'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_CACHE_INITIALIZATION
        value: '12'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_KEYBOARD_CONTROLLER_INITIALIZATION
        value: '14'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_DISABLING_DOCKING_STATION
        value: '19'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_STARTING_OP_SYS
        value: '21'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_FLOPPY_INITIALIZATION
        value: '23'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_COMPLETED
        value: '2'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_USER_AUTHENTICATION
        value: '6'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_KEYBOARD_TEST
        value: '24'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_SEC_PROC_INITIALIZATION
        value: '5'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_PCI_RESORUCE_CONFIG
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_VIDEO_INITIALIZATION
        value: '11'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_SM_BUS_INITIALIZATION
        value: '13'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_EC_MC_INITIALIZATION
        value: '15'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_DOCKING_STATION_ATTACHEMENT
        value: '16'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_PCI_RESOURCE_CONFIG
        value: '9'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_DOCKING_STATION_EJECTION
        value: '18'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_OSSTART
        value: '20'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_BASE_BOARD_INITIALIZATION
        value: '22'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_POINTING_DEVICE_TEST
        value: '25'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_NOT_ACTIVE
        value: '1'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_HARD_DISK_INITIALIZATION
        value: '4'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_USB_RESOURCE_CONFIG
        value: '8'
      - name: PLDM_STATE_SET_BOOT_PROG_STATE_PRIMARY_PROC_INITIALIZATION
        value: '26'
      item_type: enum
      name: pldm_state_set_boot_progress_state_values
      pos:
        line_end: 330
        line_start: 301
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_SYS_POWER_STATE_ON
        value: '1'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_SLEEP_LIGHT
        value: '3'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_HIBERNATE
        value: '2'
      - name: PLDM_STATE_SET_SYS_POWER_CYCLE_SOFT
        value: '5'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_SLEEP_DEEP
        value: '4'
      - name: PLDM_STATE_SET_SYS_POWER_CYCLE_HARD
        value: '6'
      - name: PLDM_STATE_SET_SYS_POWER_CYCLE_OFF_SOFT_GRACEFUL
        value: '7'
      - name: PLDM_STATE_SET_SYS_POWER_CYCLE_OFF_HARD_GRACEFUL
        value: '8'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_OFF_SOFT_GRACEFUL
        value: '9'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_OFF_HARD_GRACEFUL
        value: '10'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_NMI
        value: '13'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_MASTER_BUS_RESET_GRACEFUL
        value: '12'
      - name: PLDM_STATE_SET_SYS_POWER_STATE_MASTER_BUS_RESET
        value: '11'
      item_type: enum
      name: pldm_state_set_system_power_state_values
      pos:
        line_end: 348
        line_start: 334
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_ACPI_DEVICE_POWER_STATE_UNKNOWN
        value: '0'
      - name: PLDM_STATE_SET_ACPI_DEVICE_POWER_STATE_OFF
        value: '4'
      - name: PLDM_STATE_SET_ACPI_DEVICE_POWER_STATE_INTERMEDIATE_2
        value: '3'
      - name: PLDM_STATE_SET_ACPI_DEVICE_POWER_STATE_INTERMEDIATE_1
        value: '2'
      - name: PLDM_STATE_SET_ACPI_DEVICE_POWER_STATE_FULLY_ON
        value: '1'
      item_type: enum
      name: pldm_state_set_device_power_state_values
      pos:
        line_end: 358
        line_start: 352
        source_file: /src/libpldm/include/libpldm/state_set.h
    - enumerators:
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S0
        value: '1'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S2
        value: '3'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S1
        value: '2'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S4
        value: '5'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S3
        value: '4'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_S5
        value: '6'
      - name: PLDM_STATE_SET_ACPI_POWER_STATE_G3
        value: '7'
      item_type: enum
      name: pldm_state_set_acpi_power_state_values
      pos:
        line_end: 370
        line_start: 362
        source_file: /src/libpldm/include/libpldm/state_set.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_OEM_STATE_SET_ID_START
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libpldm/include/libpldm/state_set.h
      type_or_value: '32768'
    - item_type: preproc_def
      name: PLDM_OEM_STATE_SET_ID_END
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libpldm/include/libpldm/state_set.h
      type_or_value: '65535'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/bios.h
  types:
    enum:
    - enumerators:
      - name: PLDM_BIOS_TABLE_UNAVAILABLE
        value: '0x83'
      - name: PLDM_INVALID_BIOS_TABLE_TYPE
        value: '0x85'
      - name: PLDM_INVALID_BIOS_TABLE_DATA_INTEGRITY_CHECK
        value: '0x84'
      - name: PLDM_INVALID_BIOS_ATTR_HANDLE
        value: '0x88'
      item_type: enum
      name: pldm_bios_completion_codes
      pos:
        line_end: 30
        line_start: 25
        source_file: /src/libpldm/include/libpldm/bios.h
    - enumerators:
      - name: PLDM_GET_BIOS_TABLE
        value: '0x01'
      - name: PLDM_SET_BIOS_TBALE_TAGS
        value: '0x05'
      - name: PLDM_UPDATE_BIOS_TABLE
        value: '0x03'
      - name: PLDM_SET_BIOS_TABLE
        value: '0x02'
      - name: PLDM_GET_BIOS_TABLE_TAGS
        value: '0x04'
      - name: PLDM_ACCEPT_BIOS_ATTRIBUTES_PENDING_VALUES
        value: '0x06'
      - name: PLDM_SET_BIOS_ATTRIBUTE_CURRENT_VALUE
        value: '0x07'
      - name: PLDM_GET_BIOS_ATTRIBUTE_CURRENT_VALUE_BY_HANDLE
        value: '0x08'
      - name: PLDM_GET_BIOS_ATTRIBUTE_PENDING_VALUE_BY_HANDLE
        value: '0x09'
      - name: PLDM_GET_BIOS_ATTRIBUTE_CURRENT_VALUE_BY_TYPE
        value: '0x0a'
      - name: PLDM_SET_DATE_TIME
        value: '0x0d'
      - name: PLDM_GET_BIOS_STRING_TABLE_STRING_TYPE
        value: '0x0e'
      - name: PLDM_GET_BIOS_ATTRIBUTE_PENDING_VALUE_BY_TYPE
        value: '0x0b'
      - name: PLDM_SET_BIOS_STRING_TABLE_STRING_TYPE
        value: '0x0f'
      - name: PLDM_GET_DATE_TIME
        value: '0x0c'
      item_type: enum
      name: pldm_bios_commands
      pos:
        line_end: 47
        line_start: 31
        source_file: /src/libpldm/include/libpldm/bios.h
    - enumerators:
      - name: PLDM_BIOS_STRING_TABLE
      - name: PLDM_BIOS_ATTR_VAL_TABLE
      - name: PLDM_BIOS_ATTR_TABLE
      item_type: enum
      name: pldm_bios_table_types
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/libpldm/include/libpldm/bios.h
    - enumerators:
      - name: PLDM_BIOS_ENUMERATION
        value: '0x0'
      - name: PLDM_BIOS_ENUMERATION_READ_ONLY
        value: '0x80'
      - name: PLDM_BIOS_STRING
        value: '0x1'
      - name: PLDM_BIOS_INTEGER
        value: '0x3'
      - name: PLDM_BIOS_PASSWORD
        value: '0x2'
      - name: PLDM_BIOS_STRING_READ_ONLY
        value: '0x81'
      - name: PLDM_BIOS_PASSWORD_READ_ONLY
        value: '0x82'
      - name: PLDM_BIOS_INTEGER_READ_ONLY
        value: '0x83'
      item_type: enum
      name: pldm_bios_attribute_type
      pos:
        line_end: 88
        line_start: 79
        source_file: /src/libpldm/include/libpldm/bios.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_GET_DATE_TIME_RESP_BYTES
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_GET_BIOS_TABLE_REQ_BYTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_GET_BIOS_TABLE_MIN_RESP_BYTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_SET_BIOS_TABLE_MIN_REQ_BYTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_SET_BIOS_TABLE_RESP_BYTES
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SET_BIOS_ATTR_CURR_VAL_MIN_REQ_BYTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SET_BIOS_ATTR_CURR_VAL_RESP_BYTES
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_BIOS_ATTR_CURR_VAL_BY_HANDLE_REQ_BYTES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_GET_BIOS_ATTR_CURR_VAL_BY_HANDLE_MIN_RESP_BYTES
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libpldm/include/libpldm/bios.h
      type_or_value: '6'
    structs:
    - fields:
      - name: string_handle
        type: uint16_t
      - name: string_length
        type: uint16_t
      - name: name[1]
        type: char
      item_type: struct
      name: pldm_bios_string_table_entry
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: attr_handle
        type: uint16_t
      - name: attr_type
        type: uint8_t
      - name: string_handle
        type: uint16_t
      - name: metadata[1]
        type: uint8_t
      item_type: struct
      name: pldm_bios_attr_table_entry
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: num_possible_values
        type: uint8_t
      - name: indices[1]
        type: uint16_t
      item_type: struct
      name: pldm_bios_enum_attr
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: attr_handle
        type: uint16_t
      - name: attr_type
        type: uint8_t
      - name: value[1]
        type: uint8_t
      item_type: struct
      name: pldm_bios_attr_val_table_entry
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: transfer_op_flag
        type: uint8_t
      - name: table_type
        type: uint8_t
      item_type: struct
      name: pldm_get_bios_table_req
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: table_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_bios_table_resp
      pos:
        line_end: 109
        line_start: 104
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: seconds
        type: uint8_t
      - name: minutes
        type: uint8_t
      - name: hours
        type: uint8_t
      - name: day
        type: uint8_t
      - name: month
        type: uint8_t
      - name: year
        type: uint16_t
      item_type: struct
      name: pldm_get_date_time_resp
      pos:
        line_end: 123
        line_start: 115
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: seconds
        type: uint8_t
      - name: minutes
        type: uint8_t
      - name: hours
        type: uint8_t
      - name: day
        type: uint8_t
      - name: month
        type: uint8_t
      - name: year
        type: uint16_t
      item_type: struct
      name: pldm_set_date_time_req
      pos:
        line_end: 137
        line_start: 130
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_only_cc_resp
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: transfer_op_flag
        type: uint8_t
      - name: attribute_handle
        type: uint16_t
      item_type: struct
      name: pldm_get_bios_attribute_current_value_by_handle_req
      pos:
        line_end: 155
        line_start: 151
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: attribute_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_bios_attribute_current_value_by_handle_resp
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: attribute_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_set_bios_attribute_current_value_req
      pos:
        line_end: 177
        line_start: 173
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      item_type: struct
      name: pldm_set_bios_attribute_current_value_resp
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: table_type
        type: uint8_t
      - name: table_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_set_bios_table_req
      pos:
        line_end: 199
        line_start: 194
        source_file: /src/libpldm/include/libpldm/bios.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      item_type: struct
      name: pldm_set_bios_table_resp
      pos:
        line_end: 209
        line_start: 206
        source_file: /src/libpldm/include/libpldm/bios.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/entity.h
  types:
    enum:
    - enumerators:
      - name: PLDM_ENTITY_PLATFORM_EVENT_LOG
        value: '8'
      - name: PLDM_ENTITY_CARD
        value: '61'
      - name: PLDM_ENTITY_LIQUID_COOLING_SUBSYSTEM
        value: '96'
      - name: PLDM_ENTITY_PROCESSING_BLADE
        value: '77'
      - name: PLDM_ENTITY_BATTERY
        value: '121'
      - name: LIBPLDM_API_DEPRECATED
        value: '111'
      - name: PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR
        value: '128'
      - name: PLDM_ENTITY_CHIPSET_COMPONENT
        value: '136'
      - name: PLDM_ENTITY_NETWORK_CONTROLLER
        value: '144'
      - name: PLDM_ENTITY_OSFP
        value: '214'
      - name: PLDM_ENTITY_OS_LOADER
        value: '34'
      - name: PLDM_ENTITY_DOOR
        value: '50'
      - name: PLDM_ENTITY_ADD_IN_CARD
        value: '68'
      - name: PLDM_ENTITY_PCIE_SWITCH
        value: '155'
      - name: PLDM_ENTITY_USB_BUS
        value: '169'
      - name: PLDM_ENTITY_CAN_BUS
        value: '177'
      - name: PLDM_ENTITY_SFP16
        value: '205'
      - name: PLDM_ENTITY_UNKNOWN_NETWORK_CONNECTOR_TYPE
        value: '299'
      - name: LIBPLDM_API_DEPRECATED
        value: '303'
      - name: PLDM_ENTITY_SYS_BUS
        value: '161'
      - name: PLDM_ENTITY_OTHER_SYS_BOARD
        value: '75'
      - name: PLDM_ENTITY_PELTIER_COOLING_DEVICE
        value: '94'
      - name: PLDM_ENTITY_COMM_CHANNEL
        value: '6'
      - name: PLDM_ENTITY_SYS_MGMT_SW
        value: '30'
      - name: PLDM_ENTITY_SOLID_STATE_SRIVE
      - name: PLDM_ENTITY_VOLTAGE_REGULATOR
        value: '127'
      - name: PLDM_ENTITY_MEMORY_CONTROLLER
        value: '143'
      - name: PLDM_ENTITY_IO_CONTROLLER
        value: '145'
      - name: PLDM_ENTITY_RJ45
        value: '200'
      - name: PLDM_ENTITY_QSFP_PLUS
        value: '212'
      - name: PLDM_ENTITY_OMNIPATH
        value: '303'
      - name: PLDM_ENTITY_FIBRECHANNEL
        value: '302'
      - name: PLDM_ENTITY_NETWORK
        value: '2'
      - name: PLDM_ENTITY_OPERATING_SYS
        value: '32'
      - name: PLDM_ENTITY_MEMORY_MODULE
        value: '66'
      - name: PLDM_ENTITY_COOLING_DEVICE
        value: '90'
      - name: PLDM_ENTITY_PCIE_RETIMER
        value: '154'
      - name: PLDM_ENTITY_LPC_BUS
        value: '168'
      - name: PLDM_ENTITY_I3C_BUS
        value: '176'
      - name: PLDM_ENTITY_SFP
        value: '202'
      - name: PLDM_ENTITY_OTHER
        value: '1'
      - name: PLDM_ENTITY_SYS_FIRMWARE
        value: '31'
      - name: PLDM_ENTITY_KEYPAD
        value: '15'
      - name: PLDM_ENTITY_PROC_IO_MODULE
        value: '81'
      - name: PLDM_ENTITY_MEMORY_BOARD
        value: '65'
      - name: PLDM_ENTITY_POWER_CONVERTER
        value: '123'
      - name: PLDM_ENTITY_POWER_SUPPLY
        value: '120'
      - name: PLDM_ENTITY_PROC
        value: '135'
      - name: PLDM_ENTITY_PERIPHERAL_CONTROLLER
        value: '138'
      - name: PLDM_ENTITY_SOUTH_BRIDGE
        value: '146'
      - name: PLDM_ENTITY_POWER_SYS_BOARD
        value: '72'
      - name: PLDM_ENTITY_GROUP
        value: '3'
      - name: PLDM_ENTITY_PUSHBUTTON
        value: '17'
      - name: PLDM_ENTITY_SYSTEM_CHASSIS
        value: '45'
      - name: PLDM_ENTITY_COOLING_SUBSYSTEM
        value: '91'
      - name: PLDM_ENTITY_CD_DRIVE
        value: '108'
      - name: PLDM_ENTITY_SCSI_BUS
        value: '171'
      - name: PLDM_ENTITY_INTERCONNECT
        value: '188'
      - name: PLDM_ENTITY_CSFP
        value: '209'
      - name: PLDM_ENTITY_SYS_MGMT_MODULE
        value: '63'
      - name: PLDM_ENTITY_SUPER_CAPACITOR
        value: '122'
      - name: PLDM_ENTITY_LIQUID_COOLING_OUTPUT_MANIFOLD
        value: '98'
      - name: PLDM_ENTITY_SOLID_STATE_DRIVE
        value: '111'
      - name: PLDM_ENTITY_UNSPECIFIED
        value: '0'
      - name: PLDM_ENTITY_DEVICE_FILE_DIRECTORY
        value: '10'
      - name: PLDM_ENTITY_DISK_DRIVE_BAY
        value: '47'
      - name: PLDM_ENTITY_PROC_MEMORY_MODULE
        value: '79'
      - name: PLDM_ENTITY_MULTI_RAIL_VOLTAGE_REGULATOR_CHANNEL
        value: '129'
      - name: PLDM_ENTITY_MGMT_CONTROLLER
        value: '137'
      - name: PLDM_ENTITY_FLOPPY_DRIVE
        value: '106'
      - name: PLDM_ENTITY_MGMT_CONTROLLER_FW
        value: '36'
      - name: PLDM_ENTITY_COVER
        value: '52'
      - name: PLDM_ENTITY_BACK_PANEL_BOARD
        value: '70'
      - name: PLDM_ENTITY_OTHER_BUS
        value: '160'
      - name: PLDM_ENTITY_I2C_BUS
        value: '162'
      - name: PLDM_ENTITY_FIREWIRE_BUS
        value: '170'
      - name: PLDM_ENTITY_SLOT
        value: '186'
      - name: PLDM_ENTITY_SFP_PLUS
        value: '207'
      - name: PLDM_ENTITY_DEVICE_DRIVER
        value: '35'
      - name: PLDM_ENTITY_ACCESS_PANEL
        value: '51'
      - name: PLDM_ENTITY_CHASSIS_FRONT_PANEL_BOARD
        value: '69'
      - name: PLDM_ENTITY_AC_MAINS_POWER_SUPPLY
        value: '125'
      - name: PLDM_ENTITY_NVRAM_CHIP
        value: '140'
      - name: PLDM_ENTITY_TPM
        value: '150'
      - name: PLDM_ENTITY_SPI_BUS
        value: '164'
      - name: PLDM_ENTITY_SFP28
        value: '206'
      - name: PLDM_ENTITY_ETHERNET
        value: '300'
      - name: PLDM_ENTITY_VENDOR_SPECIFIC_INTERCONNECT
        value: '400'
      - name: PLDM_ENTITY_LIQUID_COOLING_DEVICE
        value: '95'
      - name: PLDM_ENTITY_TERMINUS
        value: '7'
      - name: PLDM_ENTITY_CHASSIS_BACK_PANEL_BOARD
        value: '76'
      - name: PLDM_ENTITY_PROCESSOR_CORE
        value: '151'
      - name: PLDM_ENTITY_PCI_BUS
        value: '165'
      - name: PLDM_ENTITY_PROC_FRONT_SIDE_BUS
        value: '173'
      - name: PLDM_ENTITY_QSFPDD
        value: '213'
      - name: PLDM_ENTITY_FIBRECHANEL
      - name: PLDM_OEM_ENTITY_TYPE_END
        value: '32767'
      - name: PLDM_ENTITY_VIRTUAL_MACHINE_MANAGER
        value: '33'
      - name: PLDM_ENTITY_DEVICE_BAY
        value: '49'
      - name: PLDM_ENTITY_PROC_MODULE
        value: '67'
      - name: PLDM_ENTITY_DC_DC_CONVERTER
        value: '124'
      - name: PLDM_ENTITY_SEEPROM
        value: '139'
      - name: PLDM_ENTITY_REAL_TIME_CLOCK
        value: '147'
      - name: PLDM_ENTITY_ACCELERATOR
        value: '149'
      - name: PLDM_ENTITY_SMBUS_BUS
        value: '163'
      - name: PLDM_ENTITY_SFP10
        value: '203'
      - name: PLDM_ENTITY_MMC
        value: '292'
      - name: PLDM_ENTITY_OIF_ELSFP
        value: '290'
      - name: PLDM_ENTITY_SYS_INTERNAL_EXPANSION_BOARD
        value: '74'
      - name: PLDM_ENTITY_FAN
        value: '93'
      - name: PLDM_ENTITY_EXTERNAL_ENVIRONMENT
        value: '5'
      - name: PLDM_ENTITY_INDICATOR
        value: '19'
      - name: PLDM_ENTITY_OTHER_SILICON_STORAGE_DEVICE
        value: '110'
      - name: PLDM_ENTITY_SATA_SAS_BUS
        value: '172'
      - name: PLDM_ENTITY_SOCKET
        value: '190'
      - name: PLDM_ENTITY_QSFP28
        value: '211'
      - name: PLDM_ENTITY_REMOTE_MGMT_COMM_DEVICE
        value: '4'
      - name: PLDM_ENTITY_DISPLAY
        value: '18'
      - name: PLDM_ENTITY_COOLING_UNIT
        value: '92'
      - name: PLDM_ENTITY_CD_DVD_DRIVE
        value: '109'
      - name: PLDM_ENTITY_DRIVE_BACKPLANE
        value: '73'
      - name: PLDM_ENTITY_DC_MAINS_POWER_SUPPLY
        value: '126'
      - name: PLDM_ENTITY_MEMORY_CHIP
        value: '142'
      - name: PLDM_ENTITY_PLUG
        value: '189'
      - name: PLDM_ENTITY_QSFP
        value: '210'
      - name: PLDM_ENTITY_FPGA_CPLD_DEVICE
        value: '148'
      - name: PLDM_ENTITY_XFP
        value: '201'
      - name: PLDM_ENTITY_MEMORY_RANK
        value: '11'
      - name: PLDM_ENTITY_PERIPHERAL_BAY
        value: '48'
      - name: PLDM_ENTITY_SYS_BOARD
        value: '64'
      - name: PLDM_ENTITY_IO_MODULE
        value: '80'
      - name: PLDM_ENTITY_OTHER_STORAGE_DEVICE
        value: '105'
      - name: PLDM_ENTITY_DPU
        value: '153'
      - name: PLDM_ENTITY_PECI_BUS
        value: '167'
      - name: PLDM_ENTITY_INTER_ACCELERATOR_LINK
        value: '175'
      - name: PLDM_ENTITY_CONNECTOR
        value: '185'
      - name: PLDM_ENTITY_MPO
        value: '291'
      - name: PLDM_ENTITY_INFINIBAND
        value: '301'
      - name: PLDM_ENTITY_POWER_MGMT
        value: '71'
      - name: PLDM_ENTITY_SWITCH
        value: '16'
      - name: PLDM_ENTITY_AGENT
        value: '37'
      - name: PLDM_ENTITY_BOARD
        value: '60'
      - name: PLDM_ENTITY_FIXED_DISK_HARD_DRIVE
        value: '107'
      - name: PLDM_ENTITY_FLASH_MEMORY_CHIP
        value: '141'
      - name: PLDM_ENTITY_CABLE
        value: '187'
      - name: PLDM_ENTITY_SFPDD
        value: '208'
      - name: PLDM_ENTITY_OMINIPATH
      - name: PLDM_OEM_ENTITY_TYPE_START
        value: '24576'
      - name: PLDM_ENTITY_CONNECTIVITY_SWITCH
        value: '78'
      - name: PLDM_ENTITY_LIQUID_COOLING_INPUT_MANIFOLD
        value: '97'
      - name: PLDM_ENTITY_DEVICE_FILE
        value: '9'
      - name: PLDM_ENTITY_SUB_CHASSIS
        value: '46'
      - name: PLDM_ENTITY_MODULE
        value: '62'
      - name: PLDM_ENTITY_GPU
        value: '152'
      - name: PLDM_ENTITY_PCI_EXPRESS_BUS
        value: '166'
      - name: PLDM_ENTITY_INTER_PROC_BUS
        value: '174'
      - name: PLDM_ENTITY_DSFP
        value: '215'
      - name: LIBPLDM_API_DEPRECATED
        value: '302'
      item_type: enum
      name: pldm_entity_id_codes
      pos:
        line_end: 198
        line_start: 11
        source_file: /src/libpldm/include/libpldm/entity.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/states.h
  types:
    enum:
    - enumerators:
      - name: PLDM_BOOT_NOT_ACTIVE
        value: '1'
      - name: PLDM_BOOT_COMPLETED
        value: '2'
      item_type: enum
      name: pldm_boot_progress_states
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/libpldm/include/libpldm/states.h
    - enumerators:
      - name: PLDM_OFF_SOFT_GRACEFUL
        value: '9'
      item_type: enum
      name: pldm_system_power_states
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/libpldm/include/libpldm/states.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIBPLDM_SIZEAT
  - LIBPLDM_CC_COUNTED_BY
  source_file: /src/libpldm/include/libpldm/compiler.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBPLDM_CC_ALWAYS_INLINE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/libpldm/include/libpldm/compiler.h
      type_or_value: __attribute__((always_inline)) static inline
    - item_type: preproc_def
      name: LIBPLDM_CC_DEPRECATED
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/libpldm/include/libpldm/compiler.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: LIBPLDM_CC_NONNULL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/libpldm/include/libpldm/compiler.h
      type_or_value: __attribute__((nonnull))
    - item_type: preproc_def
      name: LIBPLDM_CC_UNAVAILABLE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libpldm/include/libpldm/compiler.h
      type_or_value: __attribute__((unavailable))
    - item_type: preproc_def
      name: LIBPLDM_CC_ALWAYS_INLINE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libpldm/include/libpldm/compiler.h
      type_or_value: static inline
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/bcd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/transport.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_platform_redfish_resource_pdr_additional_resource_iter_init
  - pldm_platform_redfish_resource_pdr_additional_resource_iter_end
  - pldm_platform_redfish_resource_pdr_additional_resource_iter_next
  - foreach_pldm_platform_redfish_resource_pdr_additional_resource
  - pldm_platform_redfish_resource_pdr_oem_name_iter_init
  - pldm_platform_redfish_resource_pdr_oem_name_iter_end
  - pldm_platform_redfish_resource_pdr_oem_name_iter_next
  - foreach_pldm_platform_redfish_resource_pdr_oem_name
  - pldm_platform_redfish_action_pdr_related_resource_id_iter_init
  - pldm_platform_redfish_action_pdr_related_resource_id_iter_end
  - pldm_platform_redfish_action_pdr_related_resource_id_iter_next
  - foreach_pldm_platform_redfish_action_pdr_related_resource_id
  - pldm_platform_redfish_action_pdr_action_iter_init
  - pldm_platform_redfish_action_pdr_action_iter_end
  - pldm_platform_redfish_action_pdr_action_iter_next
  - foreach_pldm_platform_redfish_action_pdr_action
  - pldm_platform_state_effecter_pdr_iter_end
  - pldm_platform_state_effecter_pdr_iter_next
  - foreach_pldm_platform_state_effecter_pdr_states
  - pldm_platform_state_effecter_pdr_possible_states_iter_end
  - pldm_platform_state_effecter_pdr_possible_states_iter_next
  - foreach_pldm_platform_state_effecter_pdr_possible_states
  source_file: /src/libpldm/include/libpldm/platform.h
  types:
    enum:
    - enumerators:
      - name: PLDM_PLATFORM_TRANSFER_START
        value: '0x00'
      - name: PLDM_PLATFORM_TRANSFER_START_AND_END
        value: '0x05'
      - name: PLDM_PLATFORM_TRANSFER_MIDDLE
        value: '0x01'
      - name: PLDM_PLATFORM_TRANSFER_END
        value: '0x04'
      item_type: enum
      name: pldm_platform_transfer_flag
      pos:
        line_end: 28
        line_start: 23
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_EFFECTER_DATA_SIZE_UINT8
      - name: PLDM_EFFECTER_DATA_SIZE_UINT16
      - name: PLDM_EFFECTER_DATA_SIZE_SINT16
      - name: PLDM_EFFECTER_DATA_SIZE_SINT8
      - name: PLDM_EFFECTER_DATA_SIZE_UINT32
      - name: PLDM_EFFECTER_DATA_SIZE_SINT32
      item_type: enum
      name: pldm_effecter_data_size
      pos:
        line_end: 170
        line_start: 163
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_RANGE_FIELD_FORMAT_UINT8
      - name: PLDM_RANGE_FIELD_FORMAT_SINT8
      - name: PLDM_RANGE_FIELD_FORMAT_UINT16
      - name: PLDM_RANGE_FIELD_FORMAT_UINT32
      - name: PLDM_RANGE_FIELD_FORMAT_SINT16
      - name: PLDM_RANGE_FIELD_FORMAT_SINT32
      - name: PLDM_RANGE_FIELD_FORMAT_REAL32
      item_type: enum
      name: pldm_range_field_format
      pos:
        line_end: 180
        line_start: 172
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_NO_CHANGE
        value: '0x00'
      - name: PLDM_REQUEST_SET
        value: '0x01'
      item_type: enum
      name: set_request
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_INVALID_VALUE
        value: '0xff'
      item_type: enum
      name: effecter_state
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_UNKNOWN
        value: '0x0'
      - name: PLDM_SENSOR_CRITICAL
        value: '0x03'
      - name: PLDM_SENSOR_NORMAL
        value: '0x01'
      - name: PLDM_SENSOR_FATAL
        value: '0x04'
      - name: PLDM_SENSOR_WARNING
        value: '0x02'
      - name: PLDM_SENSOR_LOWERWARNING
        value: '0x05'
      - name: PLDM_SENSOR_LOWERCRITICAL
        value: '0x06'
      - name: PLDM_SENSOR_LOWERFATAL
        value: '0x07'
      - name: PLDM_SENSOR_UPPERWARNING
        value: '0x08'
      - name: PLDM_SENSOR_UPPERCRITICAL
        value: '0x09'
      - name: PLDM_SENSOR_UPPERFATAL
        value: '0x0a'
      item_type: enum
      name: pldm_sensor_present_state
      pos:
        line_end: 199
        line_start: 187
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_NO_EVENT_GENERATION
      - name: PLDM_EVENTS_ENABLED
      - name: PLDM_OP_EVENTS_ONLY_ENABLED
      - name: PLDM_EVENTS_DISABLED
      - name: PLDM_STATE_EVENTS_ONLY_ENABLED
      item_type: enum
      name: pldm_sensor_event_message_enable
      pos:
        line_end: 207
        line_start: 201
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: EFFECTER_OPER_STATE_ENABLED_UPDATEPENDING
      - name: EFFECTER_OPER_STATE_ENABLED_NOUPDATEPENDING
      - name: EFFECTER_OPER_STATE_STATUSUNKNOWN
      - name: EFFECTER_OPER_STATE_UNAVAILABLE
      - name: EFFECTER_OPER_STATE_DISABLED
      - name: EFFECTER_OPER_STATE_FAILED
      - name: EFFECTER_OPER_STATE_INITIALIZING
      - name: EFFECTER_OPER_STATE_SHUTTINGDOWN
      - name: EFFECTER_OPER_STATE_INTEST
      item_type: enum
      name: pldm_effecter_oper_state
      pos:
        line_end: 219
        line_start: 209
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_POLL_FOR_PLATFORM_EVENT_MESSAGE
        value: '0x0b'
      - name: PLDM_GET_SENSOR_READING
        value: '0x11'
      - name: PLDM_GET_SENSOR_HYSTERESIS
        value: '0x15'
      - name: PLDM_GET_STATE_SENSOR_READINGS
        value: '0x21'
      - name: PLDM_GET_NUMERIC_EFFECTER_VALUE
        value: '0x32'
      - name: PLDM_GET_PLDM_EVENT_LOG_INFO
        value: '0x40'
      - name: PLDM_SET_PLDM_EVENT_LOG_TIMESTAMP
        value: '0x44'
      - name: PLDM_FIND_PLDM_EVENT_LOG_ENTRY
        value: '0x48'
      - name: PLDM_RUN_INIT_AGENT
        value: '0x58'
      - name: PLDM_SET_EVENT_RECEIVER
        value: '0x04'
      - name: PLDM_EVENT_MESSAGE_SUPPORTED
        value: '0x0c'
      - name: PLDM_GET_SENSOR_THRESHOLDS
        value: '0x12'
      - name: PLDM_SET_SENSOR_HYSTERESIS
        value: '0x16'
      - name: PLDM_INIT_STATE_SENSOR
        value: '0x22'
      - name: PLDM_SET_STATE_EFFECTER_ENABLES
        value: '0x38'
      - name: PLDM_ENABLE_PLDM_EVENT_LOGGING
        value: '0x41'
      - name: PLDM_READ_PLDM_EVENT_LOG
        value: '0x45'
      - name: PLDM_GET_PDR_REPOSITORY_INFO
        value: '0x50'
      - name: PLDM_GET_PDR_REPOSITORY_SIGNATURE
        value: '0x53'
      - name: PLDM_GET_EVENT_RECEIVER
        value: '0x05'
      - name: PLDM_EVENT_MESSAGE_BUFFER_SIZE
        value: '0x0d'
      - name: PLDM_SET_NUMERIC_EFFECTER_ENABLE
        value: '0x30'
      - name: PLDM_SET_SENSOR_THRESHOLDS
        value: '0x13'
      - name: PLDM_INIT_NUMERIC_SENSOR
        value: '0x17'
      - name: PLDM_SET_STATE_EFFECTER_STATES
        value: '0x39'
      - name: PLDM_CLEAR_PLDM_EVENT_LOG
        value: '0x42'
      - name: PLDM_GET_PLDM_EVENT_LOG_POLICY_INFO
        value: '0x46'
      - name: PLDM_GET_PDR
        value: '0x51'
      - name: PLDM_GET_TERMINUS_UID
        value: '0x03'
      - name: PLDM_PLATFORM_EVENT_MESSAGE
        value: '0x0a'
      - name: PLDM_SET_NUMERIC_SENSOR_ENABLE
        value: '0x10'
      - name: PLDM_RESTORE_SENSOR_THRESHOLDS
        value: '0x14'
      - name: PLDM_SET_STATE_SENSOR_ENABLES
        value: '0x20'
      - name: PLDM_SET_NUMERIC_EFFECTER_VALUE
        value: '0x31'
      - name: PLDM_GET_STATE_EFFECTER_STATES
        value: '0x3a'
      - name: PLDM_GET_PLDM_EVENT_LOG_TIMESTAMP
        value: '0x43'
      - name: PLDM_SET_PLDM_EVENT_LOG_POLICY
        value: '0x47'
      - name: PLDM_FIND_PDR
        value: '0x52'
      item_type: enum
      name: pldm_platform_commands
      pos:
        line_end: 260
        line_start: 221
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_NUMERIC_SENSOR_PDR
        value: '2'
      - name: PLDM_SENSOR_AUXILIARY_NAMES_PDR
        value: '6'
      - name: PLDM_STATE_EFFECTER_INITIALIZATION_PDR
        value: '12'
      - name: PLDM_ENTITY_AUXILIARY_NAMES_PDR
        value: '16'
      - name: PLDM_PDR_FRU_RECORD_SET
        value: '20'
      - name: PLDM_REDFISH_ACTION_PDR
        value: '24'
      - name: PLDM_OEM_PDR
        value: '127'
      - name: PLDM_NUMERIC_SENSOR_INITIALIZATION_PDR
        value: '3'
      - name: PLDM_OEM_UNIT_PDR
        value: '7'
      - name: PLDM_NUMERIC_EFFECTER_PDR
        value: '9'
      - name: PLDM_EFFECTER_AUXILIARY_NAMES_PDR
        value: '13'
      - name: PLDM_OEM_ENTITY_ID_PDR
        value: '17'
      - name: PLDM_COMPACT_NUMERIC_SENSOR_PDR
        value: '21'
      - name: PLDM_REDFISH_PARALLEL_RESOURCE_PDR
        value: '25'
      - name: PLDM_TERMINUS_LOCATOR_PDR
        value: '1'
      - name: PLDM_STATE_SENSOR_PDR
        value: '4'
      - name: PLDM_OEM_STATE_SET_PDR
        value: '8'
      - name: PLDM_NUMERIC_EFFECTER_INITIALIZATION_PDR
        value: '10'
      - name: PLDM_INTERRUPT_ASSOCIATION_PDR
        value: '18'
      - name: PLDM_EFFECTER_OEM_SEMANTIC_PDR
        value: '14'
      - name: PLDM_REDFISH_RESOURCE_PDR
        value: '22'
      - name: PLDM_FILE_DESCRIPTOR_PDR
        value: '30'
      - name: PLDM_STATE_SENSOR_INITIALIZATION_PDR
        value: '5'
      - name: PLDM_EVENT_LOG_PDR
        value: '19'
      - name: PLDM_STATE_EFFECTER_PDR
        value: '11'
      - name: PLDM_PDR_ENTITY_ASSOCIATION
        value: '15'
      - name: PLDM_REDFISH_ENTITY_ASSOCIATION_PDR
        value: '23'
      - name: PLDM_OEM_DEVICE_PDR
        value: '126'
      item_type: enum
      name: pldm_pdr_types
      pos:
        line_end: 293
        line_start: 264
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_NO_INIT
      - name: PLDM_USE_INIT_PDR
      - name: PLDM_ENABLE_EFFECTER
      - name: PLDM_DISABLE_EFECTER
      item_type: enum
      name: pldm_effecter_init
      pos:
        line_end: 302
        line_start: 297
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_PLATFORM_INVALID_SENSOR_ID
        value: '0x80'
      - name: PLDM_PLATFORM_INVALID_STATE_VALUE
        value: '0x81'
      - name: PLDM_PLATFORM_INVALID_DATA_TRANSFER_HANDLE
        value: '0x80'
      - name: PLDM_PLATFORM_REARM_UNAVAILABLE_IN_PRESENT_STATE
        value: '0x81'
      - name: PLDM_PLATFORM_INVALID_EFFECTER_ID
        value: '0x80'
      - name: PLDM_PLATFORM_INVALID_TRANSFER_OPERATION_FLAG
        value: '0x81'
      - name: PLDM_PLATFORM_INVALID_RECORD_HANDLE
        value: '0x82'
      - name: PLDM_PLATFORM_INVALID_RECORD_CHANGE_NUMBER
        value: '0x83'
      - name: PLDM_PLATFORM_TRANSFER_TIMEOUT
        value: '0x84'
      - name: PLDM_PLATFORM_SET_EFFECTER_UNSUPPORTED_SENSORSTATE
        value: '0x82'
      - name: PLDM_PLATFORM_ENABLE_METHOD_NOT_SUPPORTED
        value: '0x81'
      - name: PLDM_PLATFORM_EVENT_GENERATION_NOT_SUPPORTED
        value: '0x82'
      - name: PLDM_PLATFORM_INVALID_SENSOR_OPERATIONAL_STATE
        value: '0x81'
      - name: PLDM_PLATFORM_INVALID_PROTOCOL_TYPE
        value: '0x80'
      - name: PLDM_PLATFORM_HEARTBEAT_FREQUENCY_TOO_HIGH
        value: '0x82'
      item_type: enum
      name: pldm_platform_completion_codes
      pos:
        line_end: 327
        line_start: 306
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_EVENT
        value: '0x00'
      - name: PLDM_REDFISH_MESSAGE_EVENT
        value: '0x03'
      - name: PLDM_EFFECTER_EVENT
        value: '0x01'
      - name: PLDM_PDR_REPOSITORY_CHG_EVENT
        value: '0x04'
      - name: PLDM_REDFISH_TASK_EXECUTED_EVENT
        value: '0x02'
      - name: PLDM_MESSAGE_POLL_EVENT
        value: '0x05'
      - name: PLDM_HEARTBEAT_TIMER_ELAPSED_EVENT
        value: '0x06'
      - name: PLDM_CPER_EVENT
        value: '0x07'
      item_type: enum
      name: pldm_event_types
      pos:
        line_end: 340
        line_start: 331
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_OP_STATE
      - name: PLDM_NUMERIC_SENSOR_STATE
      - name: PLDM_STATE_SENSOR_STATE
      item_type: enum
      name: sensor_event_class_states
      pos:
        line_end: 348
        line_start: 344
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_ENABLED
      - name: PLDM_SENSOR_STATUSUNKOWN
      - name: PLDM_SENSOR_FAILED
      - name: PLDM_SENSOR_DISABLED
      - name: PLDM_SENSOR_UNAVAILABLE
      - name: PLDM_SENSOR_INITIALIZING
      - name: PLDM_SENSOR_SHUTTINGDOWN
      - name: PLDM_SENSOR_INTEST
      item_type: enum
      name: pldm_sensor_operational_state
      pos:
        line_end: 361
        line_start: 352
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SET_SENSOR_ENABLED
      - name: PLDM_SET_SENSOR_DISABLED
      - name: PLDM_SET_SENSOR_UNAVAILABLE
      item_type: enum
      name: pldm_set_sensor_operational_state
      pos:
        line_end: 370
        line_start: 366
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: REFRESH_ENTIRE_REPOSITORY
      - name: FORMAT_IS_PDR_HANDLES
      - name: FORMAT_IS_PDR_TYPES
      item_type: enum
      name: pldm_pdr_repository_chg_event_data_format
      pos:
        line_end: 378
        line_start: 374
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_REFRESH_ALL_RECORDS
        value: '0'
      - name: PLDM_PDR_RECORDS_REFRESH_ALL
        value: '0'
      - name: PLDM_RECORDS_MODIFIED
        value: '3'
      - name: PLDM_RECORDS_ADDED
        value: '2'
      - name: PLDM_RECORDS_DELETED
        value: '1'
      - name: PLDM_PDR_RECORDS_DELETED
        value: '1'
      - name: PLDM_PDR_RECORDS_ADDED
        value: '2'
      - name: PLDM_PDR_RECORDS_MODIFIED
        value: '3'
      item_type: enum
      name: pldm_pdr_repository_chg_event_change_record_event_data_operation
      pos:
        line_end: 393
        line_start: 383
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_DATA_SIZE_UINT8
      - name: PLDM_SENSOR_DATA_SIZE_UINT16
      - name: PLDM_SENSOR_DATA_SIZE_SINT16
      - name: PLDM_SENSOR_DATA_SIZE_UINT32
      - name: PLDM_SENSOR_DATA_SIZE_SINT8
      - name: PLDM_SENSOR_DATA_SIZE_SINT32
      item_type: enum
      name: pldm_sensor_readings_data_type
      pos:
        line_end: 404
        line_start: 397
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_EVENT_NO_LOGGING
        value: '0x00'
      - name: PLDM_EVENT_LOGGED
        value: '0x04'
      - name: PLDM_EVENT_LOGGING_DISABLED
        value: '0x01'
      - name: PLDM_EVENT_LOG_FULL
        value: '0x02'
      - name: PLDM_EVENT_ACCEPTED_FOR_LOGGING
        value: '0x03'
      - name: PLDM_EVENT_LOGGING_REJECTED
        value: '0x05'
      item_type: enum
      name: pldm_platform_event_status
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_TL_PDR_NOT_VALID
      - name: PLDM_TL_PDR_VALID
      item_type: enum
      name: pldm_terminus_locator_pdr_validity
      pos:
        line_end: 423
        line_start: 420
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_TERMINUS_LOCATOR_TYPE_UID
      - name: PLDM_TERMINUS_LOCATOR_TYPE_SYS_SW
      - name: PLDM_TERMINUS_LOCATOR_TYPE_SMBUS_RELATIVE
      - name: PLDM_TERMINUS_LOCATOR_TYPE_MCTP_EID
      item_type: enum
      name: pldm_terminus_locator_type
      pos:
        line_end: 432
        line_start: 427
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_EVENT_MESSAGE_GLOBAL_DISABLE
      - name: PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_POLLING
      - name: PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_ASYNC_KEEP_ALIVE
      - name: PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_ASYNC
      item_type: enum
      name: pldm_event_message_global_enable
      pos:
        line_end: 442
        line_start: 437
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_SENSOR_UNIT_CANDELAS
      - name: PLDM_SENSOR_UNIT_FEET
      - name: PLDM_SENSOR_UNIT_BITS
      - name: PLDM_SENSOR_UNIT_UNDERRUNS
      - name: PLDM_SENSOR_UNIT_OUNCE_INCHES
      - name: PLDM_SENSOR_UNIT_WATTS
      - name: PLDM_SENSOR_UNIT_SECONDS
      - name: PLDM_SENSOR_UNIT_STERADIANS
      - name: PLDM_SENSOR_UNIT_PPM
      - name: PLDM_SENSOR_UNIT_NEWTON_METERS
      - name: PLDM_SENSOR_UNIT_SQUARE_INCHES
      - name: PLDM_SENSOR_UNIT_POUNDS
      - name: PLDM_SENSOR_UNIT_SIEVERTS
      - name: PLDM_SENSOR_UNIT_LUMENS
      - name: PLDM_SENSOR_UNIT_MILS
      - name: PLDM_SENSOR_UNIT_MOLES
      - name: PLDM_SENSOR_UNIT_COUNTS
      - name: PLDM_SENSOR_UNIT_VOLTS
      - name: PLDM_SENSOR_UNIT_RPM
      - name: PLDM_SENSOR_UNIT_FLUID_OUNCES
      - name: PLDM_SENSOR_UNIT_UNCORRECTABLE_ERRORS
      - name: PLDM_SENSOR_UNIT_DEGRESS_C
      - name: PLDM_SENSOR_UNIT_CUBIC_CENTERMETERS
      - name: PLDM_SENSOR_UNIT_FARADS
      - name: PLDM_SENSOR_UNIT_QUAD_WORDS
      - name: PLDM_SENSOR_UNIT_CHARATERS
      - name: PLDM_SENSOR_UNIT_OEMUNIT
        value: '255'
      - name: PLDM_SENSOR_UNIT_GRAYS
      - name: PLDM_SENSOR_UNIT_NONE
        value: '0x00'
      - name: PLDM_SENSOR_UNIT_NITS
      - name: PLDM_SENSOR_UNIT_WEEKS
      - name: PLDM_SENSOR_UNIT_OUNCES
      - name: PLDM_SENSOR_UNIT_PSI
      - name: PLDM_SENSOR_UNIT_CUBIC_FEET
      - name: PLDM_SENSOR_UNIT_GILBERTS
      - name: PLDM_SENSOR_UNIT_WORDS
      - name: PLDM_SENSOR_UNIT_PACKETS
      - name: PLDM_SENSOR_UNIT_DBA
      - name: PLDM_SENSOR_UNIT_MISSES
      - name: PLDM_SENSOR_UNIT_COULOMBS
      - name: PLDM_SENSOR_UNIT_HOURS
      - name: PLDM_SENSOR_UNIT_CYCLES
      - name: PLDM_SENSOR_UNIT_SQUARE_CENTIMETERS
      - name: PLDM_SENSOR_UNIT_AMPS
      - name: PLDM_SENSOR_UNIT_HERTZ
      - name: PLDM_SENSOR_UNIT_RADIANS
      - name: PLDM_SENSOR_UNIT_BECQUERELS
      - name: PLDM_SENSOR_UNIT_GRAMS
      - name: PLDM_SENSOR_UNIT_SQUARE_MILS
      - name: PLDM_SENSOR_UNIT_KPA
      - name: PLDM_SENSOR_UNIT_CUBIC_INCHES
      - name: PLDM_SENSOR_UNIT_GUESS
      - name: PLDM_SENSOR_UNIT_BYTES
      - name: PLDM_SENSOR_UNIT_COLLISIONS
      - name: PLDM_SENSOR_UNIT_PASCALS
      - name: PLDM_SENSOR_UNIT_KELVINS
      - name: PLDM_SENSOR_UNIT_CFM
      - name: PLDM_SENSOR_UNIT_LITERS
      - name: PLDM_SENSOR_UNIT_SIEMENS
      - name: PLDM_SENSOR_UNIT_CORRECTED_ERRORS
      - name: PLDM_SENSOR_UNIT_FOOT_POUNDS
      - name: PLDM_SENSOR_UNIT_LUX
      - name: PLDM_SENSOR_UNIT_INCHES
      - name: PLDM_SENSOR_UNIT_COLOR_TEMPERATURE_DEGRESS_K
      - name: PLDM_SENSOR_UNIT_OVERRUNS_OVERFLOWS
      - name: PLDM_SENSOR_UNIT_VA
      - name: PLDM_SENSOR_UNIT_DAYS
      - name: PLDM_SENSOR_UNIT_GRAVITIES
      - name: PLDM_SENSOR_UNIT_DBC
      - name: PLDM_SENSOR_UNIT_RETRIES
      - name: PLDM_SENSOR_UNIT_SQUARE_METERS
      - name: PLDM_SENSOR_UNIT_DEGRESS_F
      - name: PLDM_SENSOR_UNIT_NEWTONS
      - name: PLDM_SENSOR_UNIT_CUBIC_METERS
      - name: PLDM_SENSOR_UNIT_OHMS
      - name: PLDM_SENSOR_UNIT_PERCENTAGE
      - name: PLDM_SENSOR_UNIT_ERRORS
      - name: PLDM_SENSOR_UNIT_DECIBELS
      - name: PLDM_SENSOR_UNIT_HITS
      - name: PLDM_SENSOR_UNIT_JOULES
      - name: PLDM_SENSOR_UNIT_MINUTES
      - name: PLDM_SENSOR_UNIT_REVOLUTIONS
      - name: PLDM_SENSOR_UNIT_SQUARE_FEET
      - name: PLDM_SENSOR_UNIT_HENRIES
      - name: PLDM_SENSOR_UNIT_DOUBLE_WORDS
      - name: PLDM_SENSOR_UNIT_UNSPECIFIED
      - name: PLDM_SENSOR_UNIT_METERS
      - name: PLDM_SENSOR_UNIT_MESSAGES
      item_type: enum
      name: pldm_sensor_units
      pos:
        line_end: 535
        line_start: 446
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_RATE_UNIT_NONE
        value: '0x0'
      - name: PLDM_RATE_UNIT_PER_MILLI_SECOND
      - name: PLDM_RATE_UNIT_PER_SECOND
      - name: PLDM_RATE_UNIT_PER_MICRO_SECOND
      - name: PLDM_RATE_UNIT_PER_MINUTE
      - name: PLDM_RATE_UNIT_PER_HOUR
      - name: PLDM_RATE_UNIT_PER_DAY
      - name: PLDM_RATE_UNIT_PER_WEEK
      - name: PLDM_RATE_UNIT_PER_MONTH
      - name: PLDM_RATE_UNIT_PER_YEAR
      item_type: enum
      name: pldm_occurrence_rate
      pos:
        line_end: 548
        line_start: 537
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_AVAILABLE
      - name: PLDM_FAILED
      - name: PLDM_UPDATE_IN_PROGRESS
      item_type: enum
      name: pldm_repository_state
      pos:
        line_end: 555
        line_start: 551
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_NO_TIMEOUT
      - name: PLDM_DEFALUT_MINIMUM_TIMEOUT
      item_type: enum
      name: pldm_repository_data_transfer_handler_timeout
      pos:
        line_end: 561
        line_start: 558
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_MESSAGE_TYPE_NOT_CONFIGURED
        value: '0x00'
      - name: PLDM_MESSAGE_TYPE_ASYNCHRONOUS
        value: '0x01'
      - name: PLDM_MESSAGE_TYPE_ASYNCHRONOUS_WITH_HEARTBEAT
        value: '0x03'
      - name: PLDM_MESSAGE_TYPE_SYNCHRONOUS
        value: '0x02'
      item_type: enum
      name: pldm_event_message_type
      pos:
        line_end: 569
        line_start: 564
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_PLATFORM_FILE_CLASS_OEM
        value: '0x00'
      - name: PLDM_PLATFORM_FILE_CLASS_DIAGNOSTIC_LOG
        value: '0x04'
      - name: PLDM_PLATFORM_FILE_CLASS_SERIAL_TX_FIFO
        value: '0x02'
      - name: PLDM_PLATFORM_FILE_CLASS_SERIAL_RX_FIFO
        value: '0x03'
      - name: PLDM_PLATFORM_FILE_CLASS_BOOT_LOG
        value: '0x01'
      - name: PLDM_PLATFORM_FILE_CLASS_CRASH_DUMP_FILE
        value: '0x05'
      - name: PLDM_PLATFORM_FILE_CLASS_SECURITY_LOG
        value: '0x06'
      - name: PLDM_PLATFORM_FILE_CLASS_FRU_DATA_FILE
        value: '0x07'
      - name: PLDM_PLATFORM_FILE_CLASS_TELEMETRY_DATA_FILE
        value: '0x08'
      - name: PLDM_PLATFORM_FILE_CLASS_TELEMETRY_DATA_LOG
        value: '0x09'
      - name: PLDM_PLATFORM_FILE_CLASS_FILE_DIRECTORY
        value: '0xff'
      - name: PLDM_PLATFORM_FILE_CLASS_OTHER_FILE
        value: '0xfe'
      - name: PLDM_PLATFORM_FILE_CLASS_OTHER_LOG
        value: '0xfd'
      item_type: enum
      name: pldm_platform_file_class
      pos:
        line_end: 586
        line_start: 572
        source_file: /src/libpldm/include/libpldm/platform.h
    - enumerators:
      - name: PLDM_PLATFORM_CPER_EVENT_WITH_HEADER
        value: '0x00'
      - name: PLDM_PLATFORM_CPER_EVENT_WITHOUT_HEADER
        value: '0x01'
      item_type: enum
      name: pldm_platform_cper_event_format
      pos:
        line_end: 1282
        line_start: 1279
        source_file: /src/libpldm/include/libpldm/platform.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_SET_STATE_EFFECTER_STATES_REQ_BYTES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '19'
    - item_type: preproc_def
      name: PLDM_GET_STATE_SENSOR_READINGS_REQ_BYTES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_GET_NUMERIC_EFFECTER_VALUE_REQ_BYTES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_GET_STATE_EFFECTER_STATES_REQ_BYTES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_GET_SENSOR_READING_REQ_BYTES
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_SET_EVENT_RECEIVER_REQ_BYTES
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SET_EVENT_RECEIVER_MIN_REQ_BYTES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_SET_STATE_EFFECTER_STATES_RESP_BYTES
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_SET_NUMERIC_EFFECTER_VALUE_RESP_BYTES
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_SET_NUMERIC_EFFECTER_VALUE_MIN_REQ_BYTES
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_GET_PDR_REQ_BYTES
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PLDM_SET_EVENT_RECEIVER_RESP_BYTES
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_GET_EVENT_RECEIVER_MIN_RESP_BYTES
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_EVENT_MESSAGE_BUFFER_SIZE_REQ_BYTES
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_EVENT_MESSAGE_BUFFER_SIZE_RESP_BYTES
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_EVENT_MESSAGE_SUPPORTED_REQ_BYTES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_EVENT_MESSAGE_SUPPORTED_MIN_RESP_BYTES
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_POLL_FOR_PLATFORM_EVENT_MESSAGE_REQ_BYTES
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_POLL_FOR_PLATFORM_EVENT_MESSAGE_MIN_RESP_BYTES
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_POLL_FOR_PLATFORM_EVENT_MESSAGE_RESP_BYTES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PLDM_POLL_FOR_PLATFORM_EVENT_MESSAGE_CHECKSUM_BYTES
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_ID_NULL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_ID_FRAGMENT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_ID_NONE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_ID_ACK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: PLDM_GET_PDR_MIN_RESP_BYTES
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PLDM_GET_NUMERIC_EFFECTER_VALUE_MIN_RESP_BYTES
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_STATE_EFFECTER_STATES_MIN_RESP_BYTES
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_GET_SENSOR_READING_MIN_RESP_BYTES
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_GET_STATE_SENSOR_READINGS_MIN_RESP_BYTES
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_GET_PDR_REPOSITORY_INFO_RESP_BYTES
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '41'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_MIN_REQ_BYTES
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_STATE_SENSOR_STATE_REQ_BYTES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_RESP_BYTES
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_FORMAT_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_EVENT_ID
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_PLATFORM_EVENT_MESSAGE_TRANFER_HANDLE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_MSG_POLL_EVENT_LENGTH
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_PLATFORM_CPER_EVENT_MIN_LENGTH
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_DATA_MIN_LENGTH
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_SENSOR_OP_STATE_DATA_LENGTH
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_STATE_SENSOR_STATE_DATA_LENGTH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_NUMERIC_SENSOR_STATE_MIN_DATA_LENGTH
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_NUMERIC_SENSOR_STATE_MAX_DATA_LENGTH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_NUMERIC_SENSOR_STATE_8BIT_DATA_LENGTH
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_NUMERIC_SENSOR_STATE_16BIT_DATA_LENGTH
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_SENSOR_EVENT_NUMERIC_SENSOR_STATE_32BIT_DATA_LENGTH
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_PDR_REPOSITORY_CHG_EVENT_MIN_LENGTH
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_PDR_REPOSITORY_CHANGE_RECORD_MIN_LENGTH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_SENSOR_PDR_FIXED_LENGTH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '57'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_SENSOR_PDR_VARIED_SENSOR_DATA_SIZE_MIN_LENGTH
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_SENSOR_PDR_VARIED_RANGE_FIELD_MIN_LENGTH
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_SENSOR_PDR_MIN_LENGTH
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: "(PLDM_PDR_NUMERIC_SENSOR_PDR_FIXED_LENGTH +                            \\\n\t
        PLDM_PDR_NUMERIC_SENSOR_PDR_VARIED_SENSOR_DATA_SIZE_MIN_LENGTH +      \\\n\t
        PLDM_PDR_NUMERIC_SENSOR_PDR_VARIED_RANGE_FIELD_MIN_LENGTH)"
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_EFFECTER_PDR_FIXED_LENGTH
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '56'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_EFFECTER_PDR_VARIED_EFFECTER_DATA_SIZE_MIN_LENGTH
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_EFFECTER_PDR_VARIED_RANGE_FIELD_MIN_LENGTH
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_PDR_NUMERIC_EFFECTER_PDR_MIN_LENGTH
      pos:
        line_end: 124
        line_start: 120
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: "(PLDM_PDR_NUMERIC_EFFECTER_PDR_FIXED_LENGTH +                          \\\n\t
        PLDM_PDR_NUMERIC_EFFECTER_PDR_VARIED_EFFECTER_DATA_SIZE_MIN_LENGTH +  \\\n\t
        PLDM_PDR_NUMERIC_EFFECTER_PDR_VARIED_RANGE_FIELD_MIN_LENGTH)"
    - item_type: preproc_def
      name: PLDM_PDR_ENTITY_AUXILIARY_NAME_PDR_MIN_LENGTH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_PDR_FILE_DESCRIPTOR_PDR_MIN_LENGTH
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '36'
    - item_type: preproc_def
      name: PLDM_INVALID_EFFECTER_ID
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: PLDM_STR_UTF_8_MAX_LEN
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_STR_UTF_16_MAX_LEN
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PLDM_GET_EFFECTER_STATE_FIELD_SIZE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MIN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MAX
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_PLATFORM_ENTITY_SYSTEM_CONTAINER_ID
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PLDM_RANGE_FIELD_FORMAT_MAX
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: PLDM_RANGE_FIELD_FORMAT_REAL32
    - item_type: preproc_def
      name: PLDM_SENSOR_DATA_SIZE_MAX
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: PLDM_SENSOR_DATA_SIZE_SINT32
    - item_type: preproc_def
      name: PLDM_SET_STATE_EFFECTER_STATES_MIN_REQ_BYTES
      pos:
        line_end: 1062
        line_start: 1061
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_SENSOR_EVENT_MESSAGE_NO_CHANGE
      pos:
        line_end: 1391
        line_start: 1390
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_SENSOR_EVENT_MESSAGE_DISABLE_EVENTS
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_SENSOR_EVENT_MESSAGE_ENABLE_EVENTS
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_SENSOR_EVENT_MESSAGE_ENABLE_OP_EVENTS_ONLY
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_SENSOR_EVENT_MESSAGE_ENABLE_STATE_EVENTS_ONLY
      pos:
        line_end: 1395
        line_start: 1394
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_NUMERIC_SENSOR_ENABLE_REQ_BYTES
      pos:
        line_end: 1407
        line_start: 1406
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PLDM_PLATFORM_SET_NUMERIC_SENSOR_ENABLE_RESP_BYTES
      pos:
        line_end: 1408
        line_start: 1407
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_SET_STATE_SENSOR_ENABLES_MAX_COUNT
      pos:
        line_end: 1419
        line_start: 1418
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PLDM_PLATFORM_REDFISH_RESOURCE_PDR_MIN_LENGTH
      pos:
        line_end: 2867
        line_start: 2866
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '41'
    - item_type: preproc_def
      name: PLDM_PLATFORM_REDFISH_ACTION_PDR_MIN_LENGTH
      pos:
        line_end: 3126
        line_start: 3125
        source_file: /src/libpldm/include/libpldm/platform.h
      type_or_value: '14'
    structs:
    - fields:
      - name: record_handle
        type: uint32_t
      - name: version
        type: uint8_t
      - name: type
        type: uint8_t
      - name: record_change_num
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: pldm_pdr_hdr
      pos:
        line_end: 598
        line_start: 592
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: validity
        type: uint8_t
      - name: tid
        type: uint8_t
      - name: container_id
        type: uint16_t
      - name: terminus_locator_type
        type: uint8_t
      - name: terminus_locator_value_size
        type: uint8_t
      - name: terminus_locator_value[1]
        type: uint8_t
      item_type: struct
      name: pldm_terminus_locator_pdr
      pos:
        line_end: 613
        line_start: 604
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: sensor_id
        type: uint16_t
      - name: sensor_count
        type: uint8_t
      - name: names[1]
        type: uint8_t
      item_type: struct
      name: pldm_sensor_auxiliary_names_pdr
      pos:
        line_end: 625
        line_start: 619
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: eid
        type: uint8_t
      item_type: struct
      name: pldm_terminus_locator_type_mctp_eid
      pos:
        line_end: 634
        line_start: 632
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: container_id
        type: uint16_t
      - name: association_type
        type: uint8_t
      - name: container
        type: pldm_entity
      - name: num_children
        type: uint8_t
      - name: children[1]
        type: pldm_entity
      item_type: struct
      name: pldm_pdr_entity_association
      pos:
        line_end: 646
        line_start: 640
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: terminus_handle
        type: uint16_t
      - name: fru_rsi
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: container_id
        type: uint16_t
      item_type: struct
      name: pldm_pdr_fru_record_set
      pos:
        line_end: 661
        line_start: 652
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: sensor_id
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: entity_instance
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: sensor_init
        type: uint8_t
      - name: sensor_auxiliary_names_pdr
        type: bool8_t
      - name: composite_sensor_count
        type: uint8_t
      - name: possible_states[1]
        type: uint8_t
      item_type: struct
      name: pldm_state_sensor_pdr
      pos:
        line_end: 678
        line_start: 667
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: state_set_id
        type: uint16_t
      - name: possible_states_size
        type: uint8_t
      - name: states[1]
        type: bitfield8_t
      item_type: struct
      name: state_sensor_possible_states
      pos:
        line_end: 688
        line_start: 684
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: effecter_id
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: entity_instance
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: effecter_semantic_id
        type: uint16_t
      - name: effecter_init
        type: uint8_t
      - name: has_description_pdr
        type: bool8_t
      - name: composite_effecter_count
        type: uint8_t
      - name: possible_states[1]
        type: uint8_t
      item_type: struct
      name: pldm_state_effecter_pdr
      pos:
        line_end: 706
        line_start: 694
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: sensor_id
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: entity_instance
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: sensor_name_length
        type: uint8_t
      - name: base_unit
        type: uint8_t
      - name: unit_modifier
        type: int8_t
      - name: occurrence_rate
        type: uint8_t
      - name: range_field_support
        type: bitfield8_t
      - name: warning_high
        type: int32_t
      - name: warning_low
        type: int32_t
      - name: critical_high
        type: int32_t
      - name: critical_low
        type: int32_t
      - name: fatal_high
        type: int32_t
      - name: fatal_low
        type: int32_t
      - name: sensor_name[1]
        type: uint8_t
      item_type: struct
      name: pldm_compact_numeric_sensor_pdr
      pos:
        line_end: 731
        line_start: 712
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: effecter_id
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: entity_instance
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: effecter_semantic_id
        type: uint16_t
      - name: effecter_init
        type: uint8_t
      - name: effecter_auxiliary_names
        type: bool8_t
      - name: base_unit
        type: uint8_t
      - name: unit_modifier
        type: int8_t
      - name: rate_unit
        type: uint8_t
      - name: base_oem_unit_handle
        type: uint8_t
      - name: aux_unit
        type: uint8_t
      - name: aux_unit_modifier
        type: int8_t
      - name: aux_rate_unit
        type: uint8_t
      - name: aux_oem_unit_handle
        type: uint8_t
      - name: is_linear
        type: bool8_t
      - name: effecter_data_size
        type: uint8_t
      - name: resolution
        type: real32_t
      - name: offset
        type: real32_t
      - name: accuracy
        type: uint16_t
      - name: plus_tolerance
        type: uint8_t
      - name: minus_tolerance
        type: uint8_t
      - name: state_transition_interval
        type: real32_t
      - name: transition_interval
        type: real32_t
      - name: max_settable
        type: union_effecter_data_size
      - name: min_settable
        type: union_effecter_data_size
      - name: range_field_format
        type: uint8_t
      - name: range_field_support
        type: bitfield8_t
      - name: nominal_value
        type: union_range_field_format
      - name: normal_max
        type: union_range_field_format
      - name: normal_min
        type: union_range_field_format
      - name: rated_max
        type: union_range_field_format
      - name: rated_min
        type: union_range_field_format
      item_type: struct
      name: pldm_numeric_effecter_value_pdr
      pos:
        line_end: 827
        line_start: 791
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: record_handle
        type: uint32_t
      - name: version
        type: uint8_t
      - name: type
        type: uint8_t
      - name: record_change_num
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: pldm_value_pdr_hdr
      pos:
        line_end: 855
        line_start: 849
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_value_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: sensor_id
        type: uint16_t
      - name: entity_type
        type: uint16_t
      - name: container_id
        type: uint16_t
      - name: sensor_init
        type: uint8_t
      - name: sensor_auxiliary_names_pdr
        type: bool8_t
      - name: base_unit
        type: uint8_t
      - name: unit_modifier
        type: int8_t
      - name: rate_unit
        type: uint8_t
      - name: base_oem_unit_handle
        type: uint8_t
      - name: aux_unit
        type: uint8_t
      - name: aux_unit_modifier
        type: int8_t
      - name: aux_rate_unit
        type: uint8_t
      - name: rel
        type: uint8_t
      - name: aux_oem_unit_handle
        type: uint8_t
      - name: is_linear
        type: bool8_t
      - name: sensor_data_size
        type: uint8_t
      - name: resolution
        type: real32_t
      - name: offset
        type: real32_t
      - name: accuracy
        type: uint16_t
      - name: plus_tolerance
        type: uint8_t
      - name: minus_tolerance
        type: uint8_t
      - name: hysteresis
        type: union_sensor_data_size
      - name: supported_thresholds
        type: bitfield8_t
      - name: threshold_and_hysteresis_volatility
        type: bitfield8_t
      - name: state_transition_interval
        type: real32_t
      - name: update_interval
        type: real32_t
      - name: max_readable
        type: union_sensor_data_size
      - name: min_readable
        type: union_sensor_data_size
      - name: range_field_format
        type: uint8_t
      - name: range_field_support
        type: bitfield8_t
      - name: nominal_value
        type: union_range_field_format
      - name: normal_max
        type: union_range_field_format
      - name: normal_min
        type: union_range_field_format
      - name: warning_high
        type: union_range_field_format
      - name: warning_low
        type: union_range_field_format
      - name: critical_high
        type: union_range_field_format
      - name: critical_low
        type: union_range_field_format
      - name: fatal_high
        type: union_range_field_format
      - name: fatal_low
        type: union_range_field_format
      item_type: struct
      name: pldm_numeric_sensor_value_pdr
      pos:
        line_end: 908
        line_start: 862
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: '*tag'
        type: char
      - name: '*name'
        type: pldm_utf16be
      item_type: struct
      name: pldm_entity_auxiliary_name
      pos:
        line_end: 920
        line_start: 912
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_value_pdr_hdr
      - name: container
        type: pldm_entity
      - name: shared_name_count
        type: uint8_t
      - name: name_string_count
        type: uint8_t
      - name: '*names'
        type: struct pldm_entity_auxiliary_name
      - name: auxiliary_name_data_size
        type: size_t
      item_type: struct
      name: pldm_entity_auxiliary_names_pdr
      pos:
        line_end: 946
        line_start: 922
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: state_set_id
        type: uint16_t
      - name: possible_states_size
        type: uint8_t
      - name: states[1]
        type: bitfield8_t
      item_type: struct
      name: state_effecter_possible_states
      pos:
        line_end: 956
        line_start: 952
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: effecter_id
        type: uint16_t
      - name: effecter_count
        type: uint8_t
      - name: effecter_names[1]
        type: uint8_t
      item_type: struct
      name: pldm_effecter_aux_name_pdr
      pos:
        line_end: 968
        line_start: 962
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_value_pdr_hdr
      - name: terminus_handle
        type: uint16_t
      - name: file_identifier
        type: uint16_t
      - name: container
        type: pldm_entity
      - name: superior_directory_file_identifier
        type: uint16_t
      - name: file_classification
        type: uint8_t
      - name: oem_file_classification
        type: uint8_t
      - name: file_capabilities
        type: bitfield16_t
      - name: file_version
        type: ver32_t
      - name: file_maximum_size
        type: uint32_t
      - name: file_maximum_file_descriptor_count
        type: uint8_t
      - name: file_name
        type: struct variable_field
      - name: oem_file_classification_name
        type: struct variable_field
      item_type: struct
      name: pldm_platform_file_descriptor_pdr
      pos:
        line_end: 990
        line_start: 976
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: set_request
        type: uint8_t
      - name: effecter_state
        type: uint8_t
      item_type: struct
      name: state_field_for_state_effecter_set
      pos:
        line_end: 1025
        line_start: 1022
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_op_state
        type: uint8_t
      - name: present_state
        type: uint8_t
      - name: previous_state
        type: uint8_t
      - name: event_state
        type: uint8_t
      item_type: struct
      name: state_field_for_get_state_sensor_readings
      pos:
        line_end: 1039
        line_start: 1031
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: effecter_op_state
        type: uint8_t
      - name: pending_state
        type: uint8_t
      - name: present_state
        type: uint8_t
      item_type: struct
      name: state_field_for_get_state_effecter_states
      pos:
        line_end: 1049
        line_start: 1045
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: effecter_id
        type: uint16_t
      - name: comp_effecter_count
        type: uint8_t
      - name: field[8]
        type: set_effecter_state_field
      item_type: struct
      name: pldm_set_state_effecter_states_req
      pos:
        line_end: 1059
        line_start: 1055
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: repository_state
        type: uint8_t
      - name: update_time[PLDM_TIMESTAMP104_SIZE]
        type: uint8_t
      - name: oem_update_time[PLDM_TIMESTAMP104_SIZE]
        type: uint8_t
      - name: record_count
        type: uint32_t
      - name: repository_size
        type: uint32_t
      - name: largest_record_size
        type: uint32_t
      - name: data_transfer_handle_timeout
        type: uint8_t
      item_type: struct
      name: pldm_pdr_repository_info_resp
      pos:
        line_end: 1076
        line_start: 1067
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_record_handle
        type: uint32_t
      - name: next_data_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: response_count
        type: uint16_t
      - name: record_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_pdr_resp
      pos:
        line_end: 1091
        line_start: 1084
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: record_handle
        type: uint32_t
      - name: data_transfer_handle
        type: uint32_t
      - name: transfer_op_flag
        type: uint8_t
      - name: request_count
        type: uint16_t
      - name: record_change_number
        type: uint16_t
      item_type: struct
      name: pldm_get_pdr_req
      pos:
        line_end: 1103
        line_start: 1097
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: event_message_global_enable
        type: uint8_t
      - name: transport_protocol_type
        type: uint8_t
      - name: event_receiver_address_info
        type: uint8_t
      - name: heartbeat_timer
        type: uint16_t
      item_type: struct
      name: pldm_set_event_receiver_req
      pos:
        line_end: 1115
        line_start: 1110
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: transport_protocol_type
        type: uint8_t
      - name: event_receiver_address
        type: "union {\n\t\tuint8_t mctp_eid;\n\t\tstruct variable_field vendor_specific;\n\t}"
      item_type: struct
      name: pldm_get_event_receiver_resp
      pos:
        line_end: 1128
        line_start: 1121
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: event_receiver_max_buffer_size
        type: uint16_t
      item_type: struct
      name: pldm_event_message_buffer_size_req
      pos:
        line_end: 1136
        line_start: 1134
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: terminus_max_buffer_size
        type: uint16_t
      item_type: struct
      name: pldm_event_message_buffer_size_resp
      pos:
        line_end: 1145
        line_start: 1142
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: format_version
        type: uint8_t
      item_type: struct
      name: pldm_event_message_supported_req
      pos:
        line_end: 1153
        line_start: 1151
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: synchrony_configuration
        type: uint8_t
      - name: synchrony_configuration_supported
        type: bitfield8_t
      - name: number_event_class_returned
        type: uint8_t
      - name: event_class[1]
        type: uint8_t
      item_type: struct
      name: pldm_event_message_supported_resp
      pos:
        line_end: 1165
        line_start: 1159
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: effecter_id
        type: uint16_t
      - name: effecter_data_size
        type: uint8_t
      - name: effecter_value[1]
        type: uint8_t
      item_type: struct
      name: pldm_set_numeric_effecter_value_req
      pos:
        line_end: 1175
        line_start: 1171
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_id
        type: uint16_t
      - name: sensor_rearm
        type: bitfield8_t
      - name: reserved
        type: uint8_t
      item_type: struct
      name: pldm_get_state_sensor_readings_req
      pos:
        line_end: 1185
        line_start: 1181
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: comp_sensor_count
        type: uint8_t
      - name: field[1]
        type: get_sensor_state_field
      item_type: struct
      name: pldm_get_state_sensor_readings_resp
      pos:
        line_end: 1195
        line_start: 1191
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: effecter_id
        type: uint16_t
      item_type: struct
      name: pldm_get_state_effecter_states_req
      pos:
        line_end: 1203
        line_start: 1201
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: comp_effecter_count
        type: uint8_t
      - name: field[PLDM_GET_EFFECTER_STATE_FIELD_COUNT_MAX]
        type: get_effecter_state_field
      item_type: struct
      name: pldm_get_state_effecter_states_resp
      pos:
        line_end: 1213
        line_start: 1209
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_id
        type: uint16_t
      - name: sensor_event_class_type
        type: uint8_t
      - name: event_class[1]
        type: uint8_t
      item_type: struct
      name: pldm_sensor_event_data
      pos:
        line_end: 1223
        line_start: 1219
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_offset
        type: uint8_t
      - name: event_state
        type: uint8_t
      - name: previous_event_state
        type: uint8_t
      item_type: struct
      name: pldm_sensor_event_state_sensor_state
      pos:
        line_end: 1233
        line_start: 1229
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: event_state
        type: uint8_t
      - name: previous_event_state
        type: uint8_t
      - name: sensor_data_size
        type: uint8_t
      - name: present_reading[1]
        type: uint8_t
      item_type: struct
      name: pldm_sensor_event_numeric_sensor_state
      pos:
        line_end: 1244
        line_start: 1239
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: present_op_state
        type: uint8_t
      - name: previous_op_state
        type: uint8_t
      item_type: struct
      name: pldm_sensor_event_sensor_op_state
      pos:
        line_end: 1253
        line_start: 1250
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: format_version
        type: uint8_t
      - name: event_id
        type: uint16_t
      - name: data_transfer_handle
        type: uint32_t
      item_type: struct
      name: pldm_message_poll_event
      pos:
        line_end: 1263
        line_start: 1259
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: format_version
        type: uint8_t
      - name: format_type
        type: uint8_t
      - name: event_data_length
        type: uint16_t
      item_type: struct
      name: pldm_platform_cper_event
      pos:
        line_end: 1276
        line_start: 1269
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: format_version
        type: uint8_t
      - name: tid
        type: uint8_t
      - name: event_class
        type: uint8_t
      - name: event_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_platform_event_message_req
      pos:
        line_end: 1293
        line_start: 1288
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: format_version
        type: uint8_t
      - name: transfer_operation_flag
        type: uint8_t
      - name: data_transfer_handle
        type: uint32_t
      - name: event_id_to_acknowledge
        type: uint16_t
      item_type: struct
      name: pldm_poll_for_platform_event_message_req
      pos:
        line_end: 1304
        line_start: 1299
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: tid
        type: uint8_t
      - name: event_id
        type: uint16_t
      item_type: struct
      name: pldm_poll_for_platform_event_message_min_resp
      pos:
        line_end: 1314
        line_start: 1310
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: platform_event_status
        type: uint8_t
      item_type: struct
      name: pldm_platform_event_message_resp
      pos:
        line_end: 1323
        line_start: 1320
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: event_data_format
        type: uint8_t
      - name: number_of_change_records
        type: uint8_t
      - name: change_records[1]
        type: uint8_t
      item_type: struct
      name: pldm_pdr_repository_chg_event_data
      pos:
        line_end: 1333
        line_start: 1329
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: event_data_operation
        type: uint8_t
      - name: number_of_change_entries
        type: uint8_t
      - name: change_entry[1]
        type: uint32_t
      item_type: struct
      name: pldm_pdr_repository_change_record_data
      pos:
        line_end: 1344
        line_start: 1340
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: effecter_id
        type: uint16_t
      item_type: struct
      name: pldm_get_numeric_effecter_value_req
      pos:
        line_end: 1352
        line_start: 1350
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: effecter_data_size
        type: uint8_t
      - name: effecter_oper_state
        type: uint8_t
      - name: pending_and_present_values[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_numeric_effecter_value_resp
      pos:
        line_end: 1363
        line_start: 1358
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_id
        type: uint16_t
      - name: rearm_event_state
        type: bool8_t
      item_type: struct
      name: pldm_get_sensor_reading_req
      pos:
        line_end: 1372
        line_start: 1369
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: sensor_data_size
        type: uint8_t
      - name: sensor_operational_state
        type: uint8_t
      - name: sensor_event_message_enable
        type: uint8_t
      - name: present_state
        type: uint8_t
      - name: previous_state
        type: uint8_t
      - name: event_state
        type: uint8_t
      - name: present_reading[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_sensor_reading_resp
      pos:
        line_end: 1387
        line_start: 1378
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_id
        type: uint16_t
      - name: sensor_operational_state
        type: uint8_t
      - name: sensor_event_message_enable
        type: uint8_t
      item_type: struct
      name: pldm_platform_set_numeric_sensor_enable_req
      pos:
        line_end: 1404
        line_start: 1400
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: op_state
        type: enum pldm_set_sensor_operational_state
      - name: event_enable
        type: enum pldm_sensor_event_message_enable
      item_type: struct
      name: pldm_set_state_sensor_enable_field
      pos:
        line_end: 1416
        line_start: 1413
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: sensor_id
        type: uint16_t
      - name: field_count
        type: uint8_t
      - name: fields[PLDM_SET_STATE_SENSOR_ENABLES_MAX_COUNT]
        type: struct pldm_set_state_sensor_enable_field
      item_type: struct
      name: pldm_set_state_sensor_enables_req
      pos:
        line_end: 1429
        line_start: 1424
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_value_pdr_hdr
      - name: resource_id
        type: uint32_t
      - name: resource_flags
        type: bitfield8_t
      - name: containing_resource_id
        type: uint32_t
      - name: proposed_containing_resource_name
        type: struct variable_field
      - name: sub_uri
        type: struct variable_field
      - name: additional_resource_id_count
        type: uint16_t
      - name: additional_resources
        type: struct variable_field
      - name: major_schema_version
        type: ver32_t
      - name: major_schema_dictionary_length_bytes
        type: uint16_t
      - name: major_schema_dictionary_signature
        type: uint32_t
      - name: major_schema_name
        type: struct variable_field
      - name: oem_count
        type: uint16_t
      - name: oem_names
        type: struct variable_field
      item_type: struct
      name: pldm_platform_redfish_resource_pdr
      pos:
        line_end: 2857
        line_start: 2842
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: id
        type: uint32_t
      - name: sub_uri
        type: struct variable_field
      item_type: struct
      name: pldm_platform_redfish_resource_pdr_additional_resource
      pos:
        line_end: 2921
        line_start: 2918
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_platform_redfish_resource_pdr_additional_resource_iter
      pos:
        line_end: 2926
        line_start: 2923
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: name
        type: struct variable_field
      item_type: struct
      name: pldm_platform_redfish_resource_pdr_oem_name
      pos:
        line_end: 3020
        line_start: 3018
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_platform_redfish_resource_pdr_oem_name_iter
      pos:
        line_end: 3025
        line_start: 3022
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: hdr
        type: struct pldm_value_pdr_hdr
      - name: action_pdr_index
        type: uint8_t
      - name: related_resource_count
        type: uint16_t
      - name: related_resources
        type: struct variable_field
      - name: action_count
        type: uint8_t
      - name: actions
        type: struct variable_field
      item_type: struct
      name: pldm_platform_redfish_action_pdr
      pos:
        line_end: 3119
        line_start: 3112
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_platform_redfish_action_pdr_related_resource_id_iter
      pos:
        line_end: 3175
        line_start: 3172
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: name
        type: struct variable_field
      - name: path
        type: struct variable_field
      item_type: struct
      name: pldm_platform_redfish_action_pdr_action
      pos:
        line_end: 3267
        line_start: 3264
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: entries
        type: size_t
      item_type: struct
      name: pldm_platform_redfish_action_pdr_action_iter
      pos:
        line_end: 3272
        line_start: 3269
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: current_states
        type: struct variable_field
      - name: total_count
        type: uint8_t
      - name: current_index
        type: uint8_t
      item_type: struct
      name: pldm_platform_state_effecter_pdr_iter
      pos:
        line_end: 3373
        line_start: 3368
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: field
        type: struct variable_field
      - name: total_count
        type: uint8_t
      - name: current_index
        type: uint8_t
      item_type: struct
      name: pldm_platform_state_effecter_pdr_possible_states_iter
      pos:
        line_end: 3473
        line_start: 3469
        source_file: /src/libpldm/include/libpldm/platform.h
    typedefs:
    - item_type: typedef
      name: pldm_utf16be
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/libpldm/include/libpldm/platform.h
      type: char16_t
    union:
    - fields:
      - name: value_u8
        type: uint8_t
      - name: value_s8
        type: int8_t
      - name: value_u16
        type: uint16_t
      - name: value_s16
        type: int16_t
      - name: value_u32
        type: uint32_t
      - name: value_s32
        type: int32_t
      item_type: union
      name: union_effecter_data_size
      pos:
        line_end: 769
        line_start: 762
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: value_u8
        type: uint8_t
      - name: value_s8
        type: int8_t
      - name: value_u16
        type: uint16_t
      - name: value_s16
        type: int16_t
      - name: value_u32
        type: uint32_t
      - name: value_s32
        type: int32_t
      - name: value_f32
        type: real32_t
      item_type: union
      name: union_range_field_format
      pos:
        line_end: 785
        line_start: 777
        source_file: /src/libpldm/include/libpldm/platform.h
    - fields:
      - name: value_u8
        type: uint8_t
      - name: value_s8
        type: int8_t
      - name: value_u16
        type: uint16_t
      - name: value_s16
        type: int16_t
      - name: value_u32
        type: uint32_t
      - name: value_s32
        type: int32_t
      item_type: union
      name: union_sensor_data_size
      pos:
        line_end: 842
        line_start: 835
        source_file: /src/libpldm/include/libpldm/platform.h
- function_names: []
  source_file: /src/libpldm/include/libpldm/control.h
  types:
    enum:
    - enumerators:
      - name: PLDM_CONTROL_INVALID_DATA_TRANSFER_HANDLE
        value: '0x80'
      - name: PLDM_CONTROL_INVALID_PLDM_VERSION_IN_REQUEST_DATA
        value: '0x84'
      - name: PLDM_CONTROL_INVALID_TRANSFER_OPERATION_FLAG
        value: '0x81'
      - name: PLDM_CONTROL_INVALID_PLDM_TYPE_IN_REQUEST_DATA
        value: '0x83'
      item_type: enum
      name: pldm_control_completion_codes
      pos:
        line_end: 14
        line_start: 9
        source_file: /src/libpldm/include/libpldm/control.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pldm_bios_table_iter_attr_entry_value
  - pldm_bios_table_iter_string_entry_value
  - pldm_bios_table_iter_attr_value_entry_value
  source_file: /src/libpldm/include/libpldm/bios_table.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: name_handle
        type: uint16_t
      - name: read_only
        type: bool
      - name: pv_num
        type: uint8_t
      - name: '*pv_handle'
        type: uint16_t
      - name: def_num
        type: uint8_t
      - name: '*def_index'
        type: uint8_t
      item_type: struct
      name: pldm_bios_table_attr_entry_enum_info
      pos:
        line_end: 211
        line_start: 204
        source_file: /src/libpldm/include/libpldm/bios_table.h
    - fields:
      - name: name_handle
        type: uint16_t
      - name: read_only
        type: bool
      - name: string_type
        type: uint8_t
      - name: min_length
        type: uint16_t
      - name: max_length
        type: uint16_t
      - name: def_length
        type: uint16_t
      - name: '*def_string'
        type: char
      item_type: struct
      name: pldm_bios_table_attr_entry_string_info
      pos:
        line_end: 300
        line_start: 292
        source_file: /src/libpldm/include/libpldm/bios_table.h
    - fields:
      - name: name_handle
        type: uint16_t
      - name: read_only
        type: bool
      - name: lower_bound
        type: uint64_t
      - name: upper_bound
        type: uint64_t
      - name: scalar_increment
        type: uint32_t
      - name: default_value
        type: uint64_t
      item_type: struct
      name: pldm_bios_table_attr_entry_integer_info
      pos:
        line_end: 391
        line_start: 383
        source_file: /src/libpldm/include/libpldm/bios_table.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/pldm.h
  types:
    enum:
    - enumerators:
      - name: PLDM_REQUESTER_SUCCESS
        value: '0'
      - name: PLDM_REQUESTER_NOT_PLDM_MSG
        value: '-2'
      - name: PLDM_REQUESTER_OPEN_FAIL
        value: '-1'
      - name: PLDM_REQUESTER_NOT_REQ_MSG
        value: '-4'
      - name: PLDM_REQUESTER_NOT_RESP_MSG
        value: '-3'
      - name: PLDM_REQUESTER_RESP_MSG_TOO_SMALL
        value: '-5'
      - name: PLDM_REQUESTER_INSTANCE_ID_MISMATCH
        value: '-6'
      - name: PLDM_REQUESTER_SEND_FAIL
        value: '-7'
      - name: PLDM_REQUESTER_RECV_FAIL
        value: '-8'
      - name: PLDM_REQUESTER_INVALID_RECV_LEN
        value: '-9'
      - name: PLDM_REQUESTER_POLL_FAIL
        value: '-12'
      - name: PLDM_REQUESTER_INVALID_SETUP
        value: '-11'
      - name: PLDM_REQUESTER_TRANSPORT_BUSY
        value: '-13'
      - name: PLDM_REQUESTER_SETUP_FAIL
        value: '-10'
      item_type: enum
      name: pldm_requester_error_codes
      pos:
        line_end: 28
        line_start: 13
        source_file: /src/libpldm/include/libpldm/pldm.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: mctp_eid_t
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/libpldm/include/libpldm/pldm.h
      type: uint8_t
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/pldm_types.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bit0
        type: uint8_t
      - name: bit1
        type: uint8_t
      - name: bit2
        type: uint8_t
      - name: bit3
        type: uint8_t
      - name: bit4
        type: uint8_t
      - name: bit5
        type: uint8_t
      - name: bit6
        type: uint8_t
      - name: bit7
        type: uint8_t
      item_type: struct
      name: bits8
      pos:
        line_end: 22
        line_start: 13
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: alpha
        type: uint8_t
      - name: update
        type: uint8_t
      - name: minor
        type: uint8_t
      - name: major
        type: uint8_t
      item_type: struct
      name: pldm_version
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: bit0
        type: uint8_t
      - name: bit1
        type: uint8_t
      - name: bit2
        type: uint8_t
      - name: bit3
        type: uint8_t
      - name: bit4
        type: uint8_t
      - name: bit5
        type: uint8_t
      - name: bit6
        type: uint8_t
      - name: bit7
        type: uint8_t
      - name: bit8
        type: uint8_t
      - name: bit9
        type: uint8_t
      - name: bit10
        type: uint8_t
      - name: bit11
        type: uint8_t
      - name: bit12
        type: uint8_t
      - name: bit13
        type: uint8_t
      - name: bit14
        type: uint8_t
      - name: bit15
        type: uint8_t
      item_type: struct
      name: bits16
      pos:
        line_end: 57
        line_start: 40
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: bit0
        type: uint8_t
      - name: bit1
        type: uint8_t
      - name: bit2
        type: uint8_t
      - name: bit3
        type: uint8_t
      - name: bit4
        type: uint8_t
      - name: bit5
        type: uint8_t
      - name: bit6
        type: uint8_t
      - name: bit7
        type: uint8_t
      - name: bit8
        type: uint8_t
      - name: bit9
        type: uint8_t
      - name: bit10
        type: uint8_t
      - name: bit11
        type: uint8_t
      - name: bit12
        type: uint8_t
      - name: bit13
        type: uint8_t
      - name: bit14
        type: uint8_t
      - name: bit15
        type: uint8_t
      - name: bit16
        type: uint8_t
      - name: bit17
        type: uint8_t
      - name: bit18
        type: uint8_t
      - name: bit19
        type: uint8_t
      - name: bit20
        type: uint8_t
      - name: bit21
        type: uint8_t
      - name: bit22
        type: uint8_t
      - name: bit23
        type: uint8_t
      - name: bit24
        type: uint8_t
      - name: bit25
        type: uint8_t
      - name: bit26
        type: uint8_t
      - name: bit27
        type: uint8_t
      - name: bit28
        type: uint8_t
      - name: bit29
        type: uint8_t
      - name: bit30
        type: uint8_t
      - name: bit31
        type: uint8_t
      item_type: struct
      name: bits32
      pos:
        line_end: 95
        line_start: 62
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: bit0
        type: uint8_t
      - name: bit1
        type: uint8_t
      - name: bit2
        type: uint8_t
      - name: bit3
        type: uint8_t
      - name: bit4
        type: uint8_t
      - name: bit5
        type: uint8_t
      - name: bit6
        type: uint8_t
      - name: bit7
        type: uint8_t
      - name: bit8
        type: uint8_t
      - name: bit9
        type: uint8_t
      - name: bit10
        type: uint8_t
      - name: bit11
        type: uint8_t
      - name: bit12
        type: uint8_t
      - name: bit13
        type: uint8_t
      - name: bit14
        type: uint8_t
      - name: bit15
        type: uint8_t
      - name: bit16
        type: uint8_t
      - name: bit17
        type: uint8_t
      - name: bit18
        type: uint8_t
      - name: bit19
        type: uint8_t
      - name: bit20
        type: uint8_t
      - name: bit21
        type: uint8_t
      - name: bit22
        type: uint8_t
      - name: bit23
        type: uint8_t
      - name: bit24
        type: uint8_t
      - name: bit25
        type: uint8_t
      - name: bit26
        type: uint8_t
      - name: bit27
        type: uint8_t
      - name: bit28
        type: uint8_t
      - name: bit29
        type: uint8_t
      - name: bit30
        type: uint8_t
      - name: bit31
        type: uint8_t
      - name: bit32
        type: uint8_t
      - name: bit33
        type: uint8_t
      - name: bit34
        type: uint8_t
      - name: bit35
        type: uint8_t
      - name: bit36
        type: uint8_t
      - name: bit37
        type: uint8_t
      - name: bit38
        type: uint8_t
      - name: bit39
        type: uint8_t
      - name: bit40
        type: uint8_t
      - name: bit41
        type: uint8_t
      - name: bit42
        type: uint8_t
      - name: bit43
        type: uint8_t
      - name: bit44
        type: uint8_t
      - name: bit45
        type: uint8_t
      - name: bit46
        type: uint8_t
      - name: bit47
        type: uint8_t
      - name: bit48
        type: uint8_t
      - name: bit49
        type: uint8_t
      - name: bit50
        type: uint8_t
      - name: bit51
        type: uint8_t
      - name: bit52
        type: uint8_t
      - name: bit53
        type: uint8_t
      - name: bit54
        type: uint8_t
      - name: bit55
        type: uint8_t
      - name: bit56
        type: uint8_t
      - name: bit57
        type: uint8_t
      - name: bit58
        type: uint8_t
      - name: bit59
        type: uint8_t
      - name: bit60
        type: uint8_t
      - name: bit61
        type: uint8_t
      - name: bit62
        type: uint8_t
      - name: bit63
        type: uint8_t
      item_type: struct
      name: bits64
      pos:
        line_end: 165
        line_start: 100
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: '*ptr'
        type: uint8_t
      - name: length
        type: size_t
      item_type: struct
      name: variable_field
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    typedefs:
    - item_type: typedef
      name: bool8_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/libpldm/include/libpldm/pldm_types.h
      type: uint8_t
    - item_type: typedef
      name: real32_t
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/libpldm/include/libpldm/pldm_types.h
      type: float
    - item_type: typedef
      name: pldm_uuid[16]
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/libpldm/include/libpldm/pldm_types.h
      type: uint8_t
    union:
    - fields:
      - name: byte
        type: uint8_t
      - name: bits
        type: "struct bits8 {\n\t\tuint8_t bit0 : 1;\n\t\tuint8_t bit1 : 1;\n\t\tuint8_t
          bit2 : 1;\n\t\tuint8_t bit3 : 1;\n\t\tuint8_t bit4 : 1;\n\t\tuint8_t bit5
          : 1;\n\t\tuint8_t bit6 : 1;\n\t\tuint8_t bit7 : 1;\n\t} __attribute__((packed))"
      item_type: union
      name: bitfield8_t
      pos:
        line_end: 23
        line_start: 11
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: value
        type: uint16_t
      - name: bits
        type: "struct bits16 {\n\t\tuint8_t bit0 : 1;\n\t\tuint8_t bit1 : 1;\n\t\tuint8_t
          bit2 : 1;\n\t\tuint8_t bit3 : 1;\n\t\tuint8_t bit4 : 1;\n\t\tuint8_t bit5
          : 1;\n\t\tuint8_t bit6 : 1;\n\t\tuint8_t bit7 : 1;\n\t\tuint8_t bit8 : 1;\n\t\tuint8_t
          bit9 : 1;\n\t\tuint8_t bit10 : 1;\n\t\tuint8_t bit11 : 1;\n\t\tuint8_t bit12
          : 1;\n\t\tuint8_t bit13 : 1;\n\t\tuint8_t bit14 : 1;\n\t\tuint8_t bit15
          : 1;\n\t} __attribute__((packed))"
      item_type: union
      name: bitfield16_t
      pos:
        line_end: 58
        line_start: 38
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: value
        type: uint32_t
      - name: bits
        type: "struct bits32 {\n\t\tuint8_t bit0 : 1;\n\t\tuint8_t bit1 : 1;\n\t\tuint8_t
          bit2 : 1;\n\t\tuint8_t bit3 : 1;\n\t\tuint8_t bit4 : 1;\n\t\tuint8_t bit5
          : 1;\n\t\tuint8_t bit6 : 1;\n\t\tuint8_t bit7 : 1;\n\t\tuint8_t bit8 : 1;\n\t\tuint8_t
          bit9 : 1;\n\t\tuint8_t bit10 : 1;\n\t\tuint8_t bit11 : 1;\n\t\tuint8_t bit12
          : 1;\n\t\tuint8_t bit13 : 1;\n\t\tuint8_t bit14 : 1;\n\t\tuint8_t bit15
          : 1;\n\t\tuint8_t bit16 : 1;\n\t\tuint8_t bit17 : 1;\n\t\tuint8_t bit18
          : 1;\n\t\tuint8_t bit19 : 1;\n\t\tuint8_t bit20 : 1;\n\t\tuint8_t bit21
          : 1;\n\t\tuint8_t bit22 : 1;\n\t\tuint8_t bit23 : 1;\n\t\tuint8_t bit24
          : 1;\n\t\tuint8_t bit25 : 1;\n\t\tuint8_t bit26 : 1;\n\t\tuint8_t bit27
          : 1;\n\t\tuint8_t bit28 : 1;\n\t\tuint8_t bit29 : 1;\n\t\tuint8_t bit30
          : 1;\n\t\tuint8_t bit31 : 1;\n\t} __attribute__((packed))"
      item_type: union
      name: bitfield32_t
      pos:
        line_end: 96
        line_start: 60
        source_file: /src/libpldm/include/libpldm/pldm_types.h
    - fields:
      - name: value
        type: uint64_t
      - name: bits
        type: "struct bits64 {\n\t\tuint8_t bit0 : 1;\n\t\tuint8_t bit1 : 1;\n\t\tuint8_t
          bit2 : 1;\n\t\tuint8_t bit3 : 1;\n\t\tuint8_t bit4 : 1;\n\t\tuint8_t bit5
          : 1;\n\t\tuint8_t bit6 : 1;\n\t\tuint8_t bit7 : 1;\n\t\tuint8_t bit8 : 1;\n\t\tuint8_t
          bit9 : 1;\n\t\tuint8_t bit10 : 1;\n\t\tuint8_t bit11 : 1;\n\t\tuint8_t bit12
          : 1;\n\t\tuint8_t bit13 : 1;\n\t\tuint8_t bit14 : 1;\n\t\tuint8_t bit15
          : 1;\n\t\tuint8_t bit16 : 1;\n\t\tuint8_t bit17 : 1;\n\t\tuint8_t bit18
          : 1;\n\t\tuint8_t bit19 : 1;\n\t\tuint8_t bit20 : 1;\n\t\tuint8_t bit21
          : 1;\n\t\tuint8_t bit22 : 1;\n\t\tuint8_t bit23 : 1;\n\t\tuint8_t bit24
          : 1;\n\t\tuint8_t bit25 : 1;\n\t\tuint8_t bit26 : 1;\n\t\tuint8_t bit27
          : 1;\n\t\tuint8_t bit28 : 1;\n\t\tuint8_t bit29 : 1;\n\t\tuint8_t bit30
          : 1;\n\t\tuint8_t bit31 : 1;\n\t\tuint8_t bit32 : 1;\n\t\tuint8_t bit33
          : 1;\n\t\tuint8_t bit34 : 1;\n\t\tuint8_t bit35 : 1;\n\t\tuint8_t bit36
          : 1;\n\t\tuint8_t bit37 : 1;\n\t\tuint8_t bit38 : 1;\n\t\tuint8_t bit39
          : 1;\n\t\tuint8_t bit40 : 1;\n\t\tuint8_t bit41 : 1;\n\t\tuint8_t bit42
          : 1;\n\t\tuint8_t bit43 : 1;\n\t\tuint8_t bit44 : 1;\n\t\tuint8_t bit45
          : 1;\n\t\tuint8_t bit46 : 1;\n\t\tuint8_t bit47 : 1;\n\t\tuint8_t bit48
          : 1;\n\t\tuint8_t bit49 : 1;\n\t\tuint8_t bit50 : 1;\n\t\tuint8_t bit51
          : 1;\n\t\tuint8_t bit52 : 1;\n\t\tuint8_t bit53 : 1;\n\t\tuint8_t bit54
          : 1;\n\t\tuint8_t bit55 : 1;\n\t\tuint8_t bit56 : 1;\n\t\tuint8_t bit57
          : 1;\n\t\tuint8_t bit58 : 1;\n\t\tuint8_t bit59 : 1;\n\t\tuint8_t bit60
          : 1;\n\t\tuint8_t bit61 : 1;\n\t\tuint8_t bit62 : 1;\n\t\tuint8_t bit63
          : 1;\n\t} __attribute__((packed))"
      item_type: union
      name: bitfield64_t
      pos:
        line_end: 166
        line_start: 98
        source_file: /src/libpldm/include/libpldm/pldm_types.h
- function_names:
  - HTOLE32
  - HTOLE16
  - LE32TOH
  - LE16TOH
  - HTOLE32
  - HTOLE16
  - LE32TOH
  - LE16TOH
  source_file: /src/libpldm/include/libpldm/byteorder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/pdr.h
  types:
    enum:
    - enumerators:
      - name: PLDM_ENTITY_ASSOCIAION_PHYSICAL
        value: '0x0'
      - name: PLDM_ENTITY_ASSOCIAION_LOGICAL
        value: '0x1'
      item_type: enum
      name: entity_association_containment_type
      pos:
        line_end: 334
        line_start: 331
        source_file: /src/libpldm/include/libpldm/pdr.h
    preproc_defs: []
    structs:
    - fields:
      - name: entity_type
        type: uint16_t
      - name: entity_instance_num
        type: uint16_t
      - name: entity_container_id
        type: uint16_t
      item_type: struct
      name: pldm_entity
      pos:
        line_end: 329
        line_start: 325
        source_file: /src/libpldm/include/libpldm/pdr.h
    typedefs:
    - item_type: typedef
      name: pldm_pdr
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/libpldm/include/libpldm/pdr.h
      type: pldm_pdr
    - item_type: typedef
      name: pldm_pdr_record
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/libpldm/include/libpldm/pdr.h
      type: pldm_pdr_record
    - item_type: typedef
      name: pldm_entity_association_tree
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/libpldm/include/libpldm/pdr.h
      type: pldm_entity_association_tree
    - item_type: typedef
      name: pldm_entity_node
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/libpldm/include/libpldm/pdr.h
      type: pldm_entity_node
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/smbios.h
  types:
    enum:
    - enumerators:
      - name: PLDM_SMBIOS_CC_INVALID_DATA_TRANSFER_HANDLE
        value: '0x80'
      - name: PLDM_SMBIOS_CC_INVALID_TRANSFER_FLAG
        value: '0x82'
      - name: PLDM_SMBIOS_CC_NO_SMBIOS_STRUCTURE_TABLE_METADATA
        value: '0x83'
      - name: PLDM_SMBIOS_CC_INVALID_TRANSFER_OPERATION_FLAG
        value: '0x81'
      - name: PLDM_SMBIOS_CC_INVALID_DATA_INTEGRITY_CHECK
        value: '0x84'
      - name: PLDM_SMBIOS_CC_SMBIOS_STRUCTURE_TABLE_UNAVAILABLE
        value: '0x85'
      - name: PLDM_SMBIOS_CC_NO_SMBIOS_STRUCTURES
        value: '0x86'
      - name: PLDM_SMBIOS_CC_INVALID_SMBIOS_STRUCTURE_TYPE
        value: '0x87'
      - name: PLDM_SMBIOS_CC_INVALID_SMBIOS_STRUCTURE_HANDLE
        value: '0x88'
      - name: PLDM_SMBIOS_CC_INVALID_SMBIOS_STRUCTURE_INSTANCE_ID
        value: '0x89'
      item_type: enum
      name: pldm_smbios_completion_codes
      pos:
        line_end: 18
        line_start: 7
        source_file: /src/libpldm/include/libpldm/smbios.h
    - enumerators:
      - name: PLDM_SMBIOS_CMD_GET_SMBIOS_STRUCTURE_TABLE_METADATA
        value: '0x01'
      - name: PLDM_SMBIOS_CMD_GET_SMBIOS_STRUCTURE_BY_TYPE
        value: '0x05'
      - name: PLDM_SMBIOS_CMD_SET_SMBIOS_STRUCTURE_TABLE
        value: '0x04'
      - name: PLDM_SMBIOS_CMD_GET_SMBIOS_STRUCTURE_TABLE
        value: '0x03'
      - name: PLDM_SMBIOS_CMD_SET_SMBIOS_STRUCTURE_TABLE_METADATA
        value: '0x02'
      - name: PLDM_SMBIOS_CMD_GET_SMBIOS_STRUCTURE_BY_HANDLE
        value: '0x06'
      item_type: enum
      name: pldm_smbios_commands
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/libpldm/include/libpldm/smbios.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/firmware_fd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_ALIGNOF_PLDM_FD
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/libpldm/include/libpldm/firmware_fd.h
      type_or_value: '8'
    structs:
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: active_ver
        type: struct pldm_firmware_version
      - name: pending_ver
        type: struct pldm_firmware_version
      - name: comp_activation_methods
        type: bitfield16_t
      - name: capabilities_during_update
        type: bitfield32_t
      item_type: struct
      name: pldm_firmware_component_standalone
      pos:
        line_end: 30
        line_start: 20
        source_file: /src/libpldm/include/libpldm/firmware_fd.h
    - fields:
      - name: comp_classification
        type: uint16_t
      - name: comp_identifier
        type: uint16_t
      - name: comp_classification_index
        type: uint8_t
      - name: comp_comparison_stamp
        type: uint32_t
      - name: version
        type: struct pldm_firmware_string
      - name: comp_image_size
        type: uint32_t
      - name: update_option_flags
        type: bitfield32_t
      item_type: struct
      name: pldm_firmware_update_component
      pos:
        line_end: 47
        line_start: 36
        source_file: /src/libpldm/include/libpldm/firmware_fd.h
    - fields:
      - name: "(*device_identifiers)(\n\t\tvoid *ctx, uint8_t *ret_descriptors_count,\n\t\tconst
          struct pldm_descriptor **ret_descriptors)"
        type: int
      - name: "(*components)(\n\t\tvoid *ctx, uint16_t *ret_entry_count,\n\t\tconst
          struct pldm_firmware_component_standalone ***ret_entries)"
        type: int
      - name: "(*imageset_versions)(void *ctx,\n\t\t\t\t struct pldm_firmware_string
          *ret_active,\n\t\t\t\t struct pldm_firmware_string *ret_pending)"
        type: int
      - name: "(*update_component)(\n\t\tvoid *ctx, bool update,\n\t\tconst struct
          pldm_firmware_update_component *comp)"
        type: enum pldm_component_response_codes
      - name: (*transfer_size)(void *ctx, uint32_t ua_max_transfer_size)
        type: uint32_t
      - name: "(*firmware_data)(\n\t\tvoid *ctx, uint32_t offset, const uint8_t *data,
          uint32_t len,\n\t\tconst struct pldm_firmware_update_component *comp)"
        type: uint8_t
      - name: "(*verify)(void *ctx,\n\t\t\t  const struct pldm_firmware_update_component
          *comp,\n\t\t\t  bool *ret_pending, uint8_t *ret_progress_percent)"
        type: uint8_t
      - name: "(*apply)(void *ctx,\n\t\t\t const struct pldm_firmware_update_component
          *comp,\n\t\t\t bool *ret_pending, uint8_t *ret_progress_percent)"
        type: uint8_t
      - name: "(*activate)(void *ctx, bool self_contained,\n\t\t\t    uint16_t *ret_estimated_time)"
        type: uint8_t
      - name: "(*cancel_update_component)(\n\t\tvoid *ctx, const struct pldm_firmware_update_component
          *comp)"
        type: void
      - name: (*now)(void *ctx)
        type: uint64_t
      item_type: struct
      name: pldm_fd_ops
      pos:
        line_end: 232
        line_start: 61
        source_file: /src/libpldm/include/libpldm/firmware_fd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/fru.h
  types:
    enum:
    - enumerators:
      - name: PLDM_OEM_FRU_FIELD_TYPE_IANA
        value: '0x01'
      - name: PLDM_OEM_IBM_FRU_FIELD_TYPE_IANA
        value: '0x01'
      - name: PLDM_OEM_FRU_FIELD_TYPE_LOCATION_CODE
        value: '0xfe'
      - name: PLDM_OEM_FRU_FIELD_TYPE_PCIE_CONFIG_SPACE_DATA
        value: '0xfd'
      - name: PLDM_OEM_FRU_FIELD_TYPE_RT
        value: '0x02'
      - name: PLDM_OEM_IBM_FRU_FIELD_TYPE_RT
        value: '0x02'
      - name: PLDM_OEM_IBM_FRU_FIELD_TYPE_FIRMWARE_UAK
        value: '0xfc'
      - name: PLDM_OEM_IBM_FRU_FIELD_TYPE_PCIE_CONFIG_SPACE_DATA
        value: '0xfd'
      - name: PLDM_OEM_IBM_FRU_FIELD_TYPE_LOCATION_CODE
        value: '0xfe'
      item_type: enum
      name: pldm_oem_ibm_fru_field_type
      pos:
        line_end: 21
        line_start: 10
        source_file: /src/libpldm/include/libpldm/oem/ibm/fru.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
  types:
    enum:
    - enumerators:
      - name: PLDM_OEM_IBM_FIRMWARE_UPDATE_STATE
        value: '32768'
      - name: PLDM_OEM_IBM_SBE_MAINTENANCE_STATE
        value: '32772'
      - name: PLDM_OEM_IBM_BOOT_STATE
        value: '32769'
      - name: PLDM_OEM_IBM_SYSTEM_POWER_STATE
        value: '32771'
      - name: PLDM_OEM_IBM_VERIFICATION_STATE
        value: '32770'
      - name: PLDM_OEM_IBM_BOOT_SIDE_RENAME
        value: '32773'
      - name: PLDM_OEM_IBM_SBE_HRESET_STATE
        value: '32776'
      - name: PLDM_OEM_IBM_PANEL_TRIGGER_STATE
        value: '32778'
      - name: PLDM_OEM_IBM_PCIE_SLOT_EFFECTER_STATE
        value: '32779'
      - name: PLDM_OEM_IBM_PCIE_SLOT_SENSOR_STATE
        value: '32780'
      - name: PLDM_OEM_IBM_PCIE_TOPOLOGY_ACTIONS
        value: '32781'
      item_type: enum
      name: ibm_oem_pldm_state_set_ids
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: PLDM_OEM_IBM_PCIE_SLOT_EFFECTER_ADD
        value: '0x1'
      - name: PLDM_OEM_IBM_PCIE_SLOT_EFFECTER_REPLACE
        value: '0x3'
      - name: PLDM_OEM_IBM_PCIE_SLOT_EFFECTER_REMOVE
        value: '0x2'
      item_type: enum
      name: pldm_oem_ibm_pcie_slot_effecter_state
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: PLDM_OEM_IBM_PCIE_SLOT_SENSOR_STATE_UNKOWN
        value: '0x0'
      - name: PLDM_OEM_IBM_PCIE_SLOT_SENSOR_STATE_DISABLED
        value: '0x2'
      - name: PLDM_OEM_IBM_PCIE_SLOT_SENSOR_STATE_ENABLED
        value: '0x1'
      - name: PLDM_OEM_IBM_PCIE_SLOT_SENSOR_STATE_ERROR
        value: '0x3'
      item_type: enum
      name: pldm_oem_ibm_pcie_slot_sensor_state
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: START
        value: '0x1'
      - name: ACCEPT
        value: '0x5'
      - name: FAIL
        value: '0x3'
      - name: END
        value: '0x2'
      - name: ABORT
        value: '0x4'
      - name: REJECT
        value: '0x6'
      item_type: enum
      name: ibm_oem_pldm_state_set_firmware_update_state_values
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: P
        value: '0x1'
      - name: T
        value: '0x2'
      item_type: enum
      name: ibm_oem_pldm_state_set_boot_state_values
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: VALID
        value: '0x0'
      - name: MIN_MIF_FAIL
        value: '0x4'
      - name: BANNED_PLATFORM_FAIL
        value: '0x2'
      - name: ENTITLEMENT_FAIL
        value: '0x1'
      item_type: enum
      name: ibm_oem_pldm_state_set_verification_state_values
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: POWER_CYCLE_HARD
        value: '0x1'
      item_type: enum
      name: ibm_oem_pldm_state_set_system_power_state_values
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: SBE_DUMP_COMPLETED
        value: '0x1'
      - name: SBE_RETRY_REQUIRED
        value: '0x2'
      item_type: enum
      name: ibm_oem_pldm_state_set_sbe_dump_state_values
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: SBE_HRESET_NOT_READY
        value: '0x1'
      - name: SBE_HRESET_FAILED
        value: '0x3'
      - name: SBE_HRESET_READY
        value: '0x2'
      item_type: enum
      name: ibm_oem_pldm_state_set_sbe_hreset_state_values
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: PLDM_OEM_IBM_PCIE_TOPOLOGY_GET_PCIE_TOPOLOGY
        value: '0x1'
      - name: PLDM_OEM_IBM_PCIE_TOPOLOGY_SAVE_PCIE_TOPLOGY
        value: '0x3'
      - name: PLDM_OEM_IBM_PCIE_TOPOLOGY_GET_CABLE_INFO
        value: '0x2'
      item_type: enum
      name: pldm_oem_ibm_pcie_topology_actions
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    - enumerators:
      - name: PLDM_OEM_IBM_BOOT_SIDE_RENAME_STATE_NOT_RENAMED
        value: '0x1'
      - name: PLDM_OEM_IBM_BOOT_SIDE_RENAME_STATE_RENAMED
        value: '0x2'
      item_type: enum
      name: pldm_oem_ibm_boot_side_rename_state
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/libpldm/include/libpldm/oem/ibm/state_set.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
  types:
    enum:
    - enumerators:
      - name: PLDM_HOST_GET_ALERT_STATUS
        value: '0xf0'
      item_type: enum
      name: pldm_host_commands
      pos:
        line_end: 20
        line_start: 18
        source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
    - enumerators:
      - name: PLDM_HOST_UNSUPPORTED_FORMAT_VERSION
        value: '0x81'
      item_type: enum
      name: pldm_host_completion_codes
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_GET_ALERT_STATUS_REQ_BYTES
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_GET_ALERT_STATUS_RESP_BYTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
      type_or_value: '9'
    structs:
    - fields:
      - name: completion_code
        type: uint8_t
      - name: rack_entry
        type: uint32_t
      - name: pri_cec_node
        type: uint32_t
      item_type: struct
      name: pldm_get_alert_status_resp
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/libpldm/include/libpldm/oem/ibm/host.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/entity.h
  types:
    enum:
    - enumerators:
      - name: PLDM_OEM_IBM_ENTITY_TPM
        value: '24576'
      - name: PLDM_OEM_IBM_ENTITY_REAL_SAI
        value: '24581'
      - name: PLDM_OEM_IBM_ENTITY_FIRMWARE_UPDATE
        value: '24577'
      item_type: enum
      name: pldm_oem_ibm_entity_id_codes
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/libpldm/include/libpldm/oem/ibm/entity.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
  types:
    enum:
    - enumerators:
      - name: PLDM_GET_FILE_TABLE
        value: '0x1'
      - name: PLDM_READ_FILE
        value: '0x4'
      - name: PLDM_WRITE_FILE
        value: '0x5'
      - name: PLDM_READ_FILE_INTO_MEMORY
        value: '0x6'
      - name: PLDM_WRITE_FILE_FROM_MEMORY
        value: '0x7'
      - name: PLDM_READ_FILE_BY_TYPE_INTO_MEMORY
        value: '0x8'
      - name: PLDM_WRITE_FILE_BY_TYPE_FROM_MEMORY
        value: '0x9'
      - name: PLDM_NEW_FILE_AVAILABLE
        value: '0xa'
      - name: PLDM_READ_FILE_BY_TYPE
        value: '0xb'
      - name: PLDM_WRITE_FILE_BY_TYPE
        value: '0xc'
      - name: PLDM_NEW_FILE_AVAILABLE_WITH_META_DATA
        value: '0xe'
      - name: PLDM_FILE_ACK_WITH_META_DATA
        value: '0xf'
      - name: PLDM_FILE_ACK
        value: '0xd'
      item_type: enum
      name: pldm_fileio_commands
      pos:
        line_end: 28
        line_start: 14
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - enumerators:
      - name: PLDM_FILE_TABLE_UNAVAILABLE
        value: '0x83'
      - name: PLDM_INVALID_FILE_TABLE_TYPE
        value: '0x85'
      - name: PLDM_INVALID_FILE_TYPE
        value: '0x89'
      - name: PLDM_DATA_OUT_OF_RANGE
        value: '0x87'
      - name: PLDM_INVALID_FILE_HANDLE
        value: '0x86'
      - name: PLDM_ERROR_FILE_DISCARDED
        value: '0x8a'
      - name: PLDM_FULL_FILE_DISCARDED
        value: '0x8b'
      item_type: enum
      name: pldm_fileio_completion_codes
      pos:
        line_end: 40
        line_start: 32
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - enumerators:
      - name: PLDM_FILE_ATTRIBUTE_TABLE
        value: '0'
      - name: PLDM_OEM_FILE_ATTRIBUTE_TABLE
        value: '1'
      item_type: enum
      name: pldm_fileio_table_type
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - enumerators:
      - name: PLDM_FILE_TYPE_LID_PERM
        value: '0x1'
      - name: PLDM_FILE_TYPE_SIGNED_CERT
        value: '0x5'
      - name: PLDM_FILE_TYPE_RESOURCE_DUMP
        value: '0x9'
      - name: PLDM_FILE_TYPE_COD_LICENSE_KEY
        value: '0xd'
      - name: PLDM_FILE_TYPE_HOSTBOOT_DUMP
        value: '0x11'
      - name: PLDM_FILE_TYPE_CABLE_INFO
        value: '0x15'
      - name: PLDM_FILE_TYPE_USER_PASSWORD_CHANGE
        value: '0x19'
      - name: PLDM_FILE_TYPE_CERT_SIGNING_REQUEST
        value: '0x4'
      - name: PLDM_FILE_TYPE_RESOURCE_DUMP_PARMS
        value: '0x8'
      - name: PLDM_FILE_TYPE_DEVICE_DUMP
        value: '0xc'
      - name: PLDM_FILE_TYPE_SBE_DUMP
        value: '0x10'
      - name: PLDM_FILE_TYPE_PCIE_TOPOLOGY
        value: '0x14'
      - name: PLDM_FILE_TYPE_USER_PASSWORD_AUTHENTICATION
        value: '0x18'
      - name: PLDM_FILE_TYPE_PEL
        value: '0x0'
      - name: PLDM_FILE_TYPE_DUMP
        value: '0x3'
      - name: PLDM_FILE_TYPE_LID_MARKER
        value: '0x7'
      - name: PLDM_FILE_TYPE_BMC_DUMP
        value: '0xf'
      - name: PLDM_FILE_TYPE_ADJUNCT_DUMP
        value: '0xb'
      - name: PLDM_FILE_TYPE_LID_RUNNING
        value: '0x13'
      - name: PLDM_FILE_TYPE_CHAP_DATA
        value: '0x17'
      - name: PLDM_FILE_TYPE_LID_TEMP
        value: '0x2'
      - name: PLDM_FILE_TYPE_ROOT_CERT
        value: '0x6'
      - name: PLDM_FILE_TYPE_HARDWARE_DUMP
        value: '0x12'
      - name: PLDM_FILE_TYPE_PROGRESS_SRC
        value: '0xa'
      - name: PLDM_FILE_TYPE_COD_LICENSED_RESOURCES
        value: '0xe'
      - name: PLDM_FILE_TYPE_PSPD_VPD_PDD_KEYWORD
        value: '0x16'
      item_type: enum
      name: pldm_fileio_file_type
      pos:
        line_end: 78
        line_start: 51
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_RW_FILE_MEM_REQ_BYTES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '20'
    - item_type: preproc_def
      name: PLDM_RW_FILE_MEM_RESP_BYTES
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_GET_FILE_TABLE_REQ_BYTES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_GET_FILE_TABLE_MIN_RESP_BYTES
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PLDM_READ_FILE_REQ_BYTES
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PLDM_READ_FILE_RESP_BYTES
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_WRITE_FILE_REQ_BYTES
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PLDM_WRITE_FILE_RESP_BYTES
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_RW_FILE_BY_TYPE_MEM_REQ_BYTES
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '22'
    - item_type: preproc_def
      name: PLDM_RW_FILE_BY_TYPE_MEM_RESP_BYTES
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_NEW_FILE_REQ_BYTES
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PLDM_NEW_FILE_RESP_BYTES
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_RW_FILE_BY_TYPE_REQ_BYTES
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PLDM_RW_FILE_BY_TYPE_RESP_BYTES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PLDM_FILE_ACK_REQ_BYTES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PLDM_FILE_ACK_RESP_BYTES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_FILE_ACK_WITH_META_DATA_REQ_BYTES
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PLDM_FILE_ACK_WITH_META_DATA_RESP_BYTES
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PLDM_NEW_FILE_AVAILABLE_WITH_META_DATA_REQ_BYTES
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '30'
    - item_type: preproc_def
      name: PLDM_NEW_FILE_AVAILABLE_WITH_META_DATA_RESP_BYTES
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
      type_or_value: '1'
    structs:
    - fields:
      - name: file_handle
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      - name: address
        type: uint64_t
      item_type: struct
      name: pldm_read_write_file_memory_req
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_read_write_file_memory_resp
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: transfer_handle
        type: uint32_t
      - name: operation_flag
        type: uint8_t
      - name: table_type
        type: uint8_t
      item_type: struct
      name: pldm_get_file_table_req
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: next_transfer_handle
        type: uint32_t
      - name: transfer_flag
        type: uint8_t
      - name: table_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_get_file_table_resp
      pos:
        line_end: 205
        line_start: 200
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_handle
        type: uint32_t
      - name: file_name_length
        type: uint16_t
      - name: file_attr_table_nst[1]
        type: uint8_t
      item_type: struct
      name: pldm_file_attr_table_entry
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_handle
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_read_file_req
      pos:
        line_end: 288
        line_start: 284
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: length
        type: uint32_t
      - name: file_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_read_file_resp
      pos:
        line_end: 298
        line_start: 294
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_handle
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      - name: file_data[1]
        type: uint8_t
      item_type: struct
      name: pldm_write_file_req
      pos:
        line_end: 309
        line_start: 304
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_write_file_resp
      pos:
        line_end: 318
        line_start: 315
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      - name: address
        type: uint64_t
      item_type: struct
      name: pldm_read_write_file_by_type_memory_req
      pos:
        line_end: 448
        line_start: 442
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_read_write_file_by_type_memory_resp
      pos:
        line_end: 458
        line_start: 455
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: length
        type: uint64_t
      item_type: struct
      name: pldm_new_file_req
      pos:
        line_end: 535
        line_start: 531
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_new_file_resp
      pos:
        line_end: 543
        line_start: 541
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: offset
        type: uint32_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_read_write_file_by_type_req
      pos:
        line_end: 602
        line_start: 597
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_read_write_file_by_type_resp
      pos:
        line_end: 612
        line_start: 609
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: file_status
        type: uint8_t
      item_type: struct
      name: pldm_file_ack_req
      pos:
        line_end: 686
        line_start: 682
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_file_ack_resp
      pos:
        line_end: 694
        line_start: 692
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: file_status
        type: uint8_t
      - name: file_meta_data_1
        type: uint32_t
      - name: file_meta_data_2
        type: uint32_t
      - name: file_meta_data_3
        type: uint32_t
      - name: file_meta_data_4
        type: uint32_t
      item_type: struct
      name: pldm_file_ack_with_meta_data_req
      pos:
        line_end: 757
        line_start: 749
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_file_ack_with_meta_data_resp
      pos:
        line_end: 765
        line_start: 763
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: file_type
        type: uint16_t
      - name: file_handle
        type: uint32_t
      - name: length
        type: uint64_t
      - name: file_meta_data_1
        type: uint32_t
      - name: file_meta_data_2
        type: uint32_t
      - name: file_meta_data_3
        type: uint32_t
      - name: file_meta_data_4
        type: uint32_t
      item_type: struct
      name: pldm_new_file_with_metadata_req
      pos:
        line_end: 842
        line_start: 834
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    - fields:
      - name: completion_code
        type: uint8_t
      item_type: struct
      name: pldm_new_file_with_metadata_resp
      pos:
        line_end: 850
        line_start: 848
        source_file: /src/libpldm/include/libpldm/oem/ibm/file_io.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/ibm/platform.h
  types:
    enum:
    - enumerators:
      - name: PLDM_EVENT_TYPE_OEM_EVENT_BIOS_ATTRIBUTE_UPDATE
        value: '0xf0'
      item_type: enum
      name: pldm_event_types_ibm_oem
      pos:
        line_end: 14
        line_start: 12
        source_file: /src/libpldm/include/libpldm/oem/ibm/platform.h
    preproc_defs: []
    structs:
    - fields:
      - name: format_version
        type: uint8_t
      - name: tid
        type: uint8_t
      - name: event_class
        type: uint8_t
      - name: num_handles
        type: uint8_t
      - name: bios_attribute_handles[1]
        type: uint8_t
      item_type: struct
      name: pldm_bios_attribute_update_event_req
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/libpldm/include/libpldm/oem/ibm/platform.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
  types:
    enum:
    - enumerators:
      - name: PLDM_OEM_META_FILE_IO_CMD_WRITE_FILE
        value: '0x2'
      - name: PLDM_OEM_META_FILE_IO_CMD_READ_FILE
        value: '0x3'
      item_type: enum
      name: pldm_oem_meta_file_io_commands
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    - enumerators:
      - name: PLDM_OEM_META_FILE_IO_READ_ATTR
        value: '0x00'
      - name: PLDM_OEM_META_FILE_IO_READ_DATA
        value: '0x01'
      item_type: enum
      name: pldm_oem_meta_file_io_read_option
      pos:
        line_end: 29
        line_start: 24
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    preproc_defs:
    - item_type: preproc_def
      name: PLDM_OEM_META_FILE_IO_WRITE_REQ_MIN_LENGTH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
      type_or_value: 5u
    - item_type: preproc_def
      name: PLDM_OEM_META_FILE_IO_READ_DATA_INFO_LENGTH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
      type_or_value: 3u
    - item_type: preproc_def
      name: PLDM_OEM_META_FILE_IO_READ_ATTR_INFO_LENGTH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
      type_or_value: 6u
    - item_type: preproc_def
      name: PLDM_OEM_META_FILE_IO_READ_REQ_MIN_LENGTH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
      type_or_value: 3u
    - item_type: preproc_def
      name: PLDM_OEM_META_FILE_IO_READ_RESP_MIN_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
      type_or_value: 4u
    structs:
    - fields:
      - name: handle
        type: uint8_t
      - name: length
        type: uint32_t
      item_type: struct
      name: pldm_oem_meta_file_io_write_req
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    - fields:
      - name: transferFlag
        type: uint8_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: pldm_oem_meta_file_io_read_data_info
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    - fields:
      - name: size
        type: uint16_t
      - name: crc32
        type: uint32_t
      item_type: struct
      name: pldm_oem_meta_file_io_read_attr_info
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    - fields:
      - name: version
        type: size_t
      - name: handle
        type: uint8_t
      - name: option
        type: uint8_t
      - name: length
        type: uint8_t
      - name: info
        type: "union {\n\t\tstruct pldm_oem_meta_file_io_read_data_info data;\n\t}"
      item_type: struct
      name: pldm_oem_meta_file_io_read_req
      pos:
        line_end: 72
        line_start: 64
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    - fields:
      - name: version
        type: size_t
      - name: completion_code
        type: uint8_t
      - name: handle
        type: uint8_t
      - name: option
        type: uint8_t
      - name: length
        type: uint8_t
      - name: info
        type: "union {\n\t\tstruct pldm_oem_meta_file_io_read_attr_info attr;\n\t\tstruct
          pldm_oem_meta_file_io_read_data_info data;\n\t}"
      item_type: struct
      name: pldm_oem_meta_file_io_read_resp
      pos:
        line_end: 92
        line_start: 79
        source_file: /src/libpldm/include/libpldm/oem/meta/file_io.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/transport/af-mctp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpldm/include/libpldm/transport/mctp-demux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
